深入分析Java Web技術內幕 筆記

2021-08-02 17:39:37 字數 1773 閱讀 8261

http1.1  cache-control = no-cacahe 瀏覽器不快取該網頁

expires = -1 表示立即過期

通用格式 expires: sat,25 feb 2012 12:22:17 gmt 超過這個時間值後,快取的內容將失效,也就是瀏覽器發出請求之前檢查這個頁面的這個字段,過期了就重新向伺服器發起請求。

last-modified 表示乙個伺服器上的資源的最後修改時間。瀏覽器再次請求時在請求頭中增加乙個if-modified-since:sat,25 feb 2012 12:22:17 gmt欄位詢問,如果時最新的就返回304狀態碼。

dns網域名稱解析過程(10步):

第2步:如果使用者瀏覽器快取中沒有,瀏覽器會查詢作業系統快取中是否有這個網域名稱對應的dns解析結果。c:\windows\system32\drivers\etc\hosts(linux :/etc/named.conf)設定,因為有這種本地dns解析的過程,黑客就可能通過修改你的網域名稱解析來把特定的網域名稱解析到它制定的ip位址上,導致這些網域名稱被劫持。

第3步:網路配置中「dns伺服器位址」,這個位址用於解決1、2無法解析時,作業系統會把這個網域名稱傳送給這裡的ldns,也就是本地區的網域名稱伺服器。如果不是學校、小區,那麼這個dns就是提供給你接入網際網路的應用提供商,即電信或者聯通,也就是通常所說的spa,這個dns通常會在你所在城市的某個角落,通常不會很遠。windows通過ipconfig查詢這個位址,linux通過cat /etc/resolv.conf 。這個專門的網域名稱解析伺服器效能都會很好,它們一般都會快取網域名稱解析結果,大約80%的網域名稱解析都都這裡就已經完成了。

第4步:如果ldns仍然沒有命中,就直接到root server網域名稱伺服器請求解析。

第8步,name server網域名稱伺服器會查詢儲存的網域名稱和ip的對映關係表,正常情況下都根據網域名稱得到目標ip記錄,連同乙個ttl值返回給dns server網域名稱伺服器。

第9步,返回該網域名稱對應的ip和ttl值,local dns server 會快取這個網域名稱和ip的對應關係,快取的時間由ttl值控制。

第10步,把解析的結果返回給使用者,使用者根據ttl值快取在本地系統快取中,網域名稱解析過程結束。

實際的dns解析過程中,不止10個步驟,如name server也可能有多級,或者有乙個gtm來負載均衡控制,這都有可能會影響網域名稱解析的過程。

nslookup查詢網域名稱的解析結果。

第二行 可選引數 cmd

「question section」表示當前查詢的網域名稱是乙個a記錄

「answer section」返回了這個網域名稱由cname 到www.gslb.taobao.com,返回了這個網域名稱對應的ip位址。

還可通過新增+trace引數跟蹤這個網域名稱的解析過程。

兩個地方會快取解析結果,local dns server 。

linux 通過 /etc/init.d/nscd restart 清除快取

cdn內容分布網路,流量分配網路。

乙個使用者訪問某個靜態檔案,這個靜態檔案的網域名稱假如是cdn.taobao.com,那麼首先要向local dns伺服器發起請求,一般經過迭代解析後回到這個網域名稱的註冊伺服器去解析,一般每個公司都會有乙個dns解析伺服器。當時這個dns解析伺服器通常會把它重新cname解析到另外乙個網域名稱,而這個網域名稱最終會被指向cdn全域性中的dns負載均衡伺服器,再由這個gtm來最終分配是哪個地方的訪問使用者,返回給離這個訪問使用者最近的cdn節點。

拿到dns解析結果,使用者就直接去這個cdn節點訪問這個靜態檔案了,如果這個節點中所請求的檔案不存在,就會再回到源站去獲取這個檔案,然後再返回給使用者。 

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

http解析 常見的http請求頭 請求頭說明accept charset 用於制定客戶端接受的字符集 accept encoding 用於制定可接受的內容編碼,如accpet encoding gzip。deflate accept language 用於指定一種自然語言,如 acept lang...

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

優點 1.客戶端使用統一的瀏覽器。瀏覽器的互動特性使得使用者使用它非常便捷 2.伺服器端基於統一的http。使得伺服器開發者可以採用相對規範的開發模式 http採用無狀態的短連線的通訊方式。即一次請求就算完成了一次資料互動,通常也對應乙個業務邏輯,然後這次通訊連線就斷開了。在瀏覽器輸入乙個 後 1....

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

第三步 使用者向local dns 發起請求.ldns主要承擔了網域名稱的解析工作 第四步 如ldns沒有命中,向根網域名稱root dns發起解析請求 第八步 name server網域名稱伺服器會查詢儲存的網域名稱和ip的對映關係表 第九步 返回該網域名稱對應的ip和ttl值,ldns快取 第十...