get與post是HTTP請求的兩種基本方法历帚,說起兩者之間的區(qū)別杠娱,我覺得接觸過web開發(fā)的人都能說出一二。從直觀上來看卓研,最大的區(qū)別就是get把參數包含在url中,值和表單內的各個字段一一對應奏赘,在url中可以看到;而post傳輸數據時疲憋,不需要在url中顯示出來梁只,它是將表單內各個字段與其內容放置在HTML header內一起傳送到所指的url地址中,用戶看不到這個過程搪锣。
① get方式傳遞的參數可以在可以再頁面上看到,所以安全性不高灰追,不能用來傳遞敏感信息狗超。而post則不會被看到;
② get產生的url地址可以被bookMark(對文件或互聯(lián)網網頁地址的登記努咐,有助于迅速查找),而post不可以;
③ get請求會被瀏覽器主動cache佩迟,而post不會免胃,除非手動設置;
④ get請求只能進行url編碼,而post支持多種編碼方式厨钻;
⑤ get請求的參數會被完整的保留在瀏覽器的歷史記錄里,而post中的參數不會被保留诗充;
⑥ get請求在url中傳送的參數是有長度限制的诱建,而post沒有長度限制;
對于參數的數據類型,get只接受ASCII字符格仲,而post沒有限制诵冒;
get請求特性:
它會將數據添加到url中,通過這種方式傳遞到服務器汽馋,通常利用一個
問號?代表url地址的結尾與數據參數的開端悄雅,后面的參數每一個數據參數以
“名稱=值”的形式出現铁蹈,參數與參數之間利用一個連接符&來區(qū)分。
post請求特性:
數據是放在HTTP主體中的便锨,其組織方式不只一種我碟,有&連接方式,也有分割符方式矫俺,可隱藏參數,傳遞大批數據友雳,比較方便铅匹。
總而言之,當我們在提交表單的時候我們通常用post方式,當我們要傳送一個較大的數據文件時,需要用post包斑。當傳遞的值只需用參數方式(這個值不大于2KB)的時候,用get方式即可。