GET和POST是HTTP請(qǐng)求的兩種基本方法,要說(shuō)它們的區(qū)別,接觸過(guò)web開(kāi)發(fā)的人都能說(shuō)出一二。
最直觀(guān)的區(qū)別就是GET把參數(shù)包含在URL中,POST通過(guò)request body傳遞參數(shù)。
你可能自己寫(xiě)過(guò)無(wú)數(shù)個(gè)GET和POST請(qǐng)求,或者已經(jīng)看過(guò)很多權(quán)威網(wǎng)站總結(jié)出的他們的區(qū)別,你非常清楚知道什么時(shí)候該用什么。
那今天文匯小編通過(guò)網(wǎng)絡(luò)文章以及自己的經(jīng)驗(yàn)所整理了以下幾點(diǎn):
GET在瀏覽器回退時(shí)是無(wú)害的,而POST會(huì)再次提交請(qǐng)求。
GET產(chǎn)生的URL地址可以被Bookmark,而POST不可以。
GET請(qǐng)求會(huì)被瀏覽器主動(dòng)cache,而POST不會(huì),除非手動(dòng)設(shè)置。
GET請(qǐng)求只能進(jìn)行url編碼,而POST支持多種編碼方式。
GET請(qǐng)求參數(shù)會(huì)被完整保留在瀏覽器歷史記錄里,而POST中的參數(shù)不會(huì)被保留。
GET請(qǐng)求在URL中傳送的參數(shù)是有長(zhǎng)度限制的,而POST么有。
對(duì)參數(shù)的數(shù)據(jù)類(lèi)型,GET只接受ASCII字符,而POST沒(méi)有限制。
GET比POST更不安全,因?yàn)閰?shù)直接暴露在URL上,所以不能用來(lái)傳遞敏感信息。
GET參數(shù)通過(guò)URL傳遞,POST放在Request body中。