首页 > 懂http协议和ajax的进来看下,有几个小问题?谢了!!

懂http协议和ajax的进来看下,有几个小问题?谢了!!

问题如下
1.通过html表单方式提交数据(可以指定get和post)和ajax方式请求的原理是一样的吗?

2.http协议里面的get 和post请求方式和ajax的get 和post是一回事吗?

这几个概念总是分不清


不完全一样。 一般通过Form方式提交的数据会设置特殊的Content-Type: application/x-www-form-urlencoded, 也会改变location。 而通过Ajax请求可以自定义请求体类型Content-Type, 它的请求头部会设置“Connection”为“Keep-Alive“。 目前就想到这些差别了


ajax是一个技术点。post和get是http请求的方式,还有put,head,delete等方式。


ajax 和 http 不是一個層面上的東西。

http (Hypertext Transfer Protocol) 是一種協議;
ajax (asynchronous JavaScript + XML) 是一種技術。

對於不是一個層面的東西,沒辦法簡單地說是、不是,只能說怎麼是、如何是。

ajax 當中的 get 與 html form 中的 get 等,同樣指的是用 http 中的一種特定 request method 傳輸數據。

泛泛而言,ajax get 是一個具體事物,比如某一張桌子,而 http get,是形相,是桌子的概念。
ajax get 和 html form get 的區別,就是這張桌子和那張桌子的區別,但他們都「是」桌子,「屬於」桌子,卻並不「等於」桌子。

更多 request methods 參見 http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol


  1. ajax用的http协议。

ajax提供了一种方式,使得在js中可以触发http请求。想当初ajax技术还没有出来的时候(那个时代大概是ie4的天下),只能通过浏览器跳转来刷新当前页面的内容。自从ajax技术出现后,大家逐渐习惯用js来触发http请求,并且这种请求不用刷新页面,然后在跟js中的DOM函数结合使用,就可以实现页面的局部刷新了。
所以说可以这么总结,ajax是一系列的js api,而http协议是一种网络通信协议。调用ajax函数的时候,可以实现http通信。


  1. 原理一样,只是请求的时候,header会不一样,比如ajax的请求头一般是X-Requested-With:XMLHttpRequest, 服务器端可以通过这个头来判断是否是ajax请求。
【热门文章】
【热门文章】