WEB 請求過程

2021-10-08 14:48:31 字數 1645 閱讀 7965

1:http請求和建立乙個socket其實沒有太大的區別,只不過outputstream.write的位元組碼寫的資料格式,要符合http,瀏覽器在建立socket連線之前,要通過dns解析出ip位址,在通過這個ip位址和預設的埠80,與原創伺服器建立socket連線。瀏覽器根據這個url組裝成乙個get型別的http請求頭。通過outputsream.write傳送。遠端伺服器,通過inputstram.read讀取,伺服器等到返回結果,最後斷開連線。

httpclient 是乙個很好的開源的傳送http的工具包,linux下就是 crul   + url    就可以傳送乙個請求了。

dns網域名稱解析過程:

1:首先瀏覽器會在快取找有沒有對應網域名稱解析過的ip,如果快取中有,那麼這個過程就結束。瀏覽器快取也是有限制的,瀏覽器快取大小和瀏覽器快取時間限制

2:上一步,沒有找到,會到作業系統的快取找,看有沒有這個網域名稱對應的dns解析結果。也可以在 linux上 /etc/hosts 和windows 上c:\windows\system32\drivers\etc\hosts  配置要解析網域名稱對應的ip。當解析到配置檔案中某乙個網域名稱的時候,作業系統會快取這個解析的結果,當然了也是受快取大小和網域名稱失效時間限制的。

linux 檢視:cat /etc/resolv.conf

本地區的網域名稱伺服器就是:本地網際網路接入的乙個dns解析服務,例如:如果是是學校接入的網路,那麼這個dns伺服器就在學校附近,如果是接入的小區網路,那一般是電信,聯通,也就是spa,這個dns伺服器就會在我們城市的某乙個角落裡。這個快取的解析結果,受到網域名稱失效時間限制,一般不會受空間大小的現在。基本上大部分的網域名稱解析在這裡完成。

4:如果本地去網域名稱伺服器,依然沒有命中的話,那麼就會去root server 網域名稱伺服器去解析。

7:接受請求的gtld server 會去找對應的name server 就是註冊這個網域名稱名的**商。

8:name server 網域名稱伺服器,會去找對應網域名稱對應的ip,找到對應對映的值後,返回結果和ttl值,傳送給dns server 網域名稱伺服器

9:根據返回的網域名稱對應的ip和ttl,local dns server 會快取這個值的。

10:解析的結果返回給使用者,本地快取就會快取這個值,時間就是有ttl來控制了

這個只是簡單的描述一下網域名稱解析的過程,當然了,實際情況,會比這個更加複雜。

1:訪問靜態檔案,傳送請求,local dns 解析,最終到這個網域名稱註冊的伺服器解析。

2:dns伺服器通常會把它canme 解析到另乙個網域名稱,而這個網域名稱最終會被指向cdn全域性種的dns負載均衡伺服器

3:在由gtm分配這個使用者,離得最近的cdn節點。

上述講解後,要說一下負載均衡:有三種

1:鏈路負載均衡

2:集群負載均衡

3:作業系統負載均衡

鏈路負載均衡,就是上面講解的dns解析,這個解析可以控制,解析到不同的應用伺服器上,這個有乙個很明顯的缺點,就是一旦某乙個服務端掛了,那麼這個對應ip對應的網域名稱就不能訪問了,然後快取的網域名稱沒有得到及時的更新的話,就會導致一直用不了服務。

集群負載均衡,分為硬體集群和軟體集群,硬體集群,一般用一台專門的硬體裝置**請求。軟體集群的話,成本低,但是會增加網路延時,一般**忽略它吧。

Web請求過程

當使用者在瀏覽器中輸入乙個url 如www.baidu.com 進行網頁瀏覽時,將會發生一系列的操作。大致流程如下 1 網域名稱解析 當使用者輸入網域名稱後,需要將網域名稱轉換成正確的ip位址,才能夠訪問web伺服器。首先會查詢本地網域名稱hosts檔案,若存在對應網域名稱的ip位址,就直接使用。若...

WEB請求過程

一 乙個例子 當使用者在瀏覽器中輸入www.com這個url時,首先,dns會把這個網域名稱解析成ip位址,然後根據這個ip找到對應的伺服器,並發起乙個get請求,對於伺服器端而言,可能會有負載均衡裝置來平均分配使用者請求,而請求的資料可能在分布式快取裡,靜態檔案中,或是資料庫中,當資料返回給瀏覽器...

web請求過程

b s兩方面好處 客戶端使用統一的瀏覽器 browser 瀏覽器統一性,遮蔽了不同伺服器提供商提供服務的差異性。並且,瀏覽器互動特性使瀏覽器使用方便,且使用者行為的可繼承性非常強。服務端 server 基於統一的http協議。簡化服務提供商開發模式,規範伺服器開發者上午開發模式。http協議採用無狀...