HTTP協議
發表于:2007-07-02來源:作者:點擊數:
標簽:
HTTP服務器與HTTP客戶機之間的會話如下: 1客戶機與服務器建立聯系 與服務器建立連接,就是與SOCKET建立連接,因此要指定機器名稱、資源名稱和斷口號,可以通過URL來提供這些信息。URL的格式為: HTTP://IP地址/[端口號]/[路徑][?查詢信息] 資源的缺省值是IN
HTTP服務器與HTTP客戶機之間的會話如下:
1 客戶機與服務器建立聯系
與服務器建立連接,就是與SOCKET建立連接,因此要指定機器名稱、資源名稱和斷口號,可以通過URL來提供這些信息。URL的格式為:
HTTP://<IP地址>/[端口號]/[路徑][?<查詢信息>]
資源的缺省值是INDEX或DEFAULT,斷口號缺省為80.
2 客戶向服務器提出請求
請求信息包括希望返回的文件名和客戶機信息.客戶機信息以請求頭發送給服務器,請求頭包括HTTP方法和頭字段.
HTTP方法常用的有GET、HEAD、POST,而PUT、DELETE、LINK、UNLINK方法
許多HTTP服務器都不使用。
頭字段包括:
。DATE:請求發送的日期和時間
。PARGMA:用于向服務器傳輸與實現無關的信息。這個字段還用于告訴代理服
務器,要從實際服務器而不是從高速緩存取資源
。FORWARDED:可以用來追蹤機器之間,而不是客戶機和服務器的消息。這個字段
可以用來追蹤在代理服務器之間的傳遞路由。
。MESSAGE_ID:用于唯一地標識消息
。A
CCEPT: 通知服務器客戶所能接受的數據類型和尺寸。(*/*表示可以接受
所有類型的數據。
。AOTHORIZATION:向服務器提供旁路
安全保護和加密機制,若服務器
不需要這個字段,則不提供這個字段
。FROM:當客戶應用程序希望想服務器提供有關其電子郵件地址時使用
。IF-MODEFIED-SINCE用于提供條件GET。如果所請求的文檔自從所指定
的日期以來沒有發生變化,則服務器應不發送該對象。如果所發送的日期格式不合
法,或晚于服務器的日期,服務器會忽略該字段
。BEFERRER:向服務器進行資源請求用到的對象
。
MIME-VERTION:用于處理不同類型文件的MIME協議版本號
。USER-AGENT:有關發出請求的客戶信息
3 服務器對請求作出應答
服務器收到一個請求,就會立刻解釋請求中所用到的方法,并開始處理應答。
服務器的應答消息也包含頭字段形式的報文信息。
。報文第一行是狀態行,格式為 <HTTP版本號><狀態代碼><解釋短語>
狀態碼是個三位數字碼,分為四類:
。以2開頭,表示請求被成功處理
。以3開頭,表示請求被重定向
。以4開頭,表示客戶的請求有錯
。以5開頭,表示服務器不能滿足請求
解釋短語是對狀態碼的解釋。
。報文還向客戶返回幾個頭字段,如:
。STATUS CODE/REASON PHRASE
。DATE
。LAST-MODIFIED
。SERVER
。CONTENT _TYPE
。RETRY_AFTER:服務器太忙時返回這個字段
。WWW_AUTHENTICATE:當服務器的安全機制要求客戶發送某中授權信息時使用該字段
。報文最后是實體信息,即客戶請求得到的HTTP服務器上的資源內容。
4 關閉客戶與服務器之間的連接
原文轉自:http://www.kjueaiud.com