讀《深入分析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代碼 復制代碼 收藏代碼
  1. lingceng@lingceng-Vostro-1450:~$ dig www.taobao.com
  2. ; <<>> DiG 9.8.1-P1 <<>> www.taobao.com
  3. ;; global options: +cmd
  4. ;; Got answer:
  5. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61037
  6. ;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 3, ADDITIONAL: 2
  7. ;; QUESTION SECTION:
  8. ;www.taobao.com. IN A
  9. ;; ANSWER SECTION:
  10. www.taobao.com. 1359 IN CNAME www.gslb.taobao.com.danuoyi.tbcache.com.
  11. www.gslb.taobao.com.danuoyi.tbcache.com. 1360 IN CNAME scorpio.danuoyi.tbcache.com.
  12. scorpio.danuoyi.tbcache.com. 219 IN A 61.55.164.241
  13. scorpio.danuoyi.tbcache.com. 219 IN A 61.55.164.251
  14. scorpio.danuoyi.tbcache.com. 219 IN A 121.22.1.251
  15. ;; AUTHORITY SECTION:
  16. danuoyi.tbcache.com. 81834 IN NS danuoyins3.tbcache.com.
  17. danuoyi.tbcache.com. 81834 IN NS danuoyins2.tbcache.com.
  18. danuoyi.tbcache.com. 81834 IN NS danuoyins1.tbcache.com.
  19. ;; ADDITIONAL SECTION:
  20. danuoyins2.tbcache.com. 467 IN A 110.75.20.28
  21. danuoyins1.tbcache.com. 71 IN A 115.124.17.156
  22. ;; Query time: 5 msec
  23. ;; SERVER: 127.0.0.1#53(127.0.0.1)
  24. ;; WHEN: Wed Jan 16 20:47:33 2013
  25. ;; 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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/378866.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/378866.shtml
英文地址,請注明出處:http://en.pswp.cn/news/378866.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

windows mobile多國語言實現[轉]

介紹一種多國語言的實現辦法&#xff0c;這也是微軟推薦的方式&#xff0c;打開windows mobile下的windows目錄可以看到有很多以MUI為后綴名的文件&#xff0c;例如shellres.dll.0804.mui、shell.dll.0804.mui。。。。。。我們可以用eXeScope.exe或者resources hacker這樣的文件…

RTSP協議基本分析

目錄一、介紹二、RTSP與HTTP三、RTSP推流基本過程1、OPTION 查詢服務器端可用方法1.1、Client 請求1.2、Server 回復2、ANNOUNCE 發送媒體描述信息2.1、Client 請求2.2、Server 回復3、SETUP建立RTSP會話3.1、Client 請求&#xff08;視頻流&#xff09;3.2、Server 回復&#…

找取照片上的25個特征點,并保存結果

找取照片上的25個特征點&#xff0c;并保存結果 import numpy as np import cv2 from matplotlib import pyplot as plt img cv2.imread(E:\Python-workspace\OpenCV\OpenCV/water1.png,1)#第一個參數為選擇照片的路徑&#xff0c;注意照片路徑最后一個為正斜杠其他都為反斜杠…

nutsdb與mysql_分享下 nutsdb 單機 1 億、10 億數據實測

大家好&#xff0c; 想給大家分享下我最近為 nutsdb 做的數據測試。測試項目起因事情起因是這個 issue &#xff0c;簡單說就是內存高了&#xff0c;不夠用了。可能很多人不知道 NutsDB。簡單介紹下&#xff0c;NutsDB 是我幾個月以前開源的一個 Go 語言編寫的內嵌型 KV 數據庫…

java 方法 示例_帶有示例的Java EnumSetSupplementOf()方法

java 方法 示例EnumSet類complementOf()方法 (EnumSet Class complementOf() method) complementOf() method is available in java.util package. clipartOf()方法在java.util包中可用。 complementOf() method is used to contain all the elements of this EnumSet that are…

在需要時開啟Perl新特性

從5.10開始&#xff0c;新特性必須開啟才能使用。Perl默認不啟用新特性保持向后兼容。 如果想啟用新特性&#xff0c;可以使用新的-E開關。打開所有的新特性。 % perl5.10.1 -E say.pl #開啟5.10.1 版本的所有新特性 在源代碼中使用 use 指令之后指定perl版本號就可以了。 use …

P2P技術詳解(一):NAT詳解——詳細原理、P2P簡介

目錄1. IPv4協議和NAT的由來2. NAT的工作模型和特點2.1、NAT的概念模型2.2、一對一的NAT2.3、一對多的NAT2.4、按照NAT端口映射方式分類2.4.1全錐形NAT2.4.2限制錐形NAT2.4.3端口限制錐形NAT2.4.4對稱型NAT3. NAT的限制與解決方案3.1、IP端到端服務模型3.2、NAT的弊端3.3、NAT穿…

決定孩子命運的八大關鍵問題

你可以不是天才&#xff0c;但你可以是天才的父母&#xff01;樹立做父母正確的家庭教育觀念&#xff0c;為孩子建造一個良好的人生平臺&#xff0c;讓孩子有很好的人格修養&#xff0c;懂得做人&#xff0c;懂得成功的真正含義。簡單方便&#xff0c;容易操作&#xff0c;適合…

java calendar_Java Calendar internalGet()方法與示例

java calendar日歷類internalGet()方法 (Calendar Class internalGet() method) internalGet() method is available in java.util package. internalGet()方法在java.util包中可用。 internalGet() method is used to get the value of the given field(fi) of this Calendar …

顯示照片的二維直方圖

顯示照片的二維直方圖 import cv2 from matplotlib import pyplot as plt img cv2.imread(E:\Python-workspace\OpenCV\OpenCV/water1.png,1)#第一個參數為選擇照片的路徑&#xff0c;注意照片路徑最后一個為正斜杠其他都為反斜杠&#xff1b;第二個參數&#xff0c;其中1表示…

周五怎么表示 mysql_完美起航-MySQL找每個月最后一個星期五--函數定義與使用

數據庫作業有一道題是這樣子的&#xff1a;有一張名叫emp的表記錄員工信息&#xff0c;其中有如下字段 HIREDATE 表示員工被雇用的日期&#xff1a;然后問題是這樣的&#xff1a;q7.Show details of employee hiredates and the date of their first payday.(Paydays occur on…

要想能安心,必須先死心。

其實&#xff0c;不論是感情&#xff0c;還是學習、工作還是生活&#xff0c;不都是如此&#xff1f;曾經年少懷抱一個名校夢&#xff0c;如果高考不成功&#xff0c;那么你一定會選擇考研讓自己死一次心&#xff1b;小時候特別喜歡 某個職業&#xff0c;長大了你拋棄所有機會追…

silverlight學習總結【完】

以下內容是個人理解&#xff0c;不保證正確性。且假設使用C#&#xff0c;并且有一定的相關知識和XML基礎。 silverlight是什么&#xff0c;能做什么 silverlight用XAML來做前端界面&#xff0c;用.NET或者JS作為程序腳本支持&#xff0c;在瀏覽器內外運行的應用。可以認為和FLA…

P2P技術詳解(二):P2P中的NAT穿越(打洞)方案詳解

目錄1、內容概述2、反向鏈接技術&#xff1a;一種特殊的P2P場景&#xff08;通信雙方中只有一方位于NAT設備之后&#xff09;3、基于UDP協議的P2P打洞技術詳解3.1、原理概述3.2、典型P2P情景1&#xff1a; 兩客戶端位于同一NAT設備后面&#xff08;即相同內網中&#xff09;3.3…

Java Byte類的compareTo()方法和示例

簡短的類compareTo()方法 (Short class compareTo() method) compareTo() method is available in java.lang package. compareTo()方法在java.lang包中可用。 compareTo() method is used to check equality or inequality for this Byte object against the given Byte objec…

顯示照片的RGB直方圖

顯示照片的RGB直方圖 import numpy as np import cv2 as cv from matplotlib import pyplot as plt img cv.imread(E:\Python-workspace\OpenCV\OpenCV/BEYOND.png,1)#第一個參數為選擇照片的路徑&#xff0c;注意照片路徑最后一個為正斜杠其他都為反斜杠&#xff1b;第二個參…

OUT還開通博客!

現在哪有人還在玩博客哦&#xff0c;哎試試&#xff0c;記錄一下自己開發網站的點滴吧&#xff01;轉載于:https://www.cnblogs.com/17say/archive/2013/02/18/2915125.html

網站V5的一些想法(轉)

V5即將到來&#xff0c;面對“全新”的V5&#xff0c;前端這塊自然也要借這次改版的機會&#xff0c;將我們前端的一些想法實踐到V5中去&#xff0c;實現一次跨越。 1 嘗試模塊化的代碼書寫(html、css等) 模塊化的目的是為了提高代碼的重用性、擴展性、可維護性 2 文件引用使用…

mysql慢查詢開啟語句分析_mysql慢查詢語句分析總結

我們經常會接觸到MySQL&#xff0c;也經常會遇到一些MySQL的性能問題。我們可以借助慢查詢日志和explain命令初步分析出SQL語句存在的性能問題通過SHOW FULL PROCESSLIST查看問題SHOW FULL PROCESSLIST相當于select * from information_schema.processlist可以列出正在運行的連…

P2P技術詳解(三):P2P中的NAT穿越(打洞)方案詳解(進階分析篇)

目錄1、NAT和NAPT2、NAT帶來的問題3、P2P通信穿越NAT的技術、方法4、NAT穿越技術1&#xff1a;應用層網關4.1、原理4.2、限制5、NAT穿越技術2&#xff1a;中間件技術5.1、原理5.2、限制6、NAT穿越技術3&#xff1a;打洞技術(Hole Punching)6.1、原理6.2、方法6.2.1NAT行為類型與…