天天看點

黑馬程式員-浏覽器原理

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協定,該協定将消息頭給解析了。

隻顯示使用者可以看的資訊,我們的軟體在傳輸層。