超文本傳輸協議

超文本傳輸協議
超文件傳輸協定(HTTP,HyperTextTransfer Protocol)是因特網上應用最為廣泛的一種網絡傳輸協定。所有的WWW文件都必須遵守這個標準。設計HTTP最初的目的是為了提供一種發布和接收HTML頁面的方法。
介紹
超

請求信息
發出的請求信息包括以下幾個* 請求行,例如GET /images/logo.gif HTTP/1.1,表示從/images 目錄下請求logo.gif這個文件。
* 標題,例如Accept-Language: en
* 空行
?
請求行和標題必須以<CR><LF>作為結尾(也就是,回車然后換行)。空行內必須只有<CR><LF>而無其他空格。在HTTP/1.1協議中,所有的標題除主機外都是可選的。
請求方法
HTTP 定義了八種方法來指示確認的資源執行所需的行為。?
GET 請求某個特殊的資源,是目前網上最通用的方法。不應該用于一些會造成副作用的操作中(在網絡軟件中使用是一個常見的錯誤用法)。參看下個目錄的安全方法。
?
?
DELETE 刪除特定資源
TRACE 返回接收的請求,客戶端可因此察看在請求過程中什么中間服務器被加進來或者有所改變。 OPTIONS 返回服務器支持的HTTP方法,這可以用來檢查網絡服務器的功能。
CONNECT 將請求連接轉換成透明的TCP/IP通道,通常通過非加密的HTTP代理利用SSL-加密通訊(HTTPS)。
編輯本段安全方法
有些方法(比如HEAD, GET, OPTIONS, and TRACE) 被定義為安全方法,這些方法針對的只是信息的返回,并不會改變服務器的狀態(換句話說就是這些方法不會產生副作用)。不安全的方法(例如POST, PUTand DELETE)應該用特殊的方式向用戶展示,通常是按鈕而不是鏈接,這樣就可以使用戶意識到可能要負的責任(例如一個按鈕帶來的資金交易。)超文本
超文本(Hypertext)是用超鏈結的方法,將各種不同空間的文字信息組織在一起的網狀文本。超文本更是一種用戶介面范式,用以顯示文本及與文本之間相關的內容。現時超文本普遍以電子文檔方式存在,其中的文字包含有可以鏈結到其他位置或者文檔的連結,允許從當前閱讀位置直接切換到超文本連結所指向的位置。超文本的格式有很多,目前最常使用的是超文本標記語言(Hyper TextMarkup Language,HTML)及富文本格式 (Rich TextFormat,RTF)。我們日常瀏覽的網頁上的鏈結都屬于超文本。2、一種按信息之間關系非線性地存儲、組織、管理和瀏覽信息的計算機技術。超文本技術將自然語言文本和計算機交互式地轉移或動態顯示線性文本的能力結合在一起,它的本質和基本特征就是在文檔內部和文檔之間建立關系,正是這種關系給了文本以非線性的組織。例子
下面是一個HTTP客戶端與服務器之間會話的例子,運行于www.g o o g l e. c o m,端口80客戶端請求:
?
Host:www.b a i d u.c o m
(緊跟著一個換行,通過敲入回車實現)
服務器應答:
HTTP/1.1 200 OK
Content-Length: 3059
Server: GWS/2.0
Date: Sat, 11 Jan 2003 02:44:04 GMT
Content-Type: text/html
Cache-control: private
Set-Cookie:PREF=ID=73d4aef52e57bae9:TM=1042253044:LM=1042253044:S=SMCc_HRPCQiqy X9j; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.g o og l e. c o m
Connection: keep-alive
(緊跟著一個空行,并且由HTML格式的文本組成了Google的主頁)
在HTTP1.0中,客戶端發送一個請求至服務器,服務器發送一個應答至客戶端。之后,連接將被釋放。另一方面,HTTP1.1支持持久連接。這使得客戶端可以發送請求并且接收應答,然后迅速的發送另一個請求和接收另一個應答。因為多個額外的請求,TCP連接并沒有被釋放,而每個請求中關于TCP的負載相對較少。同時,在得到上一個請求的應答之前發送多個請求(通常是兩個)也成為可能。這個技術被稱為“流水線”。