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 |