標籤:des style blog http color 使用
HTTP
我們將只聚焦在於與建立 Web APIs有關的部分。
HTTP 是資訊系統中的一個應用程式層協議,是Web的支柱。 其原先由 Berners-Lee,
Roy Fielding 和 Henrik Frystyk Nielsen 三位電腦科學家們創作的。HTTP 為
用戶端與伺服器端之間跨網路相互傳輸資訊定義了一個介面。它隱藏了雙方的實現細
節。
HTTP 設計用來戲劇性地改變系統,而容許一定程度上的延遲和資料的過時。
這種設計允許 電腦中間媒體,如Proxy 伺服器來協調通訊,提供諸多好處,
如緩衝,壓縮和導航。HTTP的這些特性,使它在World Wide Web世界裡
成為非常理想的工具。它以固有的延遲時間來大量地戲劇性的改變和推進著
網路技術的發展。它也經受住了時間的考驗,從1996年面世以來,一直助力
著World Wide Web。
跨越HTTP 1.1
HTTP 也並不是靜止的,它也在往前發展。
之前對HTTP spec RFC 2616存在都會一些概念上的混淆,IETF
搞了個 httpbis ,但沒有在公用產生多大影響,它們後來搞的
HTTP 2.0也沒有產生多大影響 。因為 httpbis 原來是要取代
HTTP的,而且還能提供對HTTP更深層的理解,所以我們在以
後將用它做為基礎。
HTTP 資訊交換
基於HTTP的系統,它們在交換資訊的時候,是通過 request / response
的方式,無狀態地進行的。
君請看:
用戶端發出一個請求
這個請求,包含了HTTP版本,某個資源的URI,要求標頭,HTTP方法,和一
個可選的實體內容。這個請求將被發送到原伺服器。伺服器接到後看URIs
和HTTP方法,以此來決定它是否可以處理這個資訊。如果它能,它將查看
要求標頭,然後根據要求標頭來處理資訊。
等到伺服器處理完這個資訊之後,HTTP response響應被產生,其中包含
對資源的一個呈現。
君請看:
這個響應,包含了HTTP 版本、回應標頭、和可選的實體body,一個狀態代碼
和一個描述。跟伺服器接收資訊類似,用戶端將用它的控制資訊來檢查響
應頭,並隨後處理這個資訊和它的內容。
intermediarie 中間人
這個過程,其中忽略了一個重要的部分,intermediaries 。中間人。
HTTP 是架構在系統中組件或伺服器各司其職的考慮之上的。讓一個HTTP
用戶端看見伺服器,是不必要的。由於請求會跨越很長的路程來到伺服器,
它將會遇到一些中間人,。它們可能是代理或者是一些可能會檢查
HTTP請求或響應並修改或替換資訊的組件。
中間人能立刻返回一個響應,並調用日誌記錄,或者不作處理。
中間人在提高和加強通訊方面會有好處,比如它會將從伺服器返回的緩衝
資料直接返回給請求端,此舉大大提高了回應時間。
也可以看出,中間人可以位於任務地方。
中間人的類型
在用戶端和伺服器端通訊中,有三類中間人蔘與其中,而且對用戶端是可見
的。
- 代理 它會為用戶端處理HTTP的請求和響應。客戶使用代理通常是有意的。
- 網關 它會接收傳入的HTTP資訊,轉換為伺服器的協議,也將送出的資訊
轉換為HTTP協議。它表現地類似於伺服器,
原文這裡提到了一下 CDN 。