1. 程式人生 > >深入分析java web技術內幕第一章筆記

深入分析java web技術內幕第一章筆記

一、b/s架構的好處

b/s架構基於統一的http協議進行前後臺的資料互動。

http採用無狀態的短連線的通訊方式,一次請求完成一次資料互動。之後就斷開了。採用這種方式可以使得伺服器服務更多的使用者。

二、瀏覽器發起一個請求(瀏覽器回車後具體發生了什麼)

1.瀏覽器輸入url(唯一標識網路伺服器資源),回車

2.瀏覽器傳送http請求,(http協議是tcp/ip的連線方式)

3.進行域名(url)dns解析、將對應的域名解析為ip.

4.與目標伺服器進行socket連線。一個socket含有源ip,埠,目標ip,埠,經過路由物流鏈路連線目標伺服器

5.到達目標伺服器,伺服器端可能會有負載均衡裝置來平均分配所有的使用者請求。在請求到達伺服器後,會經過一些複雜的業務邏輯來處理使用者請求。請求的資料可能在三個地方:


分散式快取系統,檔案系統或者資料庫中。從其中取出資料返回給瀏覽器。

6.瀏覽器收到伺服器的返回資料進行解析,發現有一部分靜態資源(css,js,img)的情況,再次傳送請求去獲取這些靜態資源。這些靜態資源很有可能是在CDN上,如果在的話CDN伺服器會再次處理使用者的請求。分配到最近的一個儲存靜態資源的cdn節點。

7.最終在瀏覽器端看到完整的網頁。

三、http解析

一般瀏覽器f12可以檢視一次請求的具體資訊


除錯頁面的過程中常會發現瀏覽器有快取,一般這時按ctrl+f5解決(但是個人感覺很多時間根本還是有快取)。ctrl+f5時會在請求頭部加pragma:no-cache,Cache_Control:no-cache

四,cdn工作機制

工作機制

CDN即內容分發網路。通過現有的Internet中增加一層新的網路架構,將網站的內容釋出到最接近使用者的網路邊緣,使使用者可以就近取得所需要的內容,提高使用者網站的響應速度。

負載均衡

對工作任務進行平衡、分攤到多個操作單元上去,共同完成任務。

三種架構:

1.鏈路負載均衡

由DNS解析來完成負載均衡,使用者直接訪問目標伺服器,而不需要經過其他的代理伺服器,通常訪問速度會更快。

缺點:一旦某臺伺服器掛掉,由於使用者本地和Local DNS都有快取,快取沒有及時更新,則造成使用者無法訪問這個域名。

2.叢集負載均衡

硬體負載均衡:由一臺專門的硬體裝置負責轉發請求,太貴一般公司用不起,但是效能很好

軟體負載均衡:由多臺代理伺服器組成。網路延時較長。

3.作業系統負載均衡

利用作業系統級別的軟中斷或者硬體中斷來完成。

小菜鳥基本上聯絡不到應用中了。。。