標籤:

HTTP: Connection

HTTP 協議是以 ASCII 碼傳輸,建立在 TCP/IP 協議之上的應用層協議。

HTTP返回碼。比如206應用:客戶端通過並發的請求相同資源的不同片段,來實現對某個資源的並發分塊下載。從而達到快速下載的目的

HTTP請求報文結構,響應報文結構

常見方法及其功能

GET:請求資源

POST:創建資源或者更新資源

PUT:修改資源

DELETE:刪除資源

POST 提交數據方式常見的四種方式,最常見Content-Type: application/x-www-form-urlencoded;charset=utf-8

網路通信的第一步是建立連接,正如同文件IO的第一步是打開文件。

Connection的作用之一是管理持久連接

HTTP協議採用「請求-應答」模式,當使用普通模式,即非KeepAlive模式時,每個請求/應答客戶和伺服器都要新建一個連接,完成之後立即斷開連接(HTTP協議為無連接的協議);當使用Keep-Alive模式(又稱持久連接、連接重用)時,Keep-Alive功能使客戶端到伺服器端的連接持續有效,當出現對伺服器的後繼請求時,Keep-Alive功能避免了建立或者重新建立連接。

關於持久連接的其他參數Keep-Alive: timeout=5, max=100(在伺服器配置文件中配置)

timeout:過期時間5秒(Apache伺服器配置文件httpd.conf里的參數是:KeepAliveTimeout),max是最多一百次請求,強制斷掉連接。

就是在timeout時間內又有新的請求過來,同時max會自動減1,直到為0,強制斷掉。

The client cannot specify the timeout, it is the server configuration that determines the maximum timeout value. The extra Keep-Alive header can inform the client how long the server is willing to keep the connection open (timeout=N value) and how many requests you can do over the same connection (max=M) before the server will force a close of the connection.

客戶端不能設置連接超時時間,但可以設置建立連接的超時時間獲取請求資源的超時時間


推薦閱讀:

基於傳輸層TCP、UDP協議的自定義應用層協議如何實現?
免費 https 證書(Lets Encrypt)申請與配置
用 http 數據加密和 https 有什麼區別?
共用的抽象模型(客戶及伺服器端)- (編集/反編集)過程

TAG:HTTP |