您的位置:首页技术文章
文章详情页

javascript - HTTP中的get、post请求和ajax的get、post请求是一个东西吗?

【字号: 日期:2022-11-18 16:03:28浏览:39作者:猪猪

问题描述

http请求和ajax请求我知道不是一个东西,ajax请求中比http中携带了一些信息,那么http的get post请求和ajax的get post请求那就不是一回事喽?大神求赐教,求喷。

问题解答

回答1:

这个东西不能这么去对比,http 是一种协议, ajax 是一种请求数据的方式,ajax 发出去的就是 http请求,所以 get,post 是同一个东西,是 http 请求的一种方式

回答2:

通过ajax实现的前后端接口调用,是基于http协议的。本质上就是通过前端向后端发起一个http请求,你所说的ajax的get post其实就是http的get post。ajax请求中比http携带更多的信息?你把网络通讯协议和异步通讯技术两个概念搞混了,举个不恰当的例子,好比是在说“货币”是不是比“人民币”更值钱?

回答3:

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 查询。

标签: JavaScript
相关文章: