客戶機與伺服器建立連線後,傳送乙個請求給伺服器,請求格式為:統一資源識別符號、協議版本號。伺服器收到請求的資訊(包括請求行,請求頭,請求體)。伺服器接收到請求後,給予相應的響應資訊,格式為乙個狀態行(包括響應行,響應頭,響應體)。
在internet上,http通訊通常發生在tcp/ip連線之上。預設埠是tcp的80埠。
基於http協議的客戶/伺服器模式的資訊交換過程,分為四個過程:建立連線、傳送請求資訊、傳送響應資訊、關閉連線。
伺服器可能同時接受多個請求,這時就會產生多個sessoin,每個session分別處理各自的請求。
http的工作過程
一次http操作稱為乙個事務,其工作整個過程如下:
1)、位址解析
如用客戶端瀏覽器請求這個頁面:
從中分解出協議名、主機名、埠、物件路徑等部分,對於我們的這個位址,解析得到的結果如下:
協議名:http
主機名:localhost.com
埠:8080
物件路徑:/index.html
在這一步,需要網域名稱系統dns解析網域名稱localhost.com,得主機的ip位址。
2)、封裝http請求資料報
把以上部分結合本機自己的資訊,封裝成乙個http請求資料報
3)封裝成tcp包,建立tcp連線(tcp的三次握手)
在http工作開始之前,客戶機(web瀏覽器)首先要通過網路與伺服器建立連線,該連線是通過tcp來完成的,該協議與ip協議共同構建internet,即著名的tcp/ip協議族,因此internet又被稱作是tcp/ip網路。http是比tcp更高層次的應用層協議,根據規則,只有低層協議建立之後才能,才能進行更層協議的連線,因此,首先要建立tcp連線,一般tcp連線的埠號是80。這裡是8080埠
4)客戶機傳送請求命令
建立連線後,客戶機傳送乙個請求給伺服器,請求方式的格式為:統一資源識別符號(url)、協議版本號,後邊是mime資訊包括請求修飾符、客戶機資訊和可內容。
5)伺服器響應
伺服器接到請求後,給予相應的響應資訊,其格式為乙個狀態行,包括資訊的協議版本號、乙個成功或錯誤的**,後邊是mime資訊包括伺服器資訊、實體資訊和可能的內容。
實體訊息是伺服器向瀏覽器傳送頭資訊後,它會傳送乙個空白行來表示頭資訊的傳送到此為結束,接著,它就以content-type應答頭資訊所描述的格式傳送使用者所請求的實際資料
6)伺服器關閉tcp連線
一般情況下,一旦web伺服器向瀏覽器傳送了請求資料,它就要關閉tcp連線,然後如果瀏覽器或者伺服器在其頭資訊加入了這行**
connection:keep-alive
tcp連線在傳送後將仍然保持開啟狀態,於是,瀏覽器可以繼續通過相同的連線傳送請求。保持連線節省了為每個請求建立新連線所需的時間,還節約了網路頻寬。
伺服器將響應資訊傳給客戶端,響應體中的內容可能是乙個html頁面,也可能是一張,通過輸入流將其讀出,並寫回到顯示器上。
HTTP的工作原理
在該系統的編碼完成後,首先想到的就是發布了這在之前的部落格 win8 下iis 的安裝和 的發布 中已經提到過 其次想到的就是如何訪問 通過瀏覽器訪問全球資訊網伺服器 它,這就是今天部落格將要寫到的內容。一 什麼是http協議 正如水面航行我們用的是船,鐵路跑運輸的是列車,我們看不到列車在水中游同時...
Http工作原理
http1.1 與 http1.0向後相容,執行1.1版本的web伺服器可以與執行1.0版本的瀏覽器 對話 執行1.1版本的瀏覽器也可以與執行1.0版本的web伺服器對話。http和tcp的關係 雖然http1.1和http1.0協議本身沒有規定支援其傳輸的底層協議是哪種協議,但通常情況下都是架構在...
http工作原理
客戶機與伺服器建立連線後,傳送乙個請求給伺服器,請求格式為 統一資源識別符號 協議版本號。伺服器收到請求的資訊 包括請求行,請求頭,請求體 伺服器接收到請求後,給予相應的響應資訊,格式為乙個狀態行 包括響應行,響應頭,響應體 在internet上,http通訊通常發生在tcp ip連線之上。預設埠是...