1. 程式人生 > >http的一些原理

http的一些原理

資料鏈路層從網路層獲得資料包,然後將這些資料包封裝成幀(frame)以便傳輸。每個幀包含一個幀頭、一個有效載荷以及一個幀尾。

http(超文字傳輸協議)
http是一個簡單的請求-響應協議,執行在TCP之上,是一個應用層協議。請求和響應的頭以ASCII碼的形式給出;訊息的內容則具有一個類似MIME的格式。

http協議本身是無連線的,雖然http使用TCP連線,單通訊的雙方在交換http報文前不需要建立連線

http支援方法
GET:讀取一個Web頁面
HEAD:讀取一個Web頁面的頭
POST:附加一個Web頁面
PUT:儲存一個Web頁面
DELETE:刪除一個Web頁面
TRACE:迴應一個入境請求
CONNECT:通過代理連線
OPTIONS:一個頁面的查詢選項


GET方法請求伺服器傳送頁面,該頁面被適當編碼成MIME。多媒體檔案格式,但它把資料直接顯示在 位址列中,字元超長就會被擷取,不支援ASCII之外的任何字元。


HEAD方法只請求訊息頭,不需要真正的頁面。這個方法可以蒐集索引所需要的資訊,或者測試下URL的有效性


POST方法也攜帶一個URL,並上傳資料到伺服器,資料長度不受限制

其餘的方法對於瀏覽web不常用,略



每個請求都會得到一個響應,每個響應訊息由一個狀態行及可能的附加資訊(web頁面)組成。狀態行包括一個3位數字的狀態碼,該狀態碼指明瞭這個請求是否被滿足。
如:1**,2**,3**,4**,5**
200:成功
304:快取的頁面仍然有效
404;客戶端錯誤,頁面沒有找到
500;伺服器內部錯誤,503:稍後再試


訊息頭
請求行後面可能還有額外的行,其中包含了更多的資訊。它們同稱請求頭(request header)響應訊息也有響應頭