一、Web及網(wǎng)絡(luò)基礎(chǔ)
1.通常使用的網(wǎng)絡(luò)(包括互聯(lián)網(wǎng))是在TCP/IP協(xié)議族的基礎(chǔ)上運行的。而HTTP屬于它內(nèi)部的一個子集。
2.TCP/IP協(xié)議族按層次分為以下4層:
(1)應(yīng)用層:預(yù)置了各類通用的應(yīng)用服務(wù)。比如FTP、DNS以及HTTP。
(2)傳輸層:提供處于網(wǎng)絡(luò)連接中的兩臺計算機之間的數(shù)據(jù)傳輸。有兩種協(xié)議:TCP、UDP。
(3)網(wǎng)絡(luò)層:處理網(wǎng)絡(luò)上流動的數(shù)據(jù)包。其作用就是在眾多選項內(nèi)選擇一條傳輸線路。
(4)鏈路層:處理網(wǎng)絡(luò)的硬件部分。包括操作系統(tǒng)、設(shè)備驅(qū)動(網(wǎng)絡(luò)適配器、網(wǎng)卡)以及光纖等。
3.IP 地址指明了節(jié)點被分配到的地址,MAC地址是指網(wǎng)卡所屬的固定地址。IP間的通信依賴MAC地址。
4.TCP三次握手策略(以后補充)
發(fā)送端首先發(fā)送一個帶 SYN 標(biāo)志的數(shù)據(jù)包給對方。接收端收到后,
回傳一個帶有 SYN/ACK 標(biāo)志的數(shù)據(jù)包以示傳達確認(rèn)信息。最后,發(fā)
送端再回傳一個帶 ACK 標(biāo)志的數(shù)據(jù)包,代表“握手”結(jié)束。
5.TCP協(xié)議還有將數(shù)據(jù)分割成報文段以及重組報文段的功能。
6.DNS(域名 《==》 ip地址) ARP (ip地址 《==》 MAC地址).
- URI(Uniform Resource Identifier)統(tǒng)一資源標(biāo)識符
URL(UniformResource Locator)統(tǒng)一資源定位符
URI 用字符串標(biāo)識某一互聯(lián)網(wǎng)資源,而 URL 表示資源的地點(互聯(lián)
網(wǎng)上所處的位置)。可見 URL 是 URI 的子集。
二、簡單的http協(xié)議
1.HTTP是一種不保存狀態(tài),即無狀態(tài)的協(xié)議。HTTP協(xié)議自身不對請求和響應(yīng)之間的通信狀態(tài)進行保存。
2.告知服務(wù)器意圖的http方法
(1)get:請求訪問已被URI識別的資源。
(2)post:傳輸實體主體。
(3)put:傳輸文件(存在安全問題,一般不使用)。
(4)head:獲取報文首部。
(5)delete:刪除文件(一般不使用)
(6)options:詢問支持的方法。
(7)trace:讓web服務(wù)器將之前的請求通信環(huán)回給客戶端(顯示請求走過的路徑)。
(8)connect:隧道代理。
3.keep-alive(長連接):只要任意一段沒有明確提出斷開連接,則保持TCP協(xié)議。
三、HTTP報文內(nèi)的HTTP信息
1.HTTP報文大致可分為報文首部和報文主體兩塊。通常并不一定要有報文主體。

2.報文實體作為請求或相應(yīng)的有效載荷數(shù)據(jù)(補充項)被傳輸,其內(nèi)容由實體首部和實體主體組成。
htt報文的主體用于傳輸請求或響應(yīng)的實體主體。
通常,報文主體等于實體主體。只有當(dāng)傳輸中進行編碼操作時,才會產(chǎn)生差異。
四、返回結(jié)果的HTTP狀態(tài)
1.狀態(tài)碼類別
(1)1xx Infomation(信息性狀態(tài)碼):接收的請求正在處理
(2)2xx Success(成功狀態(tài)碼):請求正常處理完畢
(3)3xx Redirection(重定向狀態(tài)碼):需要進行附加操作以完成請求
(4)4xx Client Error(客戶端錯誤狀態(tài)碼):服務(wù)器無法處理請求
(5)5xx Server Error(服務(wù)器錯誤狀態(tài)碼):服務(wù)器處理請求出錯
2.常見狀態(tài)碼
200 OK 請求正常處理
204 No Content 請求處理成功,但沒有資源返回
206 Partial Content 客戶端進行了范圍請求,而服務(wù)請成功執(zhí)行了這部分的GET請求
301 Moved Permanently 永久重定向。表示請求的資源已被分配了新的URI,以后應(yīng)使用資源現(xiàn)在所指的URI
302 Found 臨時性重定向
400 Bad Request 請求報文中存在語法錯誤
401 Unauthorized 發(fā)送的請求需要有通過HTTP認(rèn)證
403 Forbidden 對請求資源的訪問被服務(wù)器拒絕了
404 Not Found 服務(wù)器無法找到請求的資源
500 Internal Server Error 服務(wù)器在執(zhí)行請求時發(fā)生了錯誤
503 Service Unavailable 服務(wù)器暫時處于超負(fù)載或正在進行停機維護,現(xiàn)在無法處理請求
五、HTTP首部
1.Http協(xié)議的請求和響應(yīng)報文中必定含有HTTP首部。首部內(nèi)容為客戶端和服務(wù)器分別處理情前求和響應(yīng)提供所需要的信息。
2.在請求中,http報文由方法、uri、http版本、http首部字段等部分構(gòu)成。
3.在響應(yīng)中,http報文由http版本、狀態(tài)碼、http首部3部分組成
4.請求url一般在通用首部中。
5.請求報文首部:請求行、請求首部字段、通用首部字段、實體首部字段、其他。
6.響應(yīng)報文首部:狀態(tài)行、響應(yīng)首部字段、通用首部字段、實體首部字段、其他。
1.一個http請求在整個網(wǎng)絡(luò)中的請求過程
當(dāng)我們在瀏覽器地址欄輸入www.baidu.com后,就會發(fā)起一個http請求,
(1)應(yīng)用層的DNS服務(wù)會把域名轉(zhuǎn)換為ip地址。
(2)傳輸層決定用哪種傳輸方式,是tcp還是udp。
(3)網(wǎng)絡(luò)層報文首部會加上ip,決定這條請求該走哪條線路,ip表示網(wǎng)卡在網(wǎng)絡(luò)中的通訊地址。
(4)數(shù)據(jù)鏈路層加上mac頭,決定最終發(fā)送的網(wǎng)卡mac地址。
(5)物理層將數(shù)據(jù)轉(zhuǎn)換為比特流。
(6)服務(wù)器再按照從底層到頂層一層層封裝回去。