超文字傳輸協議
超文字傳輸協議(HTTP,HyperText Transfer Protocol)是網際網路上應用最為廣泛的一種網路協議。所有的WWW檔案都必須遵守這個標準。設計HTTP最初的目的是為了提供一種釋出和接收HTML頁面的方法。
1960年美國人Ted Nelson構思了一種透過計算機處理文字資訊的方法,並稱之為超文字(hypertext),這成為了HTTP超文字傳輸協議標準架構的發展根基。
Ted Nelson組織協調全球資訊網協會(World Wide Web Consortium)和網際網路工程工作小組(Internet Engineering Task Force )共同合作研究,最終釋出了一系列的RFC,其中著名的RFC 2616定義了HTTP 1.1。
HTTP是一個客戶端和伺服器端請求和應答的標準(TCP)。客戶端是終端使用者,伺服器端是網站。透過使用Web瀏覽器、網路爬蟲或者其它的工具,客戶端發起一個到伺服器上指定埠(預設埠為80)的HTTP請求。
(我們稱這個客戶端)叫使用者代理(user agent)。應答的伺服器上儲存著(一些)資源,比如HTML檔案和影像。(我們稱)這個應答伺服器為源伺服器(origin server)。
在使用者代理和源伺服器中間可能存在多箇中間層,比如代理,閘道器,或者隧道(tunnels)。儘管TCP/IP協議是網際網路上最流行的應用,HTTP協議並沒有規定必須使用它和(基於)它支援的層。
事實上,HTTP可以在任何其他網際網路協議上,或者在其他網路上實現。HTTP只假定(其下層協議提供)可靠的傳輸,任何能夠提供這種保證的協議都可以被其使用。
通常,由HTTP客戶端發起一個請求,建立一個到伺服器指定埠(預設是80埠)的TCP連線。HTTP伺服器則在那個埠監聽客戶端傳送過來的請求。一旦收到請求,伺服器(向客戶端)發回一個狀態行,比如"HTTP/1.1 200 OK",和(響應的)訊息,訊息的訊息體可能是請求的檔案、錯誤訊息、或者其它一些資訊。HTTP使用TCP而不是UDP的原因在於(開啟)一個網頁必須傳送很多資料,而TCP協議提供傳輸控制,按順序組織資料,和錯誤糾正。
透過HTTP或者HTTPS協議請求的資源由統一資源標示符(Uniform Resource Identifiers)(或者,更準確一些,URLs)來標識。
HTTP(HyperText Transport Protocol)是超文字傳輸協議的縮寫,它用於傳送WWW方式的資料,關於HTTP協議的詳細內容請參考RFC2616。HTTP協議採用了請求/響應模型。客戶端向伺服器傳送一個請求,請求頭包含請求的方法、URL、協議版本、以及包含請求修飾符、客戶資訊和內容的類似於MIME的訊息結構。伺服器以一個狀態行作為響應,響應的內容包括訊息協議的版本,成功或者錯誤編碼加上包含伺服器資訊、實體元資訊以及可能的實體內容。
通常HTTP訊息包括客戶機向伺服器的請求訊息和伺服器向客戶機的響應訊息。這兩種型別的訊息由一個起始行,一個或者多個頭域,一個指示頭域結束的空行和可選的訊息體組成。HTTP的頭域包括通用頭,請求頭,響應頭和實體頭四個部分。每個頭域由一個域名,冒號(:)和域值三部分組成。域名是大小寫無關的,域值前可以新增任何數量的空格符,頭域可以被擴充套件為多行,在每行開始處,使用至少一個空格或製表符。
請求方法(所有方法全為大寫)有多種,各個方法的解釋如下:
GET 請求獲取Request-URI所標識的資源
POST 在Request-URI所標識的資源後附加新的資料
HEAD 請求獲取由Request-URI所標識的資源的響應訊息報頭
PUT 請求伺服器儲存一個資源,並用Request-URI作為其標識
DELETE 請求伺服器刪除Request-URI所標識的資源
TRACE 請求伺服器回送收到的請求資訊,主要用於測試或診斷
CONNECT 保留將來使用
OPTIONS 請求查詢伺服器的效能,或者查詢與資源相關的選項和需求
1960年美國人Ted Nelson構思了一種透過計算機處理文字資訊的方法,並稱之為超文字(hypertext),這成為了HTTP超文字傳輸協議標準架構的發展根基。
Ted Nelson組織協調全球資訊網協會(World Wide Web Consortium)和網際網路工程工作小組(Internet Engineering Task Force )共同合作研究,最終釋出了一系列的RFC,其中著名的RFC 2616定義了HTTP 1.1。
HTTP是一個客戶端和伺服器端請求和應答的標準(TCP)。客戶端是終端使用者,伺服器端是網站。透過使用Web瀏覽器、網路爬蟲或者其它的工具,客戶端發起一個到伺服器上指定埠(預設埠為80)的HTTP請求。
(我們稱這個客戶端)叫使用者代理(user agent)。應答的伺服器上儲存著(一些)資源,比如HTML檔案和影像。(我們稱)這個應答伺服器為源伺服器(origin server)。
在使用者代理和源伺服器中間可能存在多箇中間層,比如代理,閘道器,或者隧道(tunnels)。儘管TCP/IP協議是網際網路上最流行的應用,HTTP協議並沒有規定必須使用它和(基於)它支援的層。
事實上,HTTP可以在任何其他網際網路協議上,或者在其他網路上實現。HTTP只假定(其下層協議提供)可靠的傳輸,任何能夠提供這種保證的協議都可以被其使用。
通常,由HTTP客戶端發起一個請求,建立一個到伺服器指定埠(預設是80埠)的TCP連線。HTTP伺服器則在那個埠監聽客戶端傳送過來的請求。一旦收到請求,伺服器(向客戶端)發回一個狀態行,比如"HTTP/1.1 200 OK",和(響應的)訊息,訊息的訊息體可能是請求的檔案、錯誤訊息、或者其它一些資訊。HTTP使用TCP而不是UDP的原因在於(開啟)一個網頁必須傳送很多資料,而TCP協議提供傳輸控制,按順序組織資料,和錯誤糾正。
透過HTTP或者HTTPS協議請求的資源由統一資源標示符(Uniform Resource Identifiers)(或者,更準確一些,URLs)來標識。
HTTP(HyperText Transport Protocol)是超文字傳輸協議的縮寫,它用於傳送WWW方式的資料,關於HTTP協議的詳細內容請參考RFC2616。HTTP協議採用了請求/響應模型。客戶端向伺服器傳送一個請求,請求頭包含請求的方法、URL、協議版本、以及包含請求修飾符、客戶資訊和內容的類似於MIME的訊息結構。伺服器以一個狀態行作為響應,響應的內容包括訊息協議的版本,成功或者錯誤編碼加上包含伺服器資訊、實體元資訊以及可能的實體內容。
通常HTTP訊息包括客戶機向伺服器的請求訊息和伺服器向客戶機的響應訊息。這兩種型別的訊息由一個起始行,一個或者多個頭域,一個指示頭域結束的空行和可選的訊息體組成。HTTP的頭域包括通用頭,請求頭,響應頭和實體頭四個部分。每個頭域由一個域名,冒號(:)和域值三部分組成。域名是大小寫無關的,域值前可以新增任何數量的空格符,頭域可以被擴充套件為多行,在每行開始處,使用至少一個空格或製表符。
請求方法(所有方法全為大寫)有多種,各個方法的解釋如下:
GET 請求獲取Request-URI所標識的資源
POST 在Request-URI所標識的資源後附加新的資料
HEAD 請求獲取由Request-URI所標識的資源的響應訊息報頭
PUT 請求伺服器儲存一個資源,並用Request-URI作為其標識
DELETE 請求伺服器刪除Request-URI所標識的資源
TRACE 請求伺服器回送收到的請求資訊,主要用於測試或診斷
CONNECT 保留將來使用
OPTIONS 請求查詢伺服器的效能,或者查詢與資源相關的選項和需求
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31464246/viewspace-2155329/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- HTTP超文字傳輸協議HTTP協議
- HTTP 是不是應該翻譯成超文字傳輸協議HTTP協議
- 傳輸層協議協議
- 4種傳輸協議設定,檔案傳輸協議如何選擇?協議
- TCP傳輸協議詳解TCP協議
- 【傳輸協議】HttpClient基本使用協議HTTPclient
- 傳輸層協議 TCP 和 UDP協議TCPUDP
- 檔案傳輸協議介紹協議
- Raysync檔案傳輸協議(FTP)協議FTP
- 如何看待鐳速傳輸的Raysync高速傳輸協議?協議
- Git傳輸協議的對比分析Git協議
- 伺服器傳輸協議介紹伺服器協議
- 用python實現TCP協議傳輸功能PythonTCP協議
- netty系列之:kequeue傳輸協議詳解Netty協議
- 流媒體傳輸協議之 RTP(下篇)協議
- 流媒體傳輸協議之 RTP (上篇)協議
- 還在使用檔案傳輸協議傳輸機密檔案?你可能是對檔案傳輸協議有什麼誤會協議
- 檔案傳輸協議的五種安全檔案傳輸替代方案協議
- 支援斷點續傳的大檔案傳輸協議斷點協議
- 網路協議之:基於UDP的高速資料傳輸協議UDT協議UDP
- TCP傳輸協議如何進行流量控制?TCP協議
- WebRTC:資料傳輸相關協議簡介Web協議
- 訊息佇列面試解析 - 傳輸協議佇列面試協議
- DDTP 分散式資料傳輸協議白皮書分散式協議
- Linux——檔案傳輸協議知識點梳理Linux協議
- TCP/IP五層模型-傳輸層-TCP協議TCP模型協議
- 二進位制協議 VS 文字協議協議
- 傳輸控制協議/網際網路協議(TCP / IP)是什麼意思?-VeCloud協議TCPCloud
- 【傳輸協議】http協議GET與POST傳遞資料的最大長度能夠達到多少協議HTTP
- 案例:配置apache和nginx的SSL加密傳輸協議ApacheNginx加密協議
- 串列埠通訊上位機資料傳輸協議串列埠協議
- 深入理解 web 協議(一)- http 包體傳輸Web協議HTTP
- netty系列之:在netty中使用native傳輸協議Netty協議
- 當跨國檔案傳輸陷入困境時,不妨試試raysync傳輸協議協議
- TCP協議如何保證資料的順序傳輸TCP協議
- 在java中使用SFTP協議安全的傳輸檔案JavaFTP協議
- 【轉載】Behinder4.1(冰蠍)重寫傳輸協議協議
- Python 網路資料傳輸協議 TCP 程式設計Python協議TCP程式設計