1. 程式人生 > >500VIP原始碼出售前後端均適用的網路知識點

500VIP原始碼出售前後端均適用的網路知識點

http 響應常見狀態碼
100-199 : 表示成功接收請求, 要求客戶端繼續提交下一次請求才能完成整個處理過程
500VIP原始碼出售bbs.yasewl.com
200-299: 表示成果接收請求並已完成整個處理過程. 常用 200
300-399: 為完成請求, 客戶需進一步細化需求: 例如: 請求的資源已經移動一個新地址, 常用 302(重定向), 307 和 304(拿快取)
400-499: 客戶端的請求有錯誤, 包含語法錯誤或者不能正確執行. 常用 404(請求的資源在 web 伺服器中沒有) 403(伺服器拒絕訪問, 許可權不夠)
500-599: 伺服器端出現錯誤
常用:
200 正常,表示一切正常, 返回的是正常請求結果
302/307 臨時重定向,指出請求的文件已被臨時移動到別處, 此文件的新的 url 在 location 響應頭中給出
304 未修改,表示客戶機快取的版本是最新的, 客戶機應該繼續使用它
403 禁止,伺服器理解客戶端請求, 但拒絕處理它, 通常用於伺服器上檔案或目錄的許可權設定所致
404 找不到,伺服器上不存在客戶機所請求的資源
500 伺服器內部錯誤,伺服器端的 cgi, asp, jsp 等程式發生錯誤
簡述 http 1.1 與 http 1.0 的區別
http 1.0 對於每個連線都得建立一次連線, 一次只能傳送一個請求和響應, 請求就會關閉, http1.0 沒有 Host 欄位
而 http1.1 在同一個連線中可以傳送多個請求和響應, 多個請求可以重疊和同時進行, http1.1 必須有 host 欄位
http1.1 中引入了 ETag 頭, 它的值 entity tag 可以用來唯一的描述一個資源. 請求訊息中可以使用 If-None-Match 頭域來匹配資源的 entitytag 是否有變化
http1.1 新增了 Cache-Control 頭域(訊息請求和響應請求都可以使用), 它支援一個可擴充套件的指令子集
http1.0 中只定義了 16 個狀態響應碼, 對錯誤或警告的提示不夠具體. http1.1 引入了一個 Warning 頭域, 增加對錯誤或警告資訊的描述. 且新增了 24 個狀態響應碼
說一下 TCP 三次握手和四次揮手
建立 TCP 連線需要三次握手:三次握手: 首先 Client 端傳送連線請求報文,Server 段接受連線後回覆 ACK 報文,併為這次連線分配資源。Client 端接收到 ACK 報文後也向 Server 段發生 ACK 報文,並分配資源,這樣 TCP 連線就建立了。
第一步: 客戶機的 TCP 先向伺服器的 TCP 傳送一個連線請求報文. 這個特殊的報文中不含應用層資料, 其首部中的 SYN 標誌位被置 1. 另外, 客戶機會隨機選擇一個起始序號 seq=x(連線請求報文不攜帶資料,但要消耗掉一個序號)
第二步: 伺服器端的 TCP 收到連線請求報文後, 若同意建立連線, 就向客戶機發送請求, 併為該 TCP 連線分配 TCP 快取和變數. 在確認報文中,SYN 和 ACK 位都被置為 1, 確認號欄位的值為 x+1, 並且伺服器隨機產生起始序號 seq=y(確認報文不攜帶資料, 但也要消耗掉一個序號). 確認報文同樣不包含應用層資料.
第三步: 當客戶機收到確認報文後, 還要向伺服器給出確認, 並且也要給該連線分配快取和變數. 這個報文的 ACK 標誌位被置為 1, 序號欄位為 x+1, 確認號欄位為 y+1
四次揮手
第一步: 客戶機打算關閉連線,就向其 TCP 傳送一個連線釋放報文,並停止再發送資料,主動關閉 TCP 連線, 該報文的 FIN 標誌位被置 1, seq=u, 它等於前面已經傳送過的資料的最後一個位元組的序號加 1(FIN 報文即使不攜帶資料,也要消耗掉一個序號)
第二步: 伺服器接收連線釋放報文後即發出確認, 確認號是 ack=u+1, 這個報文自己的序號是 v, 等於它前面已傳送過的資料的最後一個自己的序號加 1. 此時, 從客戶機到伺服器這個方向的連線就釋放了, TCP 連線處於半關閉狀態. 但伺服器若傳送資料, 客戶機仍要接收, 即從伺服器到客戶機的連線仍未關閉.
第三步: 若伺服器已經沒有了要向客戶機發送的資料, 就通知 TCP 釋放連線, 此時其發出 FIN=1 的連線釋放報文
第四步: 客戶機收到連線釋放報文後, 必須發出確認. 在確認報文中, ACK 欄位被置為 1, 確認號 ack=w+1, 序號 seq=u+1. 此時, TCP 連線還沒有釋放掉, 必須經過等待計時器設定的時間 2MSL 後, A 才進入到連線關閉狀態.