一、http協議實戰
1.url(uniform resource located)
(1)使用fftp的url,例如:
(2)使用http的url,例如:
2.http工作原理
(1)瀏覽器分析超i鏈結中的url
(3)dns將解析出的ip位址返回瀏覽器
(4)瀏覽器與伺服器建立tcp連線(80埠)
(5)瀏覽器請求文件:get/index.html
(6)伺服器給出響應,將文件index.html傳送給瀏覽器
(7)釋放tcp連線
(8)瀏覽器顯示index.html中的內容
3.持久連線和非持久連線
4.無狀態性
是指同乙個客戶端(瀏覽器)第二次訪問同乙個web服務,伺服器無法知道這個客戶端曾經訪問過。http的無狀態性簡化了伺服器的設計,使其更容易支援大量併發的http請求。
5.http報文結構:(1)請求報文;(2)返回報文;(3)請求報文的方法;(4)響應報文中的狀態碼;(5)首部欄位或訊息頭;(6)報文結構例項。
6.請求報文:即從客戶端(瀏覽器)向web伺服器傳送的請求報文,報文的所有欄位都是ascii碼
方法 url 版本 crlf
首部欄位名 值 crlf
首部欄位名 值 crlf
首部欄位名 值 crlfsho
crlf
實體主體(entity body)
}第一行是請求行,例如:get/index.html/1.1
首部行:用來說明瀏覽器、伺服器或報文主體的一些資訊/
如:host:www.sxtyu.com
connection:close
user:agent:mozilla/5.0
accept-language:cn
7.接收報文
版本 狀態碼 短語 crlf
首部欄位名 值 crlf
首部欄位名 值 crlf
首部欄位名 值 crlfs
crlf
實體主體(entity body)
第一行是狀態行,如:http/1.1 200 ok
首部行:用來說明瀏覽器、伺服器胡總和報文主體的一些資訊。如:
date :wed 08 may 2008 22
sever:apach/1.3.2(unix)
content0length:
datedadat4096
content-type:text/html
7.請求報頭的方法
方法是對所有請求物件所進行的操作,也就是一些命令,請求報文中的操作有:
get 請求讀取乙個web頁面 head 請求讀取乙個web頁面的首部
post 附加乙個命名資源(如web頁面)
put 請求儲存乙個web頁面
delete 刪除web頁面
trace 用於測試,要求伺服器送**到的請求
connect 用於**伺服器
option 查詢特定選
8.響應報文中狀態碼
1xx 含義:通知資訊;例如:100=伺服器正在處理客戶請求
2xx 含義:成功;例如:200=請求成功(ok)
3xx 含義:重定向;例如:301=頁面改變了位置
4xx 含義:客戶錯誤;例如:403=禁止的頁面;404=頁面未找到
5xx 含義:伺服器錯誤;例如:500=伺服器內部錯誤;503=以後再試
具體各個狀態碼的含義,請參考w3c的http1.1標準規範rfc2616
HTTP協議簡介
現在web發展如火如荼,web開發人員也越來越多,但有幾個對支援web的http協議有了解呢?底層協議基礎不紮實,高層應用是很難做到極致的。帶著好奇心,開始學習吧!http hypertext transfer protocol 即超文字傳輸協議,是瀏覽器和伺服器之間互相通訊的一種約定,通過網際網路...
HTTP協議 簡介
全稱為超文字傳輸協議 hypertext transfer protocol 設計之初是為了將超文字標記語言 html 文件從web伺服器傳送到客戶端的瀏覽器。現在http的作用已不侷限於html的傳輸。url url示例 解釋 scheme 指定低層使用的協議 例如 http,https,ftp ...
http協議簡介
摘要 本文 go web程式設計 一書,覺得說的比較好,特轉過來收藏。我們平時瀏覽網頁的時候,會開啟瀏覽器,輸入 後按下回車鍵,然後就會顯示出你想要瀏覽的內容。在這個看似簡單的使用者行為背後,到底隱藏了些什麼呢?對於普通的上網過程,系統其實是這樣做的 瀏覽器本身是乙個客戶端,當你輸入url的時候,首...