生活随笔
收集整理的這篇文章主要介紹了
读《深入分析Java Web技术内幕》
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這里這本書的預讀章節,看完預讀部分,解答了一些疑惑,也相信這是一本夯實Java Web架構體系的好書。
HTTP協議解析
開發一般使用firefox的firebug調試,這的確是一個利器,HTTP的請求頭響應頭一目了然。
瀏覽器緩存機制
當我們使用 Ctrl+F5 組合鍵刷新一個頁面時, HTTP 的請求頭中會增加Pragma:no-cache 和 Cache-Control:no-cache,它告訴服務端我們要獲取最新的數據而不是緩存。
試了一下,在firefox和chrome下都可以達到效果,這對開發還是不錯的。
Last-Modified 字段一般用于表示一個服務器上的資源的最后修改時間,一般靜態內容都會自動加上這個,瀏覽器再次請求時在請求頭中增加一個 If-Modified-Since: Sat, 25 Feb 2012 12:55:04 GMT 字段,詢問當前緩存的頁面是否是最新的,如果是最新的就返回 304 狀態碼,告訴瀏覽器是最新的,服務器也不會傳輸新的數據。
DNS解析過程
大體是這樣的:瀏覽器緩存 --> 本機緩存 --> DNS。當然DNS有很多層次。
使用nslookup, dig 命令可以分析解析過程
Shell代碼
lingceng@lingceng-Vostro-1450:~$ dig www.taobao.com ; <<>> DiG 9.8.1-P1 <<>> www.taobao.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61037 ;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 3, ADDITIONAL: 2 ;; QUESTION SECTION: ;www.taobao.com. IN A ;; ANSWER SECTION: www.taobao.com. 1359 IN CNAME www.gslb.taobao.com.danuoyi.tbcache.com. www.gslb.taobao.com.danuoyi.tbcache.com. 1360 IN CNAME scorpio.danuoyi.tbcache.com. scorpio.danuoyi.tbcache.com. 219 IN A 61.55.164.241 scorpio.danuoyi.tbcache.com. 219 IN A 61.55.164.251 scorpio.danuoyi.tbcache.com. 219 IN A 121.22.1.251 ;; AUTHORITY SECTION: danuoyi.tbcache.com. 81834 IN NS danuoyins3.tbcache.com. danuoyi.tbcache.com. 81834 IN NS danuoyins2.tbcache.com. danuoyi.tbcache.com. 81834 IN NS danuoyins1.tbcache.com. ;; ADDITIONAL SECTION: danuoyins2.tbcache.com. 467 IN A 110.75.20.28 danuoyins1.tbcache.com. 71 IN A 115.124.17.156 ;; Query time: 5 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Wed Jan 16 20:47:33 2013 ;; MSG SIZE rcvd: 259 lingceng@lingceng-Vostro-1450:~$ dig www.taobao.com; <<>> DiG 9.8.1-P1 <<>> www.taobao.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61037
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 3, ADDITIONAL: 2;; QUESTION SECTION:
;www.taobao.com. IN A;; ANSWER SECTION:
www.taobao.com. 1359 IN CNAME www.gslb.taobao.com.danuoyi.tbcache.com.
www.gslb.taobao.com.danuoyi.tbcache.com. 1360 IN CNAME scorpio.danuoyi.tbcache.com.
scorpio.danuoyi.tbcache.com. 219 IN A 61.55.164.241
scorpio.danuoyi.tbcache.com. 219 IN A 61.55.164.251
scorpio.danuoyi.tbcache.com. 219 IN A 121.22.1.251;; AUTHORITY SECTION:
danuoyi.tbcache.com. 81834 IN NS danuoyins3.tbcache.com.
danuoyi.tbcache.com. 81834 IN NS danuoyins2.tbcache.com.
danuoyi.tbcache.com. 81834 IN NS danuoyins1.tbcache.com.;; ADDITIONAL SECTION:
danuoyins2.tbcache.com. 467 IN A 110.75.20.28
danuoyins1.tbcache.com. 71 IN A 115.124.17.156;; Query time: 5 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Jan 16 20:47:33 2013
;; MSG SIZE rcvd: 259
這是我ubuntu上dig的例子,其中A是Address,NS是NameServer,CName是Canonical Name(別名的意思)。這些在書中都有解釋。
CDN 也就是內容分布網絡(Content Delivery Network)
使用戶可以就近取得所需的內容,提高用戶訪問網站的響應速度。有別于鏡像,它比鏡像更智能,可以做這樣一個比喻:CDN = 鏡像 (Mirror) + 緩存 (Cache) + 整體負載均衡 (GSLB)。
淘寶有 90%以上的數據都是由 CDN 來提供的,可見搭建企業級的網站平臺CDN是很有必要的。CDN需要DNS是的配合使用,不同地點請求指向不同的CDN Server。
轉載于:https://www.cnblogs.com/shhaoran/archive/2013/02/12/2924447.html
總結
以上是生活随笔為你收集整理的读《深入分析Java Web技术内幕》的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。