HTTP請求方法剖析/響應狀態碼

HTTP請求方法剖析

HTTP/1.1常用方法
GET
POST
PUT
HEAD
DELETE
OPTIONS
TRACE
CONNECT

1.GET獲取資源
GET方法用來請求訪問已被URI識別的資源(是默認的請求方式)
指定的資源經服務器端解析後返回響應內容

GET方法也可以用來提交表單和其他數據
在這裏插入圖片描述比如:
http://localhost/login.php?username=aa&password=1234
從上面的URL請求中,很容易就可以辨認出表單提交的內容,同時,瀏覽器對提交URL的長度也有所限制(一般IE是最短的,火狐會長一些)

2.POST
POST方法與GET功能類似,一般用來傳輸實體的主體
POST方法的主要目的不是獲取響應主體的內容,而是真正的做提交請求(提交一些大批量的數據)
POST時數據不再是URL的一部分,而是標準數據傳輸,同時提高了安全性
在這裏插入圖片描述
get和post的區別:
1.get方式發送的數據在url裏提交,可以看到,post數據放在包裏
2.get有大小限制,post沒有大小限制
3.用get參數會顯示在地址欄上,所以如果輸入的數據不是什麼敏感性數據,用get即可。
但是不是說用post就不容易被攔截數據,用get就容易被攔截數據,無論是get還是post都有可能被拿到數據
而是比如在一個人去往網吧或者圖書館這種公共場所訪問某個網頁,別人用你用過的瀏覽器的歷史記錄,拿到你很多的信息比如用戶名密碼等。而post沒有get這麼容易被發現數據

3.PUT
從客戶端向服務器傳送的數據取代指定的文檔的內容
PUT方法與POST方法最大的不同是:
PUT是冪等(不管進行多少次操作,都是實現相同的結果,比如我有一個大房子種了花,我還想搞個噴泉,這個噴泉如果需要把花花覆蓋到,就用put,在花花旁邊的話就用post)的,而POST是不冪等的
因此,我們更多時候將PUT方法用作傳輸資源
後端代碼可以用POST完成更新對象,所以現在基本不用PUT了

4.HEAD
類似於GET請求,只不過返回的響應中沒有具體的內容,用於獲取報頭
經常用來測試超鏈接的有效性(去測試這個鏈接是不是能夠訪問)

5.DELETE
請求服務器刪除指定的資源(和put方法一樣,沒有驗證機制,很容易被攻擊者利用,所以也不大用)

6.OPTIONS
用來查詢針對請求URI指定的資源支持的方法(支持哪些HTTP方法),不知道對方支持啥方法,你就詢問一下。
在這裏插入圖片描述
7.TRACE/CONNECT
TRACE:
回顯服務器收到的請求,主要用於測試或診斷(客戶端可以用trace去查詢發送出去的請求到底是怎麼被加工篡改的)
本身不怎麼常用,容易引發跨站追蹤的攻擊,用了這個方法算是一個漏洞

8.CONNECT
開啓一個客戶端與所請求資源之間的雙向溝通的通道,它可以用來創建隧道
(使用代理服務器訪問fb,就是用connect,代理服務器傳輸彼此的數據包,一般不大常用)

HTTP響應狀態碼拆解:(傾聽對方)

狀態碼
是用以表示網頁服務器超文本傳輸協議響應狀態的3位數字代碼
在這裏插入圖片描述常見狀態碼詳解
1打頭
在這裏插入圖片描述2打頭
在這裏插入圖片描述3開頭一律表示重定向,從地址A跳轉到地址B,頁面,域名,路由等的重定向。
在這裏插入圖片描述
在這裏插入圖片描述4開頭代表某種意義上的錯誤,服務器接收到了也處理了,但是和自己預期的結果不大相同。

3開頭一律表示重定向,從地址A跳轉到地址B,頁面,域名,路由等的重定向。5打頭
在這裏插入圖片描述

狀態代碼有三位數字組成,第一個數字定義了響應的類別,共分五種類別:
1xx:指示信息–表示請求已接收,繼續處理
2xx:成功–表示請求已被成功接收、理解、接受
3xx:重定向–要完成請求必須進行更進一步的操作
4xx:客戶端錯誤–請求有語法錯誤或請求無法實現
5xx:服務器端錯誤–服務器未能實現合法的請求

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