http

1.什麼是HTTP?html

HTTP是一個屬於應用層的面向對象的協議,因爲其簡捷、快速的方式,適用於分佈式超媒體信息系統。它於1990年提出,通過幾年的使用與發展,獲得不斷地完善和擴展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的規範化工做正在進行之中,並且HTTP-NG(Next Generation of HTTP)的建議已經提出。瀏覽器

2.HTTP的主要特色:服務器

1.支持客戶/服務器模式。
2.簡單快速:客戶向服務器請求服務時,只需傳送請求方法和路徑。請求方法經常使用的有GET、HEAD、POST。每種方法規定了客戶與服務器聯繫的類型不一樣。因爲HTTP協議簡單,使得HTTP服務器的程序規模小,於是通訊速度很快。
3.靈活:HTTP容許傳輸任意類型的數據對象。正在傳輸的類型由Content-Type加以標記。
4.無鏈接:無鏈接的含義是限制每次鏈接只處理一個請求。服務器處理完客戶的請求,並收到客戶的應答後,即斷開鏈接。採用這種方式能夠節省傳輸時間。
5.無狀態:HTTP協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺乏狀態意味着若是後續處理須要前面的信息,則它必須重傳,這樣可能致使每次鏈接傳送的數據量增大。另外一方面,在服務器不須要先前信息時它的應答就較快。
分佈式

3.HTPP協議請求:性能

請求行以一個方法符號開頭,以空格分開,後面跟着請求的URI和協議的版本,格式以下:Method Request-URI HTTP-Version CRLF  
其中 Method表示請求方法;Request-URI是一個統一資源標識符;HTTP-Version表示請求的HTTP協議版本;CRLF表示回車和換行(除了做爲結尾的CRLF外,不容許出現單獨的CR或LF字符)。測試

請求方法(全部方法全爲大寫)有多種,各個方法的解釋以下:
GET     請求獲取Request-URI所標識的資源
POST    在Request-URI所標識的資源後附加新的數據
HEAD    請求獲取由Request-URI所標識的資源的響應消息報頭
PUT     請求服務器存儲一個資源,並用Request-URI做爲其標識
DELETE  請求服務器刪除Request-URI所標識的資源
TRACE   請求服務器回送收到的請求信息,主要用於測試或診斷
CONNECT 保留未來使用
OPTIONS 請求查詢服務器的性能,或者查詢與資源相關的選項和需求
應用舉例:
GET方法:在瀏覽器的地址欄中輸入網址的方式訪問網頁時,瀏覽器採用GET方法向服務器獲取資源,eg:GET /form.html HTTP/1.1 (CRLF)spa

POST方法要求被請求服務器接受附在請求後面的數據,經常使用於提交表單。orm

4.HTTP響應:htm

    在接收和解釋請求消息後,服務器返回一個HTTP響應消息。對象

HTTP響應也是由三個部分組成,分別是:狀態行、消息報頭、響應正文一、狀態行格式以下:HTTP-Version Status-Code Reason-Phrase CRLF其中,HTTP-Version表示服務器HTTP協議的版本;Status-Code表示服務器發回的響應狀態代碼;Reason-Phrase表示狀態代碼的文本描述。狀態代碼有三位數字組成,第一個數字定義了響應的類別,且有五種可能取值:1xx:指示信息--表示請求已接收,繼續處理2xx:成功--表示請求已被成功接收、理解、接受3xx:重定向--要完成請求必須進行更進一步的操做4xx:客戶端錯誤--請求有語法錯誤或請求沒法實現5xx:服務器端錯誤--服務器未能實現合法的請求常見狀態代碼、狀態描述、說明:200 OK      //客戶端請求成功400 Bad Request  //客戶端請求有語法錯誤,不能被服務器所理解401 Unauthorized //請求未經受權,這個狀態代碼必須和WWW-Authenticate報頭域一塊兒使用 403 Forbidden  //服務器收到請求,可是拒絕提供服務404 Not Found  //請求資源不存在,eg:輸入了錯誤的URL500 Internal Server Error //服務器發生不可預期的錯誤503 Server Unavailable  //服務器當前不能處理客戶端的請求,一段時間後可能恢復正常

相關文章
相關標籤/搜索