關於GET和POST請求

1.    相同點:

都屬於http請求的方法,所以都包含開始行,頭域,頭域結束符,消息主體

2.    不同點:

a)      GET被指定用於客戶端從服務器獲取資源,POST被指定用於客戶端向服務器提交資源

b)     GET請求的數據內容被追加在請求行的url裏,並且大小有限制,規定在1024個字節以內,POST請求的數據被放在請求消息實體裏,並且在請求頭域裏會對消息實體進行屬性描述(如提交的數據類型,數據大小,字符集等等),數據大小無限制,但是實際上POST數據傳輸的大小會被服務器限制,比如Tomcat就默認限制爲2M

c)      GET請求的響應信息會被用戶代理(瀏覽器)緩存起來,同一樣的GET請求,在緩存允許的情況下,用戶代理會從緩存裏面獲取最新的響應緩存來作爲當前請求的響應內容,而POST請求的響應內容除非在響應頭域裏面指定是可緩存的,不然是不會被用戶代理緩存

d)     安全性

                       i.             從服務器的角度來看安全性:

GET被指定用於獲取服務器的資源,不會更改服務器資源的內容,所以對於服務器來說,它是安全的

而POST被指定提交數據到服務器,會更改服務器某些資源,所以對於服務器來說,它是不安全的

 

                     ii.             從客戶端數據提交的角度來看安全性:

GET也會用於數據的提交,爲了獲取某一url標識範圍內的某一資源,會在GET請求裏面指定請求的詳細操作(如fileType=rmvb),這些詳細操作會被顯示的追加在url之後,所以,如果需要提交重要敏感的信息到服務器,這種方式    是相當不安全的

那麼POST是否就安全了呢,POST提交的數據信息會被存放在請求的消息主體裏面,會用特定的編碼格式進行編碼,這比起GET來,它的安全性是高了很多,但是,它也是不安全的,因爲http協議使用明文字符傳遞數據,所以,http本身就是一種很不安全的數據傳輸方式,即使將消息內容進行編碼,如果知道編碼方式一樣是可以解碼,那麼也就沒有絕對的安全了,總之,POST較GET方式,從客戶端提交數據角度來看安全性大大高於GET


發佈了16 篇原創文章 · 獲贊 3 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章