Http應用層協議
阿新 • • 發佈:2018-12-12
先說一下 網路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)、空行和請求資料四個部分組成,下圖給出了請求報文的一般格式。
瀏覽器 F12 可以看到如下的格式:
伺服器響應訊息
HTTP響應也由四個部分組成,分別是:狀態行、訊息報頭、空行和響應正文。
下面是常見的HTTP狀態碼:
- 200 - 請求成功
- 301 - 資源(網頁等)被永久轉移到其它URL
- 302 - 重定向Location 同301 只不過是暫時的
- 403 - 傳送了請求,伺服器接收到了但不允許訪問
- 404 - 請求的資源(網頁等)不存在
- 500 - 內部伺服器錯誤