學習HTTP

http://blog.csdn.net/lmh12506/article/details/7794512html

 

HTTP協議是無狀態的和Connection: keep-alive的區別

  http協議是無狀態的,同一個客戶端的此次請求和上次請求是沒有對應關係,對http服務器來講,它並不知道這兩個請求來自同一個客戶端。 爲了解決這個問題, Web程序引入了Cookie機制來維護狀態.服務器

HTTP是一個無狀態的面向鏈接的協議,無狀態不表明HTTP不能保持TCP鏈接,更不能表明HTTP使用的是UDP協議(無鏈接)。.net

  從HTTP/1.1起,默認都開啓了Keep-Alive,保持鏈接特性,簡單地說,當一個網頁打開完成後,客戶端和服務器之間用於傳輸HTTP數據的TCP鏈接不會關閉,若是客戶端再次訪問這個服務器上的網頁,會繼續使用這一條已經創建的鏈接。代理

  Keep-Alive不會永久保持鏈接,它有一個保持時間,能夠在不一樣的服務器軟件(如Apache)中設定這個時間。htm

 

 

HTTP響應消息

1. 響應消息格式

HTTP響應消息的格式以下所示:blog

  狀態行資源

  通用信息頭|響應頭|實體頭io

  CRLFast

  實體內容登錄

  其中:狀態行 = 版本號 [空格] 狀態碼 [空格] 緣由 [回車換行]

  狀態行舉例:

  Eg1:

  HTTP/1.0 200 OK 

        Eg2:

  HTTP/1.1 400 Bad Request

       HTTP響應消息實例以下所示:

  HTTP/1.1 200 OK
  ETag: W/"158-1192590101000"
  Last-Modified: Wed, 17 Oct 2007 03:01:41 GMT
  Content-Type: text/html
  Content-Length: 158
  Date: Wed, 17 Oct 2007 03:01:59 GMT
  Server: Apache-Coyote/1.1
 

http的狀態響應碼

1:請求收到,繼續處理

  100——客戶必須繼續發出請求

  101——客戶要求服務器根據請求轉換HTTP協議版本

2:操做成功收到,分析、接受

  200——交易成功
  201——提示知道新文件的URL

  202——接受和處理、但處理未完成

  203——返回信息不肯定或不完整

  204——請求收到,但返回信息爲空

  205——服務器完成了請求,用戶代理必須復位當前已經瀏覽過的文件

  206——服務器已經完成了部分用戶的GET請求

3:完成此請求必須進一步處理

  300——請求的資源可在多處獲得

  301——刪除請求數據

  302——在其餘地址發現了請求數據

  303——建議客戶訪問其餘URL或訪問方式

  304——客戶端已經執行了GET,但文件未變化

  305——請求的資源必須從服務器指定的地址獲得

  306——前一版本HTTP中使用的代碼,現行版本中再也不使用

  307——申明請求的資源臨時性刪除

4:請求包含一個錯誤語法或不能完成

  400——錯誤請求,如語法錯誤

  401——未受權

  HTTP 401.1 - 未受權:登陸失敗

  HTTP 401.2 - 未受權:服務器配置問題致使登陸失敗

  HTTP 401.3 - ACL 禁止訪問資源

  HTTP 401.4 - 未受權:受權被篩選器拒絕

  HTTP 401.5 - 未受權:ISAPI 或 CGI 受權失敗

  402——保留有效ChargeTo頭響應

  403——禁止訪問

  HTTP 403.1 禁止訪問:禁止可執行訪問

  HTTP 403.2 - 禁止訪問:禁止讀訪問

  HTTP 403.3 - 禁止訪問:禁止寫訪問

  HTTP 403.4 - 禁止訪問:要求 SSL

  HTTP 403.5 - 禁止訪問:要求 SSL 128

  HTTP 403.6 - 禁止訪問:IP 地址被拒絕

  HTTP 403.7 - 禁止訪問:要求客戶證書

  HTTP 403.8 - 禁止訪問:禁止站點訪問

  HTTP 403.9 - 禁止訪問:鏈接的用戶過多

  HTTP 403.10 - 禁止訪問:配置無效

  HTTP 403.11 - 禁止訪問:密碼更改

  HTTP 403.12 - 禁止訪問:映射器拒絕訪問

  HTTP 403.13 - 禁止訪問:客戶證書已被吊銷

  HTTP 403.15 - 禁止訪問:客戶訪問許可過多

  HTTP 403.16 - 禁止訪問:客戶證書不可信或者無效

  HTTP 403.17 - 禁止訪問:客戶證書已經到期或者還沒有生效

  404——沒有發現文件、查詢或URl

  405——用戶在Request-Line字段定義的方法不容許

  406——根據用戶發送的Accept拖,請求資源不可訪問

  407——相似401,用戶必須首先在代理服務器上獲得受權

  408——客戶端沒有在用戶指定的餓時間內完成請求

  409——對當前資源狀態,請求不能完成

  410——服務器上再也不有此資源且無進一步的參考地址

  411——服務器拒絕用戶定義的Content-Length屬性請求

  412——一個或多個請求頭字段在當前請求中錯誤

  413——請求的資源大於服務器容許的大小

  414——請求的資源URL長於服務器容許的長度

  415——請求資源不支持請求項目格式

  416——請求中包含Range請求頭字段,在當前請求資源範圍內沒有range指示值,請求也不包含If-Range請求頭字段

  417——服務器不知足請求Expect頭字段指定的指望值,若是是代理服務器,多是下一級服務器不能知足請求長。

5:服務器執行一個徹底有效請求失敗

  HTTP 500 - 內部服務器錯誤

  HTTP 500.100 - 內部服務器錯誤 - ASP 錯誤

  HTTP 500-11 服務器關閉

  HTTP 500-12 應用程序從新啓動

  HTTP 500-13 - 服務器太忙

  HTTP 500-14 - 應用程序無效

  HTTP 500-15 - 不容許請求 global.asa

  Error 501 - 未實現

  HTTP 502 - 網關錯誤

相關文章
相關標籤/搜索