javascript - HTTP中的get、post請求和ajax的get、post請求是一個(gè)東西嗎?
問題描述
http請求和ajax請求我知道不是一個(gè)東西,ajax請求中比http中攜帶了一些信息,那么http的get post請求和ajax的get post請求那就不是一回事嘍?大神求賜教,求噴。
問題解答
回答1:這個(gè)東西不能這么去對比,http 是一種協(xié)議, ajax 是一種請求數(shù)據(jù)的方式,ajax 發(fā)出去的就是 http請求,所以 get,post 是同一個(gè)東西,是 http 請求的一種方式
回答2:通過ajax實(shí)現(xiàn)的前后端接口調(diào)用,是基于http協(xié)議的。本質(zhì)上就是通過前端向后端發(fā)起一個(gè)http請求,你所說的ajax的get post其實(shí)就是http的get post。ajax請求中比http攜帶更多的信息?你把網(wǎng)絡(luò)通訊協(xié)議和異步通訊技術(shù)兩個(gè)概念搞混了,舉個(gè)不恰當(dāng)?shù)睦樱帽仁窃谡f“貨幣”是不是比“人民幣”更值錢?
回答3:http 請求提供網(wǎng)絡(luò)交互的基礎(chǔ)能力,常見 http 動詞有:GET,POST,PUT,PATCH,DELETE,HEAD,OPTIONS。ajax 是 “Asynchronous Javascript and XML” 的縮寫,顧名思義,它強(qiáng)調(diào)異步獲取數(shù)據(jù),返回?cái)?shù)據(jù)格式要求是 json 或 XML。
所以,ajax 是一種寬松的客戶側(cè)數(shù)據(jù)請求實(shí)現(xiàn),采用異步方式以便提升用戶體驗(yàn)。就其自身概念而言,它只管關(guān)注客戶側(cè)自身(發(fā)出請求與獲得數(shù)據(jù))。http 則是客戶側(cè)與服務(wù)側(cè)的交互的一套協(xié)議規(guī)范,是所有建立其上的各種互聯(lián)網(wǎng)技術(shù)(如 RESTful, JSONP, AJAX 等)的基礎(chǔ)。
與 http, ajax 緊密相關(guān),也容易弄混的另一個(gè)概念是 RESTful,RESTful 專注于 “資源” 的表現(xiàn)層狀態(tài)轉(zhuǎn)化,它是一種架構(gòu)原則,或稱開發(fā)方法,要求以規(guī)范形式提供 API 接口,對 GET,POST,PUT,DELETE 等指令附加特定約束,比如,GET 不能改變服務(wù)側(cè)數(shù)據(jù),PUT 與 DELETE 要冪等。
舉個(gè)例子來說,客戶側(cè)用 ajax 發(fā)起一個(gè) PUT 操作,它只管發(fā)出請求,然后要求異步得到結(jié)果,ajax 具體實(shí)現(xiàn)可以是 RESTful 風(fēng)格的(也可以不是),而該 PUT 操作最終實(shí)現(xiàn)依賴于 http 請求,如果涉及跨域,瀏覽器還可能自動插入一次 http 的 OPTIONS 查詢。
相關(guān)文章:
1. javascript - node中為中間層如何解決跨域問題2. javascript - webpack打包問題3. ie-css3.htc 放在服務(wù)器上為什么不起作用4. android - As ddms報(bào)錯(cuò)5. 看了好幾遍為什么點(diǎn)擊登錄沒有反應(yīng)呢 在線等。。。。6. html5 - 百度echart官網(wǎng)下載的地圖json數(shù)據(jù)亂碼7. 在mac下出現(xiàn)了兩個(gè)docker環(huán)境8. PhpStudy 8.0 一個(gè)服務(wù)器怎么創(chuàng)建多個(gè)網(wǎng)站,需要注意一些什么9. javascript - 請教一個(gè)問題,大家都是怎么安裝從github下面clone下來的包的開發(fā)環(huán)境呢?10. javascript - Object.create(null) 和 {} 區(qū)別是什么
