http協議介紹

HTTP介紹

  • HTTP協議(HyperText Transfer Protocol,超文本傳輸協議),是用於從萬維網(WWW:World Wide Web )服務器傳輸超文本到本地瀏覽器的傳送協議。
  • HTTP是一個基於TCP/IP通信協議來傳遞數據(HTML 文件, 圖片文件,聲音文件,視頻文件, 查詢結果等)。
  • HTTP協議工作於客戶端-服務端架構上。瀏覽器作爲HTTP客戶端通過URL向HTTP服務端即WEB服務器發送所有請求。
  • Web服務器有:Apache服務器,IIS服務器(Internet Information Services)等。
  • HTTP默認端口號爲80,但是你也可以改爲8080或者其他端口。
  • HTTP特性:無連接、媒體獨立、無狀態。
  • 客戶端發送一個HTTP請求到服務器的請求消息包括以下格式:請求行(request line)、請求頭部(header)、空行和請求數據四個部分組成。
  • HTTP響應也由四個部分組成,分別是:狀態行(http版本、狀態碼)、消息報頭(時間、編碼方式、內容長度)、空行和響應正文。

HTTP請求方法

  • HTTP1.0定義了三種請求方法: GET, POST 和 HEAD方法。
  • HTTP1.1新增了五種請求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

HTTP協議get與post的區別

  • GET在瀏覽器回退時是無害的,而POST會再次提交請求。
  • GET產生的URL地址可以被Bookmark,而POST不可以。
  • GET請求會被瀏覽器主動cache,而POST不會,除非手動設置。
  • GET請求只能進行url編碼,而POST支持多種編碼方式。
  • GET請求參數會被完整保留在瀏覽器歷史記錄裏,而POST中的參數不會被保留。
  • GET請求在URL中傳送的參數是有長度限制的,而POST沒有。
  • 對參數的數據類型,GET只接受ASCII字符,而POST沒有限制。
  • GET比POST更不安全,因爲參數直接暴露在URL上,所以不能用來傳遞敏感信息。
  • GET參數通過URL傳遞,POST放在Request body中。

HTTP狀態碼

100  Continue  

101 Switching Protocols 切換協議。

200 OK   請求成功。一般用於GET與POST請求

201  Created  已創建。成功請求並創建了新的資源

202  Accepted  已接受。已經接受請求,但未處理完成

203  Non-Authoritative Information  非授權信息。請求成功。但返回的meta信息不在原始的服務器,而是一個副本

204  No Content  無內容。服務器成功處理,但未返回內容。在未更新網頁的情況下,可確保瀏覽器繼續顯示當前文檔

205 Reset Content  重置內容。服務器處理成功,用戶終端(例如:瀏覽器)應重置文檔視圖。可通過此返回碼清除瀏覽器的表單域

206  Partial Content  部分內容。服務器成功處理了部分GET請求

300  Multiple Choices 多種選擇。

301  Moved Permanently  永久移動。請求的資源已被永久的移動到新URI,返回信息會包括新的URI,瀏覽器會自動定向到新URI。今後任何新的請求都應使用新的URI代替

302  Found  臨時移動。與301類似。但資源只是臨時被移動。客戶端應繼續使用原有URI

303  See Other  查看其它地址。與301類似。使用GET和POST請求查看

304  Not Modified  未修改。所請求的資源未修改,服務器返回此狀態碼時,不會返回任何資源。客戶端通常會緩存訪問過的資源,通過提供一個頭信息指出客戶端希望只返回在指定日期之後修改的資源

305  Use Proxy  使用代理。所請求的資源必須通過代理訪問

306  Unused  已經被廢棄的HTTP狀態碼

307  Temporary Redirect  臨時重定向。與302類似。使用GET請求重定向

400  Bad Request  客戶端請求的語法錯誤,服務器無法理解

401  Unauthorized  請求要求用戶的身份認證

403  Forbidden  服務器理解請求客戶端的請求,但是拒絕執行此請求

404  Not Found  服務器無法根據客戶端的請求找到資源(網頁)。通過此代碼,網站設計人員可設置"您所請求的資源無法找到"的個性頁面

405  Method Not Allowed  客戶端請求中的方法被禁止

406  Not Acceptable  服務器無法根據客戶端請求的內容特性完成請求

407  Proxy Authentication Required  請求要求代理的身份認證,與401類似,但請求者應當使用代理進行授權

408  Request Time-out  服務器等待客戶端發送的請求時間過長,超時

409  Conflict   服務器完成客戶端的PUT請求是可能返回此代碼,服務器處理請求時發生了衝突

410  Gone  客戶端請求的資源已經不存在。410不同於404,如果資源以前有現在被永久刪除了可使用410代碼,網站設計人員可通過301代碼指定資源的新位置

411  Length Required  服務器無法處理客戶端發送的不帶Content-Length的請求信息

412  Precondition Failed  客戶端請求信息的先決條件錯誤

413  Request Entity Too Large  由於請求的實體過大,服務器無法處理,因此拒絕請求。爲防止客戶端的連續請求,服務器可能會關閉連接。如果只是服務器暫時無法處理,則會包含一個Retry-After的響應信息

414  Request-URI Too Large  請求的URI過長(URI通常爲網址),服務器無法處理

415  Unsupported Media Type  服務器無法處理請求附帶的媒體格式

416  Requested range not satisfiable  客戶端請求的範圍無效

417  Expectation Failed  服務器無法滿足Expect的請求頭信息

500  Internal Server Error  服務器內部錯誤,無法完成請求

501  Not Implemented  服務器不支持請求的功能,無法完成請求

502  Bad Gateway  作爲網關或者代理工作的服務器嘗試執行請求時,從遠程服務器接收到了一個無效的響應

503  Service Unavailable  由於超載或系統維護,服務器暫時的無法處理客戶端的請求。延時的長度可包含在服務器的Retry-After頭信息中

504  Gateway Time-out  充當網關或代理的服務器,未及時從遠端服務器獲取請求

505  HTTP Version not supported  服務器不支持請求的HTTP協議的版本

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章