HTTP协议方法及状态码(HTTP协议入门必备)
目錄
?
基本概念
使用telnet演示HEAD方法
使用telnet演示TRACE方法
使用telnet演示OPTIONS方法
HTTP響應中的狀態碼
304響應演示
使用telnet演示304響應
?
基本概念
客戶端:
請求行(請求方法 路徑 協議)
空行
主體信息(可選)(發送內容)
如:
POST /index.jsp HTTP/1.1 Host: localhost Content: type: application/x-www-form-urlencode Content-length: 5Age=3?
響應行(協議 狀態碼 狀態文字)
響應頭信息(格式為 key:value)
空行
主體信息(也可能沒有)
如:
HTTP/1.1 200 OK Content-type: text/html Content-length: 5hello?
請求方法有:GET POST HEAD PUT TRACE DELETE OPTIONS
?
使用telnet演示HEAD方法
如下命令:
HEAD /index.jsp HTTP/1.1 Host: 47.101.40.99響應截圖如下:
如果查看沒有的文件,如下下代碼:
HEAD /index.html HTTP/1.1 Host: 47.101.40.99響應截圖如下:
Head的效果為,只給出響應頭,不給出內容。
?
使用telnet演示TRACE方法
TRACE:如果用代理上某個網站,想看看代理有沒有修改HTTP請求,就可以用TRACE來測試。TRACE可以獲取訪問那個網站的最后收到的請求。
如下命令:
TRACE / HTTP/1.1 Host: 47.101.40.99響應頭如下:
這里響應是是405,說明這個方法不能用,服務器沒有開啟這個方法
?
使用telnet演示OPTIONS方法
OPTIONS:是返回服務器可用的請求方法。
OPTIONS /index.jsp HTTP/1.1 Host: localhost響應如下:
這里可以知道,本地服務器運行的方法有GET、HEAD、POST、OPTIONS、TRACE
?
HTTP響應中的狀態碼
| 狀態碼 | 定義 | 說明 |
| 1XX | 信息 | 接收到請求,繼續處理 |
| 2XX | 成功 | 操作成功收到,理解和接收 |
| 3XX | 重定義 | 為了完成請求,必須采用進一步措施 |
| 4XX | 客戶端錯誤 | 請求的語法有錯誤或不能完全被滿足 |
| 5XX | 服務端錯誤 | 服務器無法完成明顯有效的效果 |
200:服務器成功放好網頁
301/2:永久/臨時重定向
304:Not Modified未修改
?
失敗的狀態碼:
404:請求的網頁不存在
503:服務器暫時不可用
500:服務器內部錯誤
?
304響應演示
304是指取緩存:
如構造如下的界面
代碼如下:
<img src = "tomcat.png">在此刷新后就會出現304的響應:
查看下響應信息:
客戶端,多了這幾個if的變化,因為客戶端緩存里有這個圖片,才會發送的。他只是不確定這個圖片是不是變過!
這里的Response Headers里面用ETag來判斷是否要更新,會配合Last-Modified,服務器就根據他發過來的ETag,Last-Modified,發送回報信息!
?
使用telnet演示304響應
構造如下的HTTP協議
GET /img/index.html HTTP/1.1 Host: localhost運行截圖如下:
增加如下信息,即可響應304
HTTP構造如下:
GET /img/index.html HTTP/1.1 Host: localhost If-Modified-Since: Fri, 22 Feb 2019 03:08:38 GMT If-None-Match: "18-58272e845856e"運行截圖如下:
?
?
?
?
總結
以上是生活随笔為你收集整理的HTTP协议方法及状态码(HTTP协议入门必备)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java笔记-Servlet相关记录
- 下一篇: QML工作笔记-界面登录框设置(方便其他