HTTP原理

http圖

什麼是HTTP(超文本傳輸協議)? 就是兩臺計算機用來通信的一種文本語言。

其中一臺計算機提供服務的,我們叫服務器, 通常會安裝一種或多種WEB服務器軟件, 常見的WEB服務器軟件, 有apache, nginx, lighttpd;

另一臺計算機訪問服務的,叫客戶端, 通常是瀏覽器, 常見的瀏覽器有 chrome, firefox, IE, safair;

它們之間的通信是非常簡單的, 客戶端總是發起一個請求, 而服務器端總是響應一個請求

所有的通信總是由一個請求開始的, 這個請求的主體是一種文本消息, 這個文本消息是由客戶端(也就是瀏覽器)創建, 並且這個文本消息有固定的格式。 創建好之後由客戶端發送, 並且等待服務器的響應.

這個文本消息的格式一般像下面這樣:

GET / HTTP/1.1
Host: xkcd.com
Accept: text/html
User-Agent: Mozilla/5.0 (Macintosh)

一旦服務器接收到這個請求之後, 經過一些處理之後, 服務器就會發送一段文本消息給客戶端, 這個動作稱之爲響應.

這段響應的文本消息的格式一般如下:

HTTP/1.1 200 OK
Date: Sat, 02 Apr 2011 21:05:05 GMT
Server: lighttpd/1.4.19
Content-Type: text/html

<html>
  <!-- ... HTML for the xkcd comic -->
</html>

總而言之, 一個HTTP通信總是伴隨着“請求”和“響應”。而瀏覽器和服務器的核心工作也就是做這兩件事情

可以使用firefox或者chrome的debug工具抓取http包, 觀察它的格式, 一般瀏覽器的快捷鍵爲 F12

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章