javascript - HTTP中的get、post请求和ajax的get、post请求是一个东西吗?
问题描述
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 查询。
相关文章:
1. javascript - h5上的手机号默认没有识别2. javascript - 谁能帮我创建一个webpack2+vue2+vuex+less+dev-server的空项目3. python - 网站显示的图片与爬虫获取到的图片不同,应该如何确定问题?4. 极光推送 - Android app消息推送 百度 极光 个推 信鸽哪个好一些?5. css3 - Firefox 字号相对IE、Chrome更大,如何在CSS中统一?6. css - div display: inline-block; 置中?7. vue.js - weex scroller搭配refresh在android平台上拉会触发refresh8. javascript - 在html中写了个<video>视频,浏览器却是一片空白为什么呢?360浏览器?9. javascript - ajax中的 textStatus 报错为 parsererror?10. html5 - 如何让H5页面在手机浏览器里和微信全屏显示