1. www.example.com的IP是什么會通過DNS服務(wù)器來解析并回傳給瀏覽器令哟,如:98.184.216.34。
2. 向98.184.216.34用80端口建立TCP連接請求输硝,服務(wù)器將返回給瀏覽器TCP連接建立成功的信息开瞭。
3. HTTP請求录煤,從服務(wù)器例把www.example.com的頁面?zhèn)鹘o瀏覽器捞稿,HTTP響應(yīng)給瀏覽器一個頁面身冀。瀏覽器渲染并展示HTML钝尸。
HTTP請求以及HTTP響應(yīng)報文的格式
http://www.example.com/這個地址我們稱之為URL.由以下幾部分組成:
http:稱之為協(xié)議又叫schema。瀏覽器默認(rèn)為http協(xié)議搂根。
www.example.com:稱之為域名,應(yīng)該后面加一個端口號铃辖,但是可以省略剩愧。因為默認(rèn)為80端口。如果寫上的話就是www.example.com:80娇斩。
/:表示是服務(wù)端分路徑下的一個資源
GET / HTTP/1.1 ? ?是請求行
GET是一個請求方法仁卷。包括GET,POST,PUT,HEAD,OPTIONS,DEKETE,TRACE
/:表示資源路徑(URI)
HTTP/1.1 :表示協(xié)議版本號?
最后以/r ,/n結(jié)尾
請求頭:
Host:www.example.com ?主機名犬第,虛擬主機
Connection:keep-alive ?是HTTP/1.1增加的锦积,使用keepalive,一個連接可以發(fā)多個請求歉嗓。
User-Agent:Mozilla/5.0(Macintosh:Intel Mac OS X 10_11_1) AppleWebKit/537.36 like Gecko)Chrome/46.0.2490.80 Safari/537.36 ? ?:請求發(fā)出者丰介,兼容性以及定制化需求。比如說手機和PC端返回的頁面應(yīng)該是不一樣的鉴分。
HTTP響應(yīng)
HTTP/1.1 200 OK ?\r\n ?
HTTP/1.1是一個協(xié)議版本哮幢,200 是一個狀態(tài)碼,OK是原因志珍,一般2打頭的都是ok的橙垢。304 Not Modified. 3打頭的都是與緩存相關(guān)的。 404 Not Found伦糯。 500 Internal Serve Error柜某,5打頭的,服務(wù)器端出錯敛纲。
響應(yīng)頭:
Server:ECS(iad/182A) web服務(wù)器
Content-Type:text/html ? ?內(nèi)容類型喂击,HTML,音頻载慈,視頻等
Content-Length:1270 ? ?內(nèi)容長度
響應(yīng)頭與響應(yīng)體用一個空行分開惭等,不加的話就無法分別響應(yīng)頭與響應(yīng)體。
響應(yīng)體可以是二進(jìn)制或文本办铡,與響應(yīng)頭通過空行分割辞做;長度一般由Content-Length頭指定。