1. 程式人生 > >Http應用層協議

Http應用層協議

先說一下 網路7層協議

應用層   檔案傳輸,電子郵件,檔案服務,虛擬終端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示層   資料格式化,程式碼轉換,資料加密 沒有協議 會話層   解除或建立與別的接點的聯絡 沒有協議 傳輸層   提供端對端的介面 TCP,UDP 網路層   為資料包選擇路由 IP,ICMP,RIP,OSPF,BGP,IGMP 資料鏈路層   傳輸有地址的幀以及錯誤檢測功能 SLIP,CSLIP,PPP,ARP,RARP,MTU 物理層   以二進位制資料形式在物理媒體上傳輸資料 ISO2110,IEEE802,IEEE802.2

--------------------HTTP 應用層-------------------

HTTP: 超文字傳輸協議

http協議是無連線,無狀態的   即是:一次請求--響應  然後斷開連結

HTTP預設埠號為80,但是你也可以改為8080或者其他埠

流程如下:

HTTP協議 有 1.0&1.1 兩個版本

HTTP1.0定義了三種請求方法: GET, POST 和 HEAD方法。

常用get(響應的資訊放在URI上面返回) post(響應的資訊放在body中返回)

HTTP1.1新增了五種請求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

HTTP 協議 8種對 Request-URI 指定的資源的不同操作方式:

  •  OPTIONS:返回伺服器針對特定資源所支援的HTTP請求方法。也可以利用向Web伺服器傳送'*'的請求來測試伺服器的功能性。
  •  HEAD:向伺服器索要與GET請求相一致的響應,只不過響應體將不會被返回。這一方法可以在不必傳輸整個響應內容的情況下,就可以獲取包含在響應訊息頭中的元資訊。
  •  GET:向特定的資源發出請求。
  •  POST:向指定資源提交資料進行處理請求(例如提交表單或者上傳檔案)。資料被包含在請求體中。POST請求可能會導致新的資源的建立和/或已有資源的修改。
  •  PUT:向指定資源位置上傳其最新內容。
  •  DELETE:請求伺服器刪除 Request-URI 所標識的資源。
  •  TRACE:回顯伺服器收到的請求,主要用於測試或診斷。
  •  CONNECT:HTTP/1.1 協議中預留給能夠將連線改為管道方式的代理伺服器。

Request-------------------請求&響應----------------------Response

客戶端傳送一個HTTP請求到伺服器的請求訊息包括以下格式:請求行(request line)、請求頭部(header)、空行和請求資料四個部分組成,下圖給出了請求報文的一般格式。

2012072810301161

瀏覽器 F12  可以看到如下的格式:

伺服器響應訊息

HTTP響應也由四個部分組成,分別是:狀態行、訊息報頭、空行和響應正文。

下面是常見的HTTP狀態碼:

  • 200 - 請求成功
  • 301 - 資源(網頁等)被永久轉移到其它URL
  • 302 - 重定向Location  同301 只不過是暫時的 
  • 403 - 傳送了請求,伺服器接收到了但不允許訪問
  • 404 - 請求的資源(網頁等)不存在
  • 500 - 內部伺服器錯誤