第一章 瞭解Web及網絡基礎
一、爲知識共享爲規劃Web,基本理念是:藉助多文檔之間相互關聯(你中有我,我中有你)造成的超文本,連成客戶想參閱的WWW(World Wide Web)。
二、提出了3項WWW構建技術,分別是:把SGML(Standard Generalized Markup Language,標準通用標記語言)做爲頁面的文本標記語言的HTML;做爲文檔傳遞協議的HTTP;指定文檔所在地址的URL(Uniform Resource Locator,統一資源定位符)。
三、TCP/IP協議族按照層次分別分爲如下4層:應用層、傳輸層、網絡層和數據鏈路層(層次化是有好處的,只需關注變更的層以及各層之間的接口規劃)
四、IP地址指明瞭節點被分配的地址,MAC地址是指網卡所屬的固定地址。
五、ARP協議根據通訊方的IP地址能夠查出對應的MAC地址,DNS協議根據通訊方的域名能夠查出對應的IP地址。
六、TCP協議三次握手:
1 發送端發送SYN標識數據
2 接收端發送SYN/ACK標識數據
3 發送端再次發送ACK標識數據
七、URI & URL,URI用字符串標識某一互聯網資源,而URL表示資源的地點,可見URL是URI的子集。
1 URI: mailto:cay@horstman.com
2 URL: http://www.xxx.com/index.html
八、絕對URI格式
"
http://
user:password@
www.example.com:
80/
index.html?
uid=1#
ch1"
協議方案名 + 認證登陸信息 + 服務器地址 + 端口號 + 文件路徑 + 查詢字符串 + 片斷標識符
第二章 簡單的HTTP協議
一、請求報文是由請求行(請求方法、請求URI、協議版本),可選的請求首部字段和內容實體構成的。
二、響應報文是由響應行(協議版本、狀態碼、用以解釋狀態碼的緣由短語),可選的響應首部字段以及實體主體構成的。
三、HTTP是不保存狀態的協議,能夠減小服務器的CPU以及內存資源的消耗。
四、發送請求時,URI須要包含在報文內,若是不是訪問特定資源而是對服務器自己發起請求,能夠用一個「*」來代替請求URI。
五、告知服務器意圖的HTTP方法:
1 GET 獲取資源 POST 傳輸實體主體
2 PUT 傳輸文件 HEAD 得到報文首部
3 DELETE 刪除文件 OPTIONS 詢問支持的方法
4 TRACE 追蹤路徑 CONNECT 要求用隧道協議鏈接代理
六、每次請求都會發生三次握手進行TCP鏈接(避免首次請求延遲誤連),持久鏈接(HTTP keep-alive)則節省通訊量,只要任意一端沒有明確提出斷開鏈接,則保持TCP鏈接狀態,減輕了服務器端的負載。
七、管線化:持久鏈接使得多數請求以管線化方式發送成爲可能,這樣可以作到同時並行發送多個請求。
八、Cookie:Cookie會根據從服務端發送的響應報文內的一個叫作Set-Cookie的首部字段,通知客戶端保存Cookie。當下次客戶端再往該服務器發送請求時,客戶端會自動在請求報文中加入Cookie值後發送出去。
第三章 HTTP報文內的HTTP信息
一、HTTP報文大體可分爲報文首部和報文主體兩塊。
二、報文主體與實體主體的區別:
報文主體:通訊中的基本單位,由8位組字節流組成
實體主體:由實體首部和實體主體組成
一般,報文主體等於實體主體。只有當傳輸中進行編碼操做時,實體主體的內容發生變化,才致使它和報文主體產生差別。
三、經常使用的內容編碼:
gzip (GNU zip)
compress (UNIX系統的標準壓縮)
deflate (zlib)
identity (不進行編碼)
四、HTTP協議採納了多部份對象集合(MIME)
1 multipart/form-data 在web表單文件上傳時使用
2 multipart/byteranges 狀態碼206響應報文包含了多個範圍的內容時使用
五、獲取部份內容的範圍請求(能從以前中斷處恢復下載等),會用到首部字段Range來指定資源的byte範圍。針對範圍請求,響應會返回狀態碼爲206 Partial Content的響應報文。
六、內容協商返回最合適的內容,某些首部字段做爲判斷的基準(Accept,Accept-Encoding等)
1 服務器驅動協商,以請求的首部字段爲參考,在服務端自動處理
2 客戶端驅動協商,用戶從瀏覽器顯示的可選項列表中手動選擇
3 透明協商,a和b結合體,由服務端和客戶端各自進行內容協商的一種方法