深入分析Java Web技術內幕 (一)

深入web請求過程

HTTP解析

常見的HTTP請求頭

請求頭 說明
Accept-Charset 用於制定客戶端接受的字符集
Accept-Encoding 用於制定可接受的內容編碼,如Accpet-Encoding:gzip。deflate
Accept-Language 用於指定一種自然語言,如:Acept-Language-Zh-cn
Host 用於制定被請求資源的Internet主機和端口號,如:Host:www.taobao.com
User-Agent 客戶端將它的操作系統、瀏覽器和其他屬性告訴服務器
Connection 當前連接是否保持,如Connection:Kepp-Alive

常見的HTTP響應頭

響應頭 說明
Server 使用服務器名稱,如Server:Apache、1.3.6(Unix)
Content-Type 用來指說明發送給接受者的實體正文的媒體類型,如Contnet-Type:text/html;charset=GBK
Content-Language 描述了資源所用的自然語言,與Accept-Language對應
Content-Length 指明實體正文的長度,用以字節方式存儲的十進制數字來表示
Keep-Alive 保持連接的時間,如Keep-Alive:timeout=5,max=120

常見的HTTP狀態嗎

狀態碼 說明
200 客戶端請求成功
302 臨時跳轉,跳轉的地址通過Location制定
400 客戶端請求有語法錯誤,不能被服務器識別
403 服務器收到請求,但是拒絕提供服務
404 請求的資源不存在
500 服務器發生不可預期的錯誤

清楚緩存的域名
使用 ipconfig/flush來清楚緩存域名

幾種域名解析方式
A記錄:域名對應IP地址
MX記錄:將某個域名下的郵件服務器指向自己的MAIL Server
CNAME記錄:全程 Canonical Name(別名解析)。爲一個域名設置一個或多個別名。
NS記錄:爲某個域名制定DNS解析服務器。
TXT記錄:爲某個主機名或域名設置說明。

CDN 內容分佈網絡
用戶可以就近取得所需的內容,提高用戶訪問網站的響應速度。比鏡像更智能,可以比喻爲:鏡像(Mirror)+緩存(Cache)+整體負載均衡(GSLB),目前CDN都以緩存網站中的靜態數據爲主。CDN達到以下目標:可擴展、安全性、可靠性
負載均衡(Load Balance)
對工作進行平衡、分攤到多個操作單元上執行,如圖片服務器、應用服務器等,共同完成工作任務。提高服務器響應速度及利用效率,避免軟件或者硬件模塊出現單點失效等問題。
目前的負載均衡架構有三種,分別爲:鏈路負載均衡、集羣負載均衡和操作系統負載均衡。
鏈路負載均衡:通過DNS解析成不同的IP,用戶根據IP訪問不同的目標服務器。
集羣負載均衡:分爲硬件負載均衡和軟件負載均衡,硬件一般要花費巨資購買一臺高性能設備,缺點貴,而且當訪問量超出極限時,不能進行動態擴容。軟件負載均衡:使用多臺廉價的PC搭建,成本低。缺點是一般一次訪問請求要經過多次代理服務器,會增加網絡延時。
操作系統負載均衡:通過操作系統的軟中斷或者硬件中斷來進行負載均衡。
CND動態加速:在CDN的DNS解析中通過動態的鏈路探測來尋找回源最好的一條路徑,然後通過DNS的調度將所有請求調度到選定的這條路徑上回源,從而加速用戶訪問的效率。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章