HTTP協定是超文本傳輸協定,主要用於從伺服器端傳輸超文本到本機瀏覽器的傳送協定。它由請求行,請求頭,空行以及請求資料四部分構成
HTTP的請求封包分為四個部分分別是請求行、請求頭和空行,請求資料。接下來將在文章中具體介紹這四部分,具有一定的參考價值,希望對大家有幫助。
【推薦課程:HTTP課程】
HTTP簡介
HTTP協定是Hyper Text Transfer Protocol(超文本傳輸協定)的縮寫,是用於從萬維網伺服器傳輸超文本到本機瀏覽器的傳送協定。
它是一個基於TCP/IP通訊協定來傳遞資料
HTTP工作原理
(1)HTTP是無連線的:沒有連線指的是限制每次連線只處理一個請求。即伺服器處理完用戶的請求,並收到用戶的應答後,即斷開連線。這樣可以節省傳輸了時間。
(2)HTTP是媒體獨立的:說明只要客戶端和伺服器知道如何處理資料內容,任何類型的資料都可以透過HTTP發送。客戶端以及伺服器指定使用適合的MIME-type內容類型。
(3)HTTP是無狀態:HTTP協定是無狀態協定。無狀態協議指的是對於事務處理沒有記憶能力。如果後面的處理需要前面的訊息,則必須要重傳,這就導致了每次連接傳送的資料量增加。但也有一個好處就是在伺服器不需要先前的資訊時它的應答就比較快
HTTP組成
請求行:
請求行有三個部分組成分別是請求方法欄位、URL欄位和HTTP協定版本組成,它們用空格分隔。例如
GET /index.html HTTP/1.1
請求法中共定義了8種方法分別是:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE,但是最常用的方法是GET方法和POST方法,因為目前大多數瀏覽器只支援GET和POST方法
請求頭:
請求頭是由關鍵字/值對組成,每行一對,關鍵字和值用英文冒號“:”分隔。請求頭部通知伺服器有關於客戶端請求的資訊。
典型的請求頭有:
User-Agent:產生請求的瀏覽器類型
Accept:客戶端可識別的內容類型列表
Host:要求的主機名,允許多個網域同處一個IP位址,也就是虛擬主機。
例:
Host: localhost
空行
最後一個請求頭之後是一個空行,發送回車符和換行符,通知伺服器以下不再有請求頭
請求資料
請求資料不在GET方法中使用,而是在POST方法中使用。 POST方法適用於需要客戶填寫表單的場合。
與請求資料相關的最常使用的請求頭是Content-Type和Content-Length。
範例:
Content-Type: application/json;charset=utf-8
總結:以上就是本篇文章的全部內容了,希望對大家學習http有所幫助
以上是HTTP協定詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!