http中post和get區別,是不是用get的方法用post都能辦到?
http定義了與伺服器互動的不同方法,最基本的方法有4種,分別是get,post,put,delete。url全稱是資源描述符,我們可以這樣認為:乙個url位址,它用於描述乙個網路上的資源,而http中的get,post,put,delete就對應著對這個資源的查,改,增,刪4個操作。到這裡,大家應該有個大概的了解了,get一般用於獲取/查詢資源資訊,而post一般用於更新資源資訊。細細描述,大概有下面幾點:
1. get是從伺服器上獲取資料,post是向伺服器傳送資料。
2. get是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個字段一一對應,在url中可以看到。post把提交的資料則放置在是http包的包體中,是通過http post機制,將表單內各個字段與其內容放置在html header內一起傳送到action屬性所指的url位址。使用者看不到這個過程。
3. 安全性方面:對於get方式,伺服器端用request.querystring獲取變數的值,對於post方式,伺服器端用request.form獲取提交的資料。
4.傳輸資料量方面: get傳送的資料量較小,不能大於2kb。理論上講,post是沒有大小限制的,http協議規範也沒有進行大小限制,說「post資料量存在80k/100k的大小限制」是不準確的,post資料是沒有限制的,起限制作用的是伺服器的處理程式的處理能力。
5. 執行效率:get安全性非常低,post安全性較高。但是執行效率卻比post方法好。
根據http規範,get用於資訊獲取,而且應該是安全的和冪等的。
1.安全:
安全是指意味著該操作用於獲取資訊而非修改資訊。換句話說,get 請求一般不應產生***。就是說,它僅僅是獲取資源資訊,就像資料庫查詢一樣,不會修改,增加資料,不會影響資源的狀態。
* 注意:這裡安全的含義僅僅是指是非修改資訊。
2.冪等:
此處冪等的意味著對同一url的多個請求應該返回同樣的結果。
我們先來了解一下冪等的概念:
冪等(idempotent、idempotence)是乙個數學或計算機學概念,常見於抽象代數中。
冪等有以下幾種定義:
對於單目運算,如果乙個運算對於在範圍內的所有的乙個數多次進行該運算所得的結果和進行一次該運算所得的結果是一樣的,那麼我們就稱該運算是冪等的。比如絕對值運算就是乙個例子,在實數集中,有abs(a)=abs(abs(a))。
對於雙目運算,則要求當參與運算的兩個值是等值的情況下,如果滿足運算結果與參與運算的兩個值相等,則稱該運算冪等,如求兩個數的最大值的函式,有在在實數集中冪等,即max(x,x) = x。
但在實際應用中,以上2條規定並沒有這麼嚴格。比如,新聞站點的頭版不斷更新。雖然第二次請求會返回不同的一批新聞,該操作仍然被認為是安全的和冪等的,因為它總是返回當前的新聞。從根本上說,如果目標是當使用者開啟乙個鏈結時,他可以確信從自身的角度來看沒有改變資源即可。
根據http規範,post表示可能修改變伺服器上的資源的請求
下面補充談一下http協議中的其他方法:http/1.1協議中共定義了八種方法(有時也叫「動作」)來表明request-uri指定的資源的不同操作方式
options
返回伺服器針對特定資源所支援的http請求方法。也可以利用向web伺服器傳送'*'的請求來測試伺服器的功能性。
head
向伺服器索要與get請求相一致的響應,只不過響應體將不會被返回。這一方法可以在不必傳輸整個響應內容的情況下,就可以獲取包含在響應訊息頭中的元資訊。
get
向特定的資源發出請求。注意:get方法不應當被用於產生「***」的操作中。
post
向指定資源提交資料進行處理請求(例如提交表單或者上傳檔案)。資料被
包含在請求體中。post請求可能會導致新的資源的建立和/或已有資源的修改。
put
delete
請求伺服器刪除request-uri所標識的資源。
trace
回顯伺服器收到的請求,主要用於測試或診斷。
connect
http/1.1協議中預留給能夠將連線改為管道方式的**伺服器。
php中運用http呼叫的GET和POST方法
使用到的函式是curl init,curl setopt,curl exec,curl close。預設是get方法,可以選擇是否使用header ch curl init curl setopt ch,curlopt url,url curl setopt ch,curlopt timeout,2...
HTTP協議中 POST和GET的區別
權威點的說明請參考 通俗的理解是 一 get的特點。主要用於簡單的獲取頁面資訊,同時也可以包含一些特殊的請求資訊 如 提交使用者名稱 密碼之類的 如果有,則將它附著在url尾部,以?隔開,空格轉化為 實際上是將其放在http請求協議頭部,而且這些資料最多不能超過1024個位元組 形如 http lo...
HTTP協議中的GET和POST方法
早期的http協議只有get方法。遵從http協議,伺服器接收到get請求後,會將特定資源傳送給客戶。這類似於客戶點單,並獲得漢堡的過程。使用get方法時,是客戶向伺服器索取資源,所以請求往往沒有主體部分。get方法也可以用於傳輸一些不重要的資料。它是通過改寫url的方式實現的。get的資料利用ur...