HTTP管線化

HTTP管線化  是將多個HTTP請求 （ request ） 整批送出的技術 ， 而在傳送過程中不需先等待服務器的回應 。 請求結果管線化使得 HTML 網頁載入時間動態提升 ， 特別是在具體有高延遲的連接環境下 ， 如衛星上網 。 在寬頻連接中 ， 加速不是那麼顯著的 ， 因爲需要伺服器端要遵循 HTTP / 1.1 協議 ， 必須按照客戶端發送的請求順序來回復請求 ， 這樣整個連接還是先進先出的 ， 隊頭阻塞 （ HOL blocking ） 可能會發生 ， 造成延遲 。 未來的 HTTP / 2.0 或者SPDY中的異步操作將會解決這個問題 。 因爲它可能將多個 HTTP 請求填充在一個TCP數據包內 ， HTTP 管線化需要在網絡上傳輸較少的 TCP 數據包 ， 減少了網絡負載 。 管線化機制須透過永久連線 （ persistent connection ） 完成 ， 並且只有 GET 和 HEAD 等要求可以進行管線化 ， 非冪等的方法 ， 例如POST將不會被管線化 。 連續的 GET 和 HEAD 請求總可以管線化的 。 一個連續的冪等請求 ， 如 GET ， HEAD ， PUT ， DELETE ， 是否可以被管線化取決於一連串請求是否依賴於其他的 。 此外 ， 初次建立連線時也不應啓動管線機制 ， 因爲對方 （ 伺服器 ） 不一定支援 HTTP / 1.1 版本的協定 。 HTTP 管線化同時依賴於客戶端和服務器的支持 。 遵守 HTTP / 1.1 的服務器支持管線化 。 這並不是意味着服務器需要提供管線化的回覆 ， 而只是要求在收到管線化的請求時候不會失敗 。