TCP的其他機制
TCP頭部標志位
- ? ? ?SYN:請求建立連接標志位
- ? ? ?ACK:響應報文標志位
- ? ? ?PSH:攜帶數據標志位,通知接收方該從緩沖區讀數據
- ? ? ?FIN: 請求斷開連接標志位
- ? ? ?RST:復位標志位
- ? ? ?URG: 緊急數據標志位
機制
安全可靠
????????1. 三次握手和四次揮手機制
????????2. 應答機制:TCP對于每一包數據都會給出相應的應答。發送數據時序列號表示這包數據的起始編號,響應報文中的確認號是接收方收到的最后一個字節編號+1。
????????3. 超時重傳機制:當數據發送出去等待指定時間沒有收到響應,此時認為這包數據丟失則進行沖傳。
????????4. 滑動窗口機制:一段緩沖區,緩存TCP已發送未收到響應,準備發送等數據
提高效率
?????????1. 延遲應答機制:發送數據的同時可以等待應答
?????????2. 流量控制機制:結合TCP頭部的窗口大小,動態調整發送速率。
?????????3. 捎帶應答機制:ACK報文可能和應用層的數據同時發送
HTTP協議????????
? ? ? ? HTTP協議是基于萬維網來使用的網絡協議;
WWW:萬維網(世界范圍內的廣域網)
1. 萬維網服務器后臺如何標記萬維網數據 ? ?
????????url : 統一資源定位符,格式如下:
舉個例子:
在這個url里,端口和路徑忽略(主頁:在主機后面直接加 ‘/’ )
2. 萬維網客戶端與萬維網服務器之前使用什么方式通信
????????HTTP:超文本傳輸協議(應用層協議)
????????標準端口:80
????????備用端口:8080
? ? ? ? 需要配合基于傳輸層的TCP協議進行使用
3. 萬維網客戶端如何展示請求的數據 ?
????????HTML:超文本標記語言
HTTP通信過程
- 1. 請求建立TCP連接
- 2. 發送HTTP請求報文
- 3. 接收HTTP響應報文
- 4. 斷開連接
HTTP報文格式
請求報文
HTTP請求報文(舉例www.new.sohu.com):
GET / HTTP/1.1\r\n
Host: news.sohu.com\r\n
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/113.0\r\n
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8\r\n
Accept-Language: en-US,en;q=0.5\r\n
Connection: keep-alive\r\n
\r\n
Connection: keep-alive ? ? ? ? ---->長連接:連接保持一定時間
Connection: close ? ? ? ? ? ? ?------>短連接:連接立馬斷開
獲取請求報文的方式
WINDOWS
????????點擊開發人員工具——>網絡——>刷新網頁——>點擊要查詢的url——>點擊標頭——>請求標頭(原始)
ubuntu
? ? ? ? 使用工具wireshark(sudo wireshark)——>any——>點擊TCP端口80的篩選條件——>刷新網頁——>找到使用網絡協議HTTP且顯示200ok的——>右鍵找到follow——>HTTP stream
響應報文
舉例(www.news.sohu)
HTTP響應報文:
HTTP/1.1 200 OK\r\n
Date: Mon, 25 Aug 2025 06:14:56 GMT\r\n
Content-Type: text/html;charset=utf-8\r\n
Server: openresty\r\n
Vary: Accept-Encoding\r\n
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Trace-Id: 15e6e7862abd49fdb1c327a6dbeb200d.10490.17561024969448219
Data-Source:?
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
S-REQ-ID: 17348448226369344247
S-REQ-TYPE: 0
X-Cache-Lookup: Cache Miss
Content-Encoding: gzip
Cache-Control: no-cache\r\n
Transfer-Encoding: chunked\r\n
X-NWS-LOG-UUID: 17348448226369344247\r\n
Connection: keep-alive\r\n
X-Cache-Lookup: Cache Miss\r\n
\r\n
<!DOCTYPE html><html><head><script>if(window&&window.performance&&typeof window.performance.now==='function'){!window.MptcfePerf?window.MptcfePerf={headst:+new Date()}:window.MptcfePerf.headst=+new Date()}</script><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta http-equiv=x-dns-prefetch-control content=on><meta name