《圖解 HTTP》讀書筆記

我是一名初級前端開發者,目前精力著眼于 Plain JavaScript 上,我的博客 if-true.com,原文鏈接:《圖解 HTTP》讀書筆記。歡迎交流 :)


第二章 簡單的 HTTP 協議

  1. 請求報文是由請求方法、請求 URI、協議版本、可選的請求首部字段和內容實體構成的。

  2. 響應報文基本上由協議版本、狀態碼(表示請求成功或失敗的數字 代碼)、用以解釋狀態碼的原因短語、可選的響應首部字段以及實體主體構成。

  3. HTTP 是不保存狀態的協議,引入 Cookie 實現持久化。

  4. 持久連接的好處在于減少了 TCP 連接的重復建立和斷開所造成的 額外開銷,減輕了服務器端的負載。另外,減少開銷的那部分時間,使 HTTP 請求和響應能夠更早地結束,這樣 Web 頁面的顯示速度也就相應 提高了。

  5. 管線化

    持久連接使得多數請求以管線化(pipelining)方式發送成為可能。 從前發送請求后需等待并收到響應,才能發送下一個請求。管線化技術 出現后,不用等待響應亦可直接發送下一個請求。

第3章 HTTP 報文內的 HTTP 信息

  1. HTTP 報文大致可分為報文首部和報文主體兩塊。兩者由最初出現的空行(CR+LF)來劃分。

  2. 首部字段

    一般有 4 種首部,分別是:通用首部、請求首部、響應首部和實體首部。

  3. 常用的內容編碼有以下幾種

* gzip(GNU zip) 
* compress(UNIX 系統的標準壓縮) 
* deflate(zlib) 
* identity(不進行編碼)
  1. MIME(Multipurpose Internet Mail Extensions,多用途因特網 郵件擴展)機制

  2. 內容協商技術

第4章 返回結果的 HTTP 狀態碼

第5章 與 HTTP 協作的 Web 服務器

  1. 信數據轉發程序:代理、網關、隧道

    • 代理:轉發時,需要附加 Via 首部字段以標記出經過的主機信息。

    • 網管:利用網關可以由 HTTP 請求轉化為其他協議通信。

    • 隧道:隧道的目的是確保客戶端能與服務器進行安全的通信。

第6章 HTTP 首部

  1. 請求首部字段
  2. 響應首部字段
  3. 通用首部字段
  4. 實體首部字段
  5. 為 Cookie 服務的首部字段

第7章 確保 Web 安全的 HTTPS

  1. HTTP 主要有這些不足,例舉如下

    • 通信使用明文(不加密),內容可能會被竊聽
    • 不驗證通信方的身份,因此有可能遭遇偽裝
    • 無法證明報文的完整性,所以有可能已遭篡改
  2. HTTP+ 加密 + 認證 + 完整性保護 =HTTPS

  3. HTTPS 是身披 SSL 外殼的 HTTP

  4. 對稱密鑰加密:加密和解密同用一個密鑰的方式稱為共享密鑰加密(Common key crypto system)

  5. 使用兩把密鑰的公開密鑰加密:公開密鑰加密使用一對非對稱的密鑰。一把叫做私有密鑰(private key),另一把叫做公開密鑰(public key)。

  6. HTTPS 采用混合加密機制:HTTPS 采用共享密鑰加密和公開密鑰加密兩者并用的混合加密機制。

  7. SSL 速度慢

    SSL 的慢分兩種。一種是指通信慢。另一種是指由于大量消耗 CPU 及內存等資源,導致處理速度變慢。

第8章 確認訪問用戶身份的認證

  1. HTTP/1.1 使用的認證方式如下所示。
* BASIC 認證(基本認證)  
* DIGEST 認證(摘要認證)  
* SSL 客戶端認證 
* FormBase 認證(基于表單認證)

第9章 基于 HTTP 的功能追加協議

  1. AJAX

  2. Comet

  3. SPDY

    SPDY 沒有完全改寫 HTTP 協議,而是在 TCP/IP 的應用層與運輸 層之間通過新加會話層的形式運作。使用 SPDY 后,HTTP 協議額外獲得以下功能。

    • 多路復用流
    • 賦予請求優先級
    • 壓縮 HTTP 首部
    • 推送功能
    • 服務器提示功能
  4. 使用瀏覽器進行全雙工通信的 WebSocket,特點有

    • 推送功能
    • 減少通信量
  5. 期盼已久的 HTTP/2.0

第10章 構建 Web 內容的技術

第11章 Web 的攻擊技術

  1. 針對 Web 應用的攻擊模式

    • 主動攻擊
    • 被動攻擊
  2. 以服務器為目標的主動攻擊

    具有代表性的攻擊是 SQL 注入攻擊和 OS 命令注入攻擊。

  3. 以服務器為目標的被動攻擊

    具有代表性的攻擊是跨站腳本攻擊和跨站點請求偽造。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容