HTTP協(xié)議是一個廣泛應(yīng)用的 Internet 協(xié)議,根據(jù) HTTP 標準,HTTP 請求可以使用多種請求方法
HTTP1.0 定義了三種請求方法:GET、POST 和 HEAD
HTTP1.1 新增了五種請求方法:OPTIONS、PUT、DELETE、TRACE 和 CONNECT
這8種HTTP請求方法中 GET 和 POST 方法最為常見。
| 方法 | 簡述 |
|---|---|
| GET 獲取資源 | 請求指定頁面的信息,并返回實體的主體,它本質(zhì)就是發(fā)送一個請求來取得服務(wù)器上的某一資源,指定的資源經(jīng)服務(wù)器端解析后返回給客戶端響應(yīng)的內(nèi)容。最常用于向服務(wù)器查詢某些信息 |
| POST 傳輸實體文本 | 向URL指定的資源提交數(shù)據(jù)進行處理請求(如提交表單或上傳文件),數(shù)據(jù)被包含在請求體中。POST 請求可能會導(dǎo)致新的資源建立或已有資源的修改。 |
| HEAD | 類似于 get 請求,只不過返回的響應(yīng)中沒有具體的內(nèi)容,用于獲取報文頭部 |
| PUT | 從客戶端向服務(wù)器傳送的數(shù)據(jù)取代指定的文檔的內(nèi)容。 |
| DELETE | 請求服務(wù)器刪除指定的頁面。 |
| CONNECT | HTTP/1.1 協(xié)議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器。 |
| OPTIONS | 允許客戶端查看服務(wù)器的性能。 |
| TRACE | 回顯服務(wù)器收到的請求,主要用于測試或診斷。 |
GET和POST的區(qū)別
???????GET 提交的數(shù)據(jù)會放在 URL 之后,以?分割 URL 和傳輸數(shù)據(jù),參數(shù)之間以&相連,如:
???????EditPosts.aspx?name=test1&id=123456。POST 方法是把提交的數(shù)據(jù)放在 HTTP 包的Body中。
???????GET 提交的數(shù)據(jù)大小有限制(因為瀏覽器對 URL 的長度有限制),而 POST 方法提交的數(shù)據(jù)沒有限制。
???????GET 方式需要使用 Request.QueryString 來取得變量的值,而 POST 方式通過Request.Form來獲取變量的值。
???????GET 方式提交數(shù)據(jù),會帶來安全問題,比如一個登錄頁面,通過 GET 方式提交數(shù)據(jù)時,用戶名和密碼將出現(xiàn)在 URL 上,如果頁面可以被緩存或者其他人可以訪問這臺機器,就可以從歷史記錄獲得該用戶的賬號和密碼。