1、域名解析
域名解析的過程:
1).查詢?yōu)g覽器自身DNS緩存
2).若上面沒有查找到,則搜索操作系統(tǒng)自身的dns緩存
3).若上面沒有找到,則嘗試讀取hosts文件
4).若上面沒有找到,向本地配置的首選DNS服務器,電信供應商發(fā)送請求,
5)路由器緩存
6)域名服務器查找對應IP
若以上多沒有找到,解析失敗
2、TCP三次握手

3、瀏覽器向服務器發(fā)送http請求
一旦建立了TCP連接,Web瀏覽器就會向Web服務器發(fā)送請求命令。例如:GET/sample/hello.jsp HTTP/1.1。
4、瀏覽器發(fā)送請求頭信息
瀏覽器發(fā)送其請求命令之后,還要以頭信息的形式向Web服務器發(fā)送一些別的信息,之后瀏覽器發(fā)送了一空白行來通知服務器,它已經結束了該頭信息的發(fā)送。
5、服務器處理請求
服務器軟件收到http請求,確定執(zhí)行什么(ASP.net PHP RUBY JAVA等)來處理他。讀取參數(shù)并進行邏輯操作后,生成指定的數(shù)據(jù)。
6、服務器做出應答
客戶機向服務器發(fā)出請求后,服務器會客戶機回送應答,HTTP/1.1 200 OK ,應答的第一部分是協(xié)議的版本號和應答狀態(tài)嗎
7、服務器發(fā)送應答頭信息
正如客戶端會隨同請求發(fā)送關于自身的信息一樣,服務器也會隨同應答向用戶發(fā)送關于它自己的數(shù)據(jù)及被請求的文檔。
8、服務器發(fā)送數(shù)據(jù)
Web服務器向瀏覽器發(fā)送頭信息后,它會發(fā)送一個空白行來表示頭信息的發(fā)送到此為結束,接著,它就以Content-Type應答頭信息所描述的格式發(fā)送用戶所請求的實際數(shù)據(jù)。
9、tcp連接關閉
一般情況下,一旦Web服務器向瀏覽器發(fā)送了請求數(shù)據(jù),它就要關閉TCP連接,然后如果瀏覽器或者服務器在其頭信息加入了這行代碼:
Connection:keep-alive
TCP連接在發(fā)送后將仍然保持打開狀態(tài),于是,瀏覽器可以繼續(xù)通過相同的連接發(fā)送請求。保持連接節(jié)省了為每個請求建立新連接所需的時間,還節(jié)約了網絡帶寬