Asp.net
HttpRequest的HttpMethod和RequestType有什麼區別?
HttpRequest類定義了兩個屬性:
獲取客戶端使用的 HTTP 數據傳輸方法(如 GET、POST 或 HEAD)。
public string HttpMethod { get; }客戶端使用的 HTTP 數據傳輸方法。
和**RequestType**:
獲取或設置客戶端使用的 HTTP 數據傳輸方法(GET 或 POST)。
public string RequestType { get; set; }表示客戶端發送的 HTTP 呼叫類型的字元串。
這兩個屬性有什麼區別?我什麼時候想使用其中一個?哪個是正確的檢查以查看客戶端使用了哪種數據傳輸方法?
文件表明HttpMethod將返回使用的任何動詞:
例如 GET、POST 或 HEAD
而RequestType上的文件似乎只指出了兩個可能值之一:
獲取或發布
我用動詞的隨機抽樣進行了測試,兩個屬性似乎都支持所有動詞,並且都返回相同的值:
測試:
Client Used HttpMethod RequestType GET GET GET POST POST POST HEAD HEAD HEAD CONNECT CONNECT CONNECT MKCOL MKCOL MKCOL PUT PUT PUT FOOTEST FOOTEST FOOTEST有什麼區別:
- HttpRequest.HttpMethod
- HttpRequest.RequestType
我什麼時候應該使用另一個?
反射器顯示內部
RequestType呼叫HttpMethod。所以你打電話會稍微HttpMethod好一點。實際上,我認為RequestType存在的真正原因是與經典 ASP 的向後兼容性。