# HTML、HTML5 & XHTML
HTML是代碼標(biāo)記語言,網(wǎng)頁的骨架
HTML5是HTML語言的標(biāo)準(zhǔn)
XHTML是HTML和XML雜交的一種代碼標(biāo)記語言
# Web Server & Web Services?
Web Server:1. 根據(jù)url返回對應(yīng)的html代碼 2. Ajax返回的數(shù)據(jù) 3. 應(yīng)用軟件與服務(wù)器的交互
【注意】客戶端與服務(wù)器交互的主體气堕、客體介时、載體有很多
- 服務(wù)器:大型機(jī)/個(gè)人電腦薪缆,能提供服務(wù)即可
- 客戶端:軟件(手機(jī)(移動(dòng)端)厢汹、平板(web端)处硬、智能設(shè)備(涩搓?脖阵?))
- 載體:html皂股、服務(wù)器上的文件、經(jīng)過一定邏輯處理后生成的字符串或其他封裝好的數(shù)據(jù)命黔。
Web Service:服務(wù)器和客戶端(包括傳統(tǒng)的客戶端呜呐,以及為程序員設(shè)計(jì)二次開發(fā)的API)通過網(wǎng)絡(luò)進(jìn)行交互的形式,協(xié)議+格式的交流體系
? ? - 遵循的協(xié)議(HTML/XHTML)
? ? - 數(shù)據(jù)封裝格式(HTML/XML)
Web Server提供Web Service悍募,以及 緩存蘑辑,平衡負(fù)載
常見開源 Web Server:Apache、Nginx坠宴,也可自己定制
# 服務(wù)器腳本
服務(wù)器操作本地文件/數(shù)據(jù)庫的代碼(Web Service傳輸?shù)臄?shù)據(jù))
# 網(wǎng)站訪問的過程
1. 用戶操作瀏覽器訪問洋魂,瀏覽器向服務(wù)器發(fā)送HTTP請求
2. 服務(wù)器接收到 HTTP 請求,Web Server 進(jìn)行相應(yīng)的初步處理喜鼓,使用服務(wù)器腳本生成頁面副砍;
3. 服務(wù)器腳本(利用Web Framework)調(diào)用本地和客戶端傳來的數(shù)據(jù),生成頁面庄岖;
4. Web Server 將生成的頁面作為 HTTP 響應(yīng)的 body址晕,根據(jù)不同的處理結(jié)果生成 HTTP header,發(fā)回給客戶端顿锰;
5. 客戶端(瀏覽器)接收到 HTTP 響應(yīng),通常第一個(gè)請求得到的 HTTP 響應(yīng)的 body 里是 HTML 代碼启搂,于是對 HTML 代碼開始解析硼控;
6. 解析過程中遇到引用的服務(wù)器上的資源(額外的 CSS、JS代碼胳赌,圖片牢撼、音視頻,附件等)疑苫,再向 Web Server 發(fā)送請求熏版,Web Server 找到對應(yīng)的文件,發(fā)送回來捍掺;
7. 瀏覽器解析 HTML 包含的內(nèi)容撼短,用得到的 CSS 代碼進(jìn)行外觀上的進(jìn)一步渲染,JS 代碼也可能會(huì)對外觀進(jìn)行一定的處理挺勿;
8. 用戶與頁面交互(點(diǎn)擊曲横,懸停等等)時(shí),JS 代碼對此作出一定的反應(yīng),添加特效與動(dòng)畫禾嫉;
9. 交互的過程中可能需要向服務(wù)器索取或提交額外的數(shù)據(jù)(局部的刷新灾杰,類似微博的新消息通知),一般不是跳轉(zhuǎn)就是通過 JS 代碼(響應(yīng)某個(gè)動(dòng)作或者定時(shí))向 Web Server 發(fā)送請求熙参,Web Server 再用服務(wù)器腳本進(jìn)行處理(生成資源or寫入數(shù)據(jù)之類的)艳吠,把資源返回給客戶端,客戶端用得到的資源來實(shí)現(xiàn)動(dòng)態(tài)效果或其他改變孽椰。