get與post的區別

2021-10-09 17:09:27 字數 1033 閱讀 5557

http定義了與伺服器互動的不同方法,最基本的方法有4種,分別是get,post,put,delete。

1.url可見性:

get,引數url可見

post,url引數不可見

**get把請求的資料放在url上,即http協議頭上,其格式為:以?分割url和傳輸資料,引數之間以&相連;post把資料放在http的包體內(requrest body)

2.傳輸資料的大小:

get一般傳輸資料大小不超過2k-4k

post請求傳輸資料的大小根據php.ini 配置檔案設定,也可以無限大

**get提交的資料最大是2k(原則上url長度無限制,那麼get提交的資料也沒有限制咯?限制實際上取決於瀏覽器,瀏覽器通常都會限制url長度在2k個位元組,即使(大多數)伺服器最多處理64k大小的url,也沒有卵用);

post理論上沒有限制。實際上iis4中最大量為80kb,iis5中為100kb

3.資料傳輸上:

get,通過拼接url進行傳遞引數

post,通過body體傳輸引數

**get產生乙個tcp資料報,瀏覽器會把http header和data一併傳送出去,伺服器響應200(返回資料);

post產生兩個tcp資料報,瀏覽器先傳送header,伺服器響應100 continue,瀏覽器再傳送data,伺服器響應200 ok(返回資料)

4.後退頁面的反應:

get請求頁面後退時,不產生影響

post請求頁面後退時,會重新提交請求

**get在瀏覽器回退時是無影響的,post會再次提交請求

5.快取性:

get請求是可以快取的

post請求不可以快取

**get請求會被瀏覽器主動cache,而post不會,除非手動設定

6.安全性:

都不安全,原則上post肯定要比get安全,畢竟傳輸引數時url不可見,但也擋不住部分人閒的沒事在那抓包玩,瀏覽器還會快取get請求的資料。安全性個人覺得是沒多大區別的,防君子不防小人就是這個道理。對傳遞的引數進行加密,其實都一樣

詳細請參考以下文章

Get與Post的區別

1.href與action的區別 href只能get引數,action能get引數又能post引數 href一般用於單個連線,可以帶引數 url重寫 是採用get方式請求的,在位址列中可以看到所有的引數 action一樣用於表單的提交 如 註冊 等,他可以提交大量和比較複雜的引數,可通過post和g...

Get 與Post 的區別

get 與post 的區別 表單提交中get和post方式的區別有5點 1.get是從伺服器上獲取資料,post是向伺服器傳送資料。2.get是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個字段一一對應,在url中可以看到。post是通過http post機制,將表單內各...

get 與 post 的區別

先簡單的介紹一下 get與 post lget 是以實體的方式得到由請求 uri所指定資源的資訊,如果請求 uri只是乙個資料產生過程,那麼最終要在響應實體中返回的是處理過程的結果所指向的資源,而不是處理過程的描述。l post 用來向目的伺服器發出請求,要求它接受被附在請求後的實體,並把它當作請求...