摘要:了解歷史和是與服務(wù)器交互的方式,說到方式,其實(shí)總共有四種。區(qū)別分析把請(qǐng)求的數(shù)據(jù)放在上,即協(xié)議頭上,其格式為以分割和傳輸數(shù)據(jù),參數(shù)之間以相連。在瀏覽器回退時(shí)是無害的,會(huì)再次提交請(qǐng)求。請(qǐng)求只能進(jìn)行編碼,而支持多種編碼方式。
了解歷史
get和post是HTTP與服務(wù)器交互的方式, 說到方式,其實(shí)總共有四種: post、delete、put、get。 他們的作用分別是對(duì)服務(wù)器資源的增、刪、改、查。 所以,get是獲取數(shù)據(jù),post是修改數(shù)據(jù)。 但是,現(xiàn)在大家都不這么干了!只用一個(gè)方式就可以做增刪查減的操作。
區(qū)別分析
get把請(qǐng)求的數(shù)據(jù)放在url上,即HTTP協(xié)議頭上,其格式為:
以?分割URL和傳輸數(shù)據(jù),參數(shù)之間以&相連。 數(shù)據(jù)如果是英文字母/數(shù)字,原樣發(fā)送, 如果是空格,轉(zhuǎn)換為+, 如果是中文/其他字符,則直接把字符串用BASE64加密,及“%”加上“字符串的16進(jìn)制ASCII碼”。
post把數(shù)據(jù)放在HTTP的包體內(nèi)(requrest body)。
get提交的數(shù)據(jù)最大是2k(原則上url長度無限制,那么get提交的數(shù)據(jù)也沒有限制咯?限制實(shí)際上取決于瀏覽器,(大多數(shù))瀏覽器通常都會(huì)限制url長度在2K個(gè)字節(jié),即使(大多數(shù))服務(wù)器最多處理64K大小的url。也沒有卵用。)。
post理論上沒有限制。實(shí)際上IIS4中最大量為80KB,IIS5中為100KB。
GET產(chǎn)生一個(gè)TCP數(shù)據(jù)包,瀏覽器會(huì)把http header和data一并發(fā)送出去,服務(wù)器響應(yīng)200(返回?cái)?shù)據(jù));
POST產(chǎn)生兩個(gè)TCP數(shù)據(jù)包,瀏覽器先發(fā)送header,服務(wù)器響應(yīng)100 continue,瀏覽器再發(fā)送data,服務(wù)器響應(yīng)200 ok(返回?cái)?shù)據(jù))。
GET在瀏覽器回退時(shí)是無害的,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只接受ASCII字符的參數(shù)的數(shù)據(jù)類型,而POST沒有限制
那么,post那么好為什么還用get ?get效率高!
補(bǔ)充:除了上面4種還有另外4種:
HEAD :類似于get請(qǐng)求,只不過返回的響應(yīng)中沒有具體的內(nèi)容,用于獲取報(bào)頭
TRACE: 回顯服務(wù)器收到的請(qǐng)求,主要用于測(cè)試或診斷
OPTIONS: 允許客戶端查看服務(wù)器的性能
CONNECT:HTTP/1.1協(xié)議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器。
糾正一下:
不是所有的POST的都發(fā)送倆個(gè)TCP包,火狐瀏覽器就一個(gè)
get將參數(shù)接在URL后面,post放在body只是語法規(guī)范。get也可以將參數(shù)放在body里面,post接在URL后面
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/67089.html
摘要:相反,在討論時(shí),面試中通常會(huì)提到三件事。而認(rèn)為最后一個(gè)參賽者說了算,只要還能吃的,就重新設(shè)定新的定時(shí)器。試想,如果用戶的操作十分頻繁他每次都不等設(shè)置的時(shí)間結(jié)束就進(jìn)行下一次操作,于是每次都為該用戶重新生成定時(shí)器,回調(diào)函數(shù)被延遲了不計(jì)其數(shù)次。本文不是討論最新的 JavaScript 庫、常見的開發(fā)實(shí)踐或任何新的 ES6 函數(shù)。相反,在討論 JavaScript 時(shí),面試中通常會(huì)提到三件事。我自己...
摘要:相反,在討論時(shí),面試中通常會(huì)提到三件事。通過對(duì)事件對(duì)應(yīng)的回調(diào)函數(shù)進(jìn)行包裹以自由變量的形式緩存時(shí)間信息,最后用來控制事件的觸發(fā)頻率。而認(rèn)為最后一個(gè)參賽者說了算,只要還能吃的,就重新設(shè)定新的定時(shí)器。 showImg(https://segmentfault.com/img/bVboH5x?w=1000&h=750); 想閱讀更多優(yōu)質(zhì)文章請(qǐng)猛戳GitHub博客,一年百來篇優(yōu)質(zhì)文章等著你! 本...
摘要:拿到秋招的同學(xué),如確定入職需與用人單位簽署三方協(xié)議,以保證雙方的利益不受損失。當(dāng)然每個(gè)崗位所要求的側(cè)重點(diǎn)不同,但卻百變不離其宗。方法論要想達(dá)成某個(gè)目標(biāo)都有其特定的方法論,學(xué)習(xí)技術(shù)也不例外,掌握適當(dāng)?shù)膶W(xué)習(xí)方法才能事半功倍。 寫在前面的話 筆者從17年的2月份開始準(zhǔn)備春招,其中遇到不少坑,也意識(shí)到自己走過的彎路。故寫了這篇文章總結(jié)一番,本文適合主動(dòng)學(xué)習(xí)的,對(duì)自己要學(xué)的課程不明確的,對(duì)面試有...
摘要:拿到秋招的同學(xué),如確定入職需與用人單位簽署三方協(xié)議,以保證雙方的利益不受損失。當(dāng)然每個(gè)崗位所要求的側(cè)重點(diǎn)不同,但卻百變不離其宗。方法論要想達(dá)成某個(gè)目標(biāo)都有其特定的方法論,學(xué)習(xí)技術(shù)也不例外,掌握適當(dāng)?shù)膶W(xué)習(xí)方法才能事半功倍。 寫在前面的話 筆者從17年的2月份開始準(zhǔn)備春招,其中遇到不少坑,也意識(shí)到自己走過的彎路。故寫了這篇文章總結(jié)一番,本文適合主動(dòng)學(xué)習(xí)的,對(duì)自己要學(xué)的課程不明確的,對(duì)面試有...
閱讀 978·2023-04-25 18:51
閱讀 1961·2021-09-09 11:39
閱讀 3345·2019-08-30 15:53
閱讀 2145·2019-08-30 13:03
閱讀 1357·2019-08-29 16:17
閱讀 642·2019-08-29 11:33
閱讀 1948·2019-08-26 14:00
閱讀 2176·2019-08-26 13:41