小编典典

AJAX请求与常规浏览器请求之间的区别

ajax

AJAX请求和直接浏览器请求之间有什么区别(就如何调用和加载网页而言)?

换句话说,我的意思是:服务器直接请求与客户端请求(由浏览器启动)的处理方式是否有所不同?


阅读 755

收藏
2020-07-26

共1个答案

小编典典

就服务器而言,AJAX请求 “正常”浏览器请求 相同 ,除了可能略有不同的HTTP标头之外。例如chrome发送:

X-Requested-With:XMLHttpRequest

我不知道如果这头标准化与否,或者如果它在每一个浏览器不同,甚至包括 所有 在每个浏览器。


编辑:我回过头来看,该标头是由jQuery(以及其他可能的其他JS库)发送的,而不是由以下浏览器发送的:

var xhr = new XMLHttpRequest();
xhr.open('GET', '/');
xhr.send();

发送:

Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Cookie: ....
Host:stackoverflow.com
If-Modified-Since:Sat, 31 Dec 2011 01:57:24 GMT
Referer:http://stackoverflow.com/questions/8685750/how-does-an-ajax-request-differ-from-a-normal-browser-request/8685758
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_7) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.12 Safari/535.11

这使我得出结论, 默认情况下 绝对没有区别。

2020-07-26