Heim > Fragen und Antworten > Hauptteil
Ich weiß, dass HTTP-Anfragen und Ajax-Anfragen nicht dasselbe sind wie http. Sind also die Get-Post-Anfragen von HTTP und die Get-Post-Anfragen von Ajax nicht dasselbe? Gott, bitte gib mir einen Rat, bitte gib mir einen Rat.
世界只因有你2017-06-17 09:17:46
这个东西不能这么去对比,http 是一种协议, ajax 是一种请求数据的方式,ajax 发出去的就是 http请求,所以 get,post 是同一个东西,是 http 请求的一种方式
仅有的幸福2017-06-17 09:17:46
通过ajax实现的前后端接口调用,是基于http协议的。本质上就是通过前端向后端发起一个http请求,你所说的ajax的get post其实就是http的get post。
ajax请求中比http携带更多的信息?你把网络通讯协议和异步通讯技术两个概念搞混了,举个不恰当的例子,好比是在说“货币”是不是比“人民币”更值钱?
伊谢尔伦2017-06-17 09:17:46
http 请求提供网络交互的基础能力,常见 http 动词有:GET,POST,PUT,PATCH,DELETE,HEAD,OPTIONS。ajax 是 “Asynchronous Javascript and XML” 的缩写,顾名思义,它强调异步获取数据,返回数据格式要求是 json 或 XML。
所以,ajax 是一种宽松的客户侧数据请求实现,采用异步方式以便提升用户体验。就其自身概念而言,它只管关注客户侧自身(发出请求与获得数据)。http 则是客户侧与服务侧的交互的一套协议规范,是所有建立其上的各种互联网技术(如 RESTful, JSONP, AJAX 等)的基础。
与 http, ajax 紧密相关,也容易弄混的另一个概念是 RESTful,RESTful 专注于 “资源” 的表现层状态转化,它是一种架构原则,或称开发方法,要求以规范形式提供 API 接口,对 GET,POST,PUT,DELETE 等指令附加特定约束,比如,GET 不能改变服务侧数据,PUT 与 DELETE 要幂等。
举个例子来说,客户侧用 ajax 发起一个 PUT 操作,它只管发出请求,然后要求异步得到结果,ajax 具体实现可以是 RESTful 风格的(也可以不是),而该 PUT 操作最终实现依赖于 http 请求,如果涉及跨域,浏览器还可能自动插入一次 http 的 OPTIONS 查询。