面試時候遇到的一個問題。面試官想聽我說二者有什麼主要區別,二者均作為請求方法,使用場合為什麼不一致,在安全性上為什麼get比post要弱等等。這道題其實多多少少都能說一些,但本著追其根由的想法,回來順手查了查資料,總結如下。如果下次面試的你和我一樣碰到這個問題,一定要答得美美的喲~

1、get是從伺服器上獲取資料,post一般通過修改表單的形式向伺服器傳遞資料。
2、客戶端內,使用get方法提交資料,這個資料通過URL提交,引數會顯示在位址列上,使用post方法,資料是放在html header內顯示。
3、伺服器端,對於get方式使用Request QueryString獲取變數的值,對於post方法則使用Request.form方法獲取提交的資料值。
4、get請求對url的長度有限制,可查的IE對長度限制為2083k,而post請求則沒有此限制。
5、安全性問題。首先,在規範的定義下,get操作不會修改伺服器的資料,此時get是安全的。然而,get請求會將引數顯示在位址列上,而post不會。現在瀏覽器大都會記住曾經輸入過的url,如果這些資料是敏感資料,那麼建議不要使用get請求。當然,這裡的安全性其實應該算是相對的,因為被抓包後的get請求和post請求其實都是一樣暴露的,哈哈哈。

關於get/post區別,就大概總結到這裡。更深入的待寶寶我找著工作之後認真分析啦。希望這篇文章能對你有所幫助,喵喵喵。