與服務器創建socket鏈接
- 瀏覽器從地址欄獲取用戶輸入的網址和端口,去鏈接遠程服務器
生成請求數據並經過socket發出去
- 讓服務器知道你的意圖,是獲取內容仍是發送內容.
- 告訴服務端想要哪一個內容
HTTP的工做原理
- 一、用戶經過瀏覽器進行一個操做,好比輸入一個網址,而後請求.
- 二、瀏覽器向服務端發送TCP鏈接請求
- 三、服務端接受請求,並通過三次握手創建鏈接
- 四、瀏覽器將請求數據打成一個HTTP協議格式的數據包.
- 五、瀏覽器將數據包發送到網絡上,通過網絡傳輸,最終到達服務端.
- 六、服務端拿到者數據包後,一樣以HTTP協議格式解包,獲取客戶端的意圖.
- 七、得知客戶端意圖後進行處理,好比提供靜態文件或者調用服務端程序得到動態結果.
- 八、服務端響應結果安裝HTTP協議格式進行打包.
- 九、服務器將數據包推入網絡,數據包通過網絡傳輸最終到達瀏覽器.
- 十、瀏覽器拿到數據包後,以HTTP協議的格式進行解包,而後解析數據.
- 十一、瀏覽器將HTML數據展現在瀏覽器上.
HTTP請求響應實例
例如用戶登錄,輸入用戶名和密碼,瀏覽器發出這樣的請求:瀏覽器
HTTP請求數據是由三部分組成,分別是:請求行、請求報頭、請求正文,HTTP請求到達Tomcat後,Tomcat會將請求數據字節流解析成Request對象,這個Request對象封裝了