從零實現http (1)以oop的方式實現http

2021-10-24 09:39:23 字數 3892 閱讀 4081

一、http報文結構:

二、具體實現

;//建立、繫結、監聽埠

;//執行緒函式,http解析函式

//listen第二個引數為連線請求佇列長度,5代表最多同時接受5個連線請求

;}//返回的報文整體內容

//該http請求方法

string url;

//請求url

string version;

//http版本,實現的是http1.1

//將出現的所有分隔符都替換成為乙個相同的字元(分隔符字串的第乙個)

//去除val前可能存在的空格

if(lines[i]

[pos+1]

==' '

)else

// cout

insert

(pair

(key,val));

}}

總結筆記Http 1

1.建立在tcp上的無狀態連線 2.客戶端發請求,服務端響應客戶端.整個過程叫 事務 事務結束,服務端會新增一條日誌 http請求 1.狀態行 請求方式method 資源路徑url 協議版本version 2.請求頭 訪問的網域名稱 使用者 cookie等資訊等 3.請求正文 http請求的資料。h...

http1 和 http2 的區別

網路延遲問題主要由於隊頭阻塞 head of line blocking 導致頻寬無法被充分利用。隊頭阻塞是指當順序傳送的請求序列中的乙個請求因為某種原因被阻塞時,在後面排隊的所有請求也一併被阻塞,會導致客戶端遲遲收不到資料。由於報文header一般會攜帶 user agent cookie acc...

HTTP1和HTTP2的區別

缺陷 執行緒阻塞,在同一時間,同一網域名稱的請求有一定數量限制,超過限制數目的請求會被阻塞。2.http1.0 短連線 缺陷 瀏覽器與伺服器只保持短暫的連線,瀏覽器的每次請求都需要與伺服器建立乙個tcp連線 tcp連線的新建成本很高,因為需要客戶端和伺服器三次握手 伺服器完成請求處理後立即斷開tcp...