http構建於tcp/ip協議之上,預設埠號是80
http是無連線無狀態的
http 協議是一種以ascii
碼傳輸,建立在tcp/ip協議之上的應用層規範。
規範把 http 請求分為三個部分:狀態行、請求頭、訊息主體。
http定義了與伺服器互動的不同方法,最基本的方法有4種,分別是get
,post
,put
,delete
。
url全稱是資源描述符
我們可以這樣認為:乙個url位址,它用於描述乙個網路上的資源,而http中的get
,post
,put
,delete
就對應著對這個資源的查,增,改,刪4個操作。
get一般用於獲取/查詢資源資訊,而post一般用於更新資源資訊。
1、get
一般用於獲取/查詢資源資訊,而且應該是安全和冪等的
2、post
一般用於更新資源資訊,表示可能修改伺服器上的資源的請求
http 響應與 http 請求相似,http響應也由3個部分構成,分別是:
狀態行由協議版本、數字形式的狀態**、及相應的狀態描述,各元素之間以空格分隔
http 條件get
是 http 協議為了減少不必要的頻寬浪費,提出的一種方案。
1、 http 條件get
使用的時機?
客戶端之前已經訪問過某**,並打算再次訪問該**。
2、 http 條件get
使用的方法?
客戶端向伺服器傳送乙個包詢問是否在上一次訪問**的時間後是否更改了頁面,如果伺服器沒有更新,顯然不需要把整個網頁傳給客戶端,客戶端只要使用本地快取即可,如果伺服器對照客戶端給出的時間已經更新了客戶端請求的網頁,則傳送這個更新了的網頁給使用者。
http持久連線(http persistent connection,也稱作http keep-alive)
是使用同乙個tcp連線來傳送和接收多個http請求/應答,而不是為每乙個新的請求/應答開啟新的連線的方法。
我們知道通常的http協議都採用常規的「請求——應答」模式,對於一般的請求,其對於每乙個使用者並沒有不同,也就是說並沒有連線狀態。
但當使用持久連線模式時,keep-alive功能使客戶端到伺服器端的連線持續有效,當出現對伺服器的後繼請求時,keep-alive功能避免了建立或者重新建立連線。
優勢:
劣勢:
在使用持久連線的情況下,某個連線上訊息的傳遞類似於請求1 -> 響應1 -> 請求2 -> 響應2 -> 請求3 -> 響應3。
http pipelining(管線化)是將多個 http 請求整批提交的技術,在傳送過程中不需等待服務端的回應。
使用 http pipelining 技術之後,某個連線上的訊息變成了類似這樣請求1 -> 請求2 -> 請求3 -> 響應1 -> 響應2 -> 響應3。
**http中get與post的區別
計算機網路 HTTP協議
url urlencode和urldecode http協議格式 http請求 http響應 http的方法方法 說明支援的http協議版本 get獲取資源 1.0,1.1 post 傳輸實體主體 1.0,1.1 put傳輸檔案 1.0,1.1 head 獲得報文首部 1.0,1.1 delete ...
計算機網路 HTTP
引子 前兩天看了 http 和 計算機網路 的第5章 運輸層 為了準確無誤地將資料送達目標處,tcp協議採用了 三次握手 three way handshaking 策略。三次握手 three way handshake 或三次聯絡。廣為流傳的譯名 三次 three way 並不準確。這裡的三次是指...
計算機網路 http
http,超文字傳輸協議hypertext transfer protocol。基於tcp,無狀態。http預設使用持續連線,但是也可以配置為使用非持續連線。持續連線就是指傳送請求,接收響應後,並不直接關閉tcp連線,再有下個http請求,還用這個tcp連線傳送 非持續連線就是傳送請求,接收響應後,...