http定義了與伺服器互動的不同方法,最常用的方法有四種put,delete、post,get,即增刪改查。
1.get,它用於獲取資訊,它只是獲取、查詢資料,也就是說它不會修改伺服器上的資料,從這點來講,它是資料安全的,而稍後會提到的post它是可以修改資料的,所以這也是兩者差別之一了。
3.delete 刪除資料。可以通過get/post來實現。用的不多。
4.put,增加、放置資料,可以通過get/post來實現。用的不多。
分類get
post
後退按鈕/重新整理
無害資料會被重新提交(瀏覽器告知使用者資料會被重新提交)
書籤可收藏為書籤
不可收藏為書籤
快取能被快取
不能快取
編碼型別
歷史引數保留在瀏覽器歷史中。
引數不會儲存在瀏覽器歷史中。
對資料長度的限制
是的。當傳送資料時,get 方法向 url 新增資料;url 的長度是受限制的(url 的最大長度是 2048 個字元)。
無限制對資料型別的限制
只允許 ascii 字元。
沒有限制。也允許二進位制資料。
安全性與 post 相比,get 的安全性較差,因為所傳送的資料是 url 的一部分。在傳送密碼或其他敏感資訊時絕不要使用 get !
post 比 get 更安全,因為引數不會被儲存在瀏覽器歷史或 web 伺服器日誌中。
可見性資料在 url 中對所有人都是可見的。
資料不會顯示在 url 中。
在約定中,我們的引數是寫在?後面,用&分割。
解析報文的過程是通過獲取tcp資料,用正則等工具從資料中獲取header和body,從而提取資料,也就是說我們也可以自己約定引數的寫法,只要伺服器能夠解發布來就行了,目前比較流行的一種寫法是:
post相較於get是稍微安全一些的,因為資料在位址列是不可見的。
然後,從傳輸的角度來說,他們都是不安全的,因為http在網路上都是明文傳輸的,只要在網路節點上捉包,就能完整的獲取資料報文。
想要安全的傳輸,就只有加密,使用https。
首先說明這一點,http協議沒有body和url的長度限制,對url限制的大多是瀏覽器和伺服器的原因。
伺服器是因為處理長url要消耗比較多的資源,為了效能和安全(防止惡意構造長url來攻擊)考慮,會給url長度加限制。
有些文章當中提到,post會將header和body分開傳送,先傳送header,服務端返回100狀態碼在傳送body。
http協議中沒有明確說明post會產生兩個tcp資料報,而且實際測試chrome發現,header和body不會分開傳送。
所以,header和body分開傳送是部分瀏覽器或框架的請求方法,不屬於post必然行為。
HTTP中GET和POST之間的區別
一 原理區別 http定義了與伺服器互動的不同方式,其中最基本的方法有4種 get post put delete,分別對應著資源的查 改 增 刪4個操作。由此,get一般用於查詢 獲取資源資訊,而post一般用於更新 修改資源資訊。其中,採用url uniform resource locator...
get和post的區別
在b s應用程式中,前台與後台的資料互動,都是通過html中form表單完成的。form提供了兩種資料傳輸的方式 get和post。雖然它們都是資料的提交方式,但是在實際傳輸時確有很大的不同,並且可能會對資料產生嚴重的影響。雖然為了方便的得到變數值,web容器已經遮蔽了二者的一些差異,但是了解二者的...
post和get的區別?
1.get是從伺服器上獲取資料,post是向伺服器傳送資料。get 和 post只是一種傳遞資料的方式,get也可以把資料傳到伺服器,他們的本質都是傳送請求和接收結果。只是組織格式和資料量上面有差別,http協議裡面有介紹。2.get是把引數資料佇列加到提交表單的action屬性所指的url中,值和...