GET後退按鈕/刷新無害,POST數據會被重新提交(瀏覽器應該告知用戶數據會被重新提交)。
GET書籤可收藏,POST為書籤不可收藏。
GET能被緩存,POST不能緩存 。
GET編碼類型application/x-www-form-url,POST編碼類型encodedapplication/x-www-form-urlencoded 或 multipart/form-data。為二進制數據使用多重編碼。
GET歷史參數保留在瀏覽器歷史中。POST參數不會保存在瀏覽器歷史中。
GET對數據長度有限制,當發送數據時,GET 方法向 URL 添加數據;URL 的長度是受限制的(URL 的最大長度是 2048 個字符)。POST無限制。
GET只允許 ASCII 字符。POST沒有限制。也允許二進制數據。
與 POST 相比,GET 的安全性較差,因為所發送的數據是 URL 的一部分。在發送密碼或其他敏感信息時絕不要使用 GET !POST 比 GET 更安全,因為參數不會被保存在瀏覽器歷史或 web 服務器日誌中。
GET的數據在 URL 中對所有人都是可見的。POST的數據不會顯示在 URL 中。
GET和POST本質上就是TCP鏈接,並無差別。但是由於HTTP的規定和瀏覽器/服務器的限制,導致他們在應用過程中體現出一些不同。 GET和POST還有一個重大區別,簡單的說:GET產生一個TCP數據包;POST產生兩個TCP數據包。
對於GET方式的請求,瀏覽器會把http header和data一併發送出去,服務器響應200(返回數據); 而對於POST,瀏覽器先發送header,服務器響應100 continue,瀏覽器再發送data,服務器響應200 ok(返回數據)。
.GET請求的數據會附在URL之後,以?分割URL和傳輸數據,參數之間以&相連,
POST把提交的數據則放置在是HTTP包的包體中。
2.GET的長度受限於url的長度,而url的長度限制是特定的瀏覽器和服務器設置的,理論上GET的長度可以無限長。
3.POST是沒有大小限制的,HTTP協議規範也沒有進行大小限制,起限制作用的是服務器的處理程序的處理能力
4.在ASP中,服務端獲取GET請求參數用Request.QueryString,獲取POST請求參數用Request.Form。
5.POST的安全性要比GET的安全性高
application json 與form表單的區別?
瀏覽器默認的提交方式就是表單。首先,Content-Type 被指定為 application/x-www-form-urlencoded,jQuery的Ajax請求默認方式,其次,數據以鍵值對形式?key1=value1&key2=value2的方式發送到服務器
1、post和get的選擇?
私密性的信息請求使用post。
查詢信息和可以想要通過url分享的信息使用get。
get和post的區別主要有以下幾方面:
1、url可見性:
get,參數url可見;
post,url參數不可見
2、數據傳輸上:
get,通過拼接url進行傳遞參數;
post,通過body體傳輸參數
3、緩存性:
get請求是可以緩存的
post請求不可以緩存
4、後退頁面的反應
get請求頁面後退時,不產生影響
post請求頁面後退時,會重新提交請求
5、傳輸數據的大小
get一般傳輸數據大小不超過2k-4k(根據瀏覽器不同,限制不一樣,但相差不大)
post請求傳輸數據的大小根據php.ini 配置文件設定,也可以無限大。
6、安全性
這個也是最不好分析的,原則上post肯定要比get安全,畢竟傳輸參數時url不可見,但也擋不住部分人閒的沒事在那抓包玩。安全性個人覺得是沒多大區別的,防君子不防小人就是這個道理。對傳遞的參數進行加密,其實都一樣。
對參數的數據類型,GET只接受ASCII字符,而POST沒有限制。
GET請求在URL中傳送的參數是有長度限制的,而POST沒有。
GET比POST更不安全,因為參數直接暴露在URL上,所以不能用來傳遞敏感信息。
GET參數通過URL傳遞,POST放在Request body中。
GET請求參數會被完整保留在瀏覽器歷史記錄裡,而POST中的參數不會被保留。
GET請求只能進行url編碼,而POST支持多種編碼方式。
GET請求會被瀏覽器主動cache,而POST不會,除非手動設置。
GET產生的URL地址可以被Bookmark,而POST不可以。
GET在瀏覽器回退時是無害的,而POST會再次提交請求。
GET產生一個TCP數據包;POST產生兩個TCP數據包。
對於GET方式的請求,瀏覽器會把http header和data一併發送出去,服務器響應200(返回數據);
而對於POST,瀏覽器先發送header,服務器響應100 continue,瀏覽器再發送data,服務器響應200 ok(返回數據)。
深入:
GET和POST本質上沒有區別
GET和POST是什麼?HTTP協議中的兩種發送請求的方法。
瀏覽器的GET和POST
這裡特指瀏覽器中
非Ajax的HTTP請求,即從HTML和瀏覽器誕生就一直使用的HTTP協議中的GET/POST。瀏覽器用GET請求來獲取一個html頁面/圖片/css/js等資源;用POST來提交一個閱讀更多 妖言惑眾827 的文章