1. 程式人生 > >HTTP協議基本原理

HTTP協議基本原理

protocol 連接 status 提交表單 行處理 .html -c delet 分布

HTTP協議基本原理

技術分享圖片

技術分享圖片

超文本傳輸協議(HyperText Transfer Protocol,HTTP)是一種用於分布式、協作式和超媒體信息系統的應用層協議。HTTP是萬維網的數據通信的基礎。

設計HTTP最初的目的是為了提供一種發布和接收HTML頁面的方法。通過HTTP或者HTTPS協議請求的資源由統一資源標識符(Uniform Resource Identifiers,URI)來標識。

版本

  • HTTP/0.9
  • HTTP/1.0
  • HTTP/1.1
  • HTTP/2

工作流程

HTTP客戶端發起一個請求
創建一個到服務器指定端口(默認是80端口)的TCP連接
HTTP服務器則在那個端口監聽客戶端的請求

一旦收到請求,服務器會向客戶端返回一個狀態,比如"HTTP/1.1 200 OK"
以及返回的內容,如請求的文件、錯誤消息、或者其它信息

請求方法

HTTP/1.1協議中共八種方法:

  • GET

    向指定的資源發出“顯示”請求。使用GET方法應該只用在讀取數據,而不應當被用於產生“副作用”的操作中,
    例如在WebApplication中。其中一個原因是GET可能會被網絡蜘蛛等隨意訪問。

  • 與GET方法一樣,都是向服務器發出指定資源的請求。只不過服務器將不傳回資源的本文部分。它
    的好處在於,使用這個方法可以在不必傳輸全部內容的情況下,就可以獲取其中“關於該資源的信息”。

  • POST

    向指定資源提交數據,請求服務器進行處理(例如提交表單或者上傳文件)。數據被包含在請求本文中。
    這個請求可能會創建新的資源或修改現有資源,或二者皆有。

  • PUT

    向指定資源位置上傳其最新內容。

  • DELETE

    請求服務器刪除Request-URI所標識的資源。

  • TRACE

    回顯服務器收到的請求,主要用於測試或診斷。

  • OPTIONS

    這個方法可使服務器傳回該資源所支持的所有HTTP請求方法。用‘*‘來代替資源名稱,向Web服務器發
    送OPTIONS請求,可以測試服務器功能是否正常運作。

  • CONNECT

    HTTP/1.1協議中預留給能夠將連接改為管道方式的代理服務器。通常用於SSL加密服務器的鏈接

    (經由非加密的HTTP代理服務器)。

參考鏈接

  • https://zh.wikipedia.org/wiki/%E8%B6%85%E6%96%87%E6%9C%AC%E4%BC%A0%E8%BE%93%E5%8D%8F%E8%AE%AE
  • http://www.ruanyifeng.com/blog/2016/08/http.html

HTTP協議基本原理