HTTP協定:
HTTP協定是基于TCP/IP協定之上的協定,是Web浏覽器和Web伺服器之間的應用層協定,是通用的、無狀态的、面向對象的協定。HTTP消息頭又可分為通用資訊頭、請求頭、響應頭、實體頭和擴充頭類。
浏覽器:
浏覽器基于用戶端(web浏覽區)和服務端(web伺服器)的計算機模型,兩者之間采用超文本傳送協定(HTTP)進行通信,
HTTP協定的作用原理是括四個步驟:連接配接,請求,應答,關閉。
步驟1:浏覽器連接配接服務端
步驟2:請求:發送請求消息頭和請求的資料體。
2.1浏覽器通過socket向服務端發送請求。請求一般是GET或POST指令(POST用于FORM參數的傳遞)。GET指令的格式為:
GET
路徑/檔案名 HTTP/1.0 如:GET/myweb/demo.html HTTP/1.0
2.2浏覽器發送的資料還包括請求消息頭:請求消息頭主要用于用戶端在請求消息中向服務端傳遞附加資訊。主要包括:用戶端可以接受的資料類型,壓縮方法,語言以及發送請求的超連結所屬網頁的URL位址等資訊。
/*
請求消息頭
GET/myweb/demo.html HTTP/1.0:請求行。
Accept:text/html,image/* 用于指定用戶端希望接收哪些類型的資訊;
Accept-Charset 用于指定用戶端接收的字元集;
Accept-Encoding 指定可接收的内容編碼,如gzip, deflate,先壓縮,提高傳輸效率;
Accept-Language 用于指定用戶端的語言;
Authorization 用于證明用戶端有權限通路某個資源;
Host Internet要通路的伺服器的主機和端口号,發送請求時必須指定該請求
User-Agent 允許用戶端将自己的作業系統、浏覽器等資訊告訴給伺服器,該請求不是必需的。
Range 用于指定傳回請求内容的部分内容;
Referer 用戶端向伺服器發送該請求所屬的網頁的URL位址;
空格行————————-————————
要加一個空格,用于将請求消息頭和請求的資料體。
*/
步驟3:應答:發送應答消息頭和資料主體。
Web浏覽器送出請求後,通過HTTP協定傳送給Web伺服器。 發送給用戶端應答消息頭。
應答消息頭:http協定,Location,Server(如阿帕奇,last_modify(上次被修改的),ContentType等。
總結:連接配接,請求,應答。伺服器傳回浏覽器的資訊,沒有消息頭是因為浏覽器在應用層,應用層使用http協定,該協定将消息頭給解析了。
隻顯示使用者可以看的資訊,我們的軟體在傳輸層。