Web服务器[IIS]是否可能知道请求是AJAX请求还是普通请求

时间:2011-03-24 11:02:59

标签: ajax webserver

任何网络服务器[IIS都可能]知道请求是AJAX请求还是普通请求。

5 个答案:

答案 0 :(得分:2)

如果您使用的是本机XmlHttpRequests,则此请求与通过访问页面或提交表单生成之后没有区别。如果使用jQuery创建AJAX请求,则会添加请求标头X-Requested-With: XMLHttpRequest。此标头可用于区分AJAX和非AJAX请求。

答案 1 :(得分:1)

一些(大多数?)框架可以发送自定义标头,但实际上,从服务器的角度来看,ajax请求与“普通”请求相同。

如果您使用curl,wget,telnet或您自己编写的程序,那么Web服务器会以相同的方式处理请求 - 在一天结束时,它都是HTTP。

答案 2 :(得分:0)

Firebug可以显示从两种类型的请求发送到服务器的内容,然后尝试一下。

答案 3 :(得分:0)

可能不是网络服务器可以区分,但服务器端代码可能能够区分。如果您正在谈论ASP.NET和AJAX,那么可以使用ScriptManager.IsInAsyncPostBack来查找回发是否来自AJAX。

答案 4 :(得分:0)

接收页面“知道”的最简单方法是发送查询字符串参数。但这不是100%安全。