Запрос AJAX идентичен "обычному" запросу браузера с точки зрения сервера, за исключением потенциально немного отличающихся заголовков HTTP. например хром отправляет:
X-Requested-With:XMLHttpRequest
Я не уверен, является ли этот заголовок стандартизированным или нет, отличается ли он в каждом браузере или даже включен вообще в каждом браузере.
edit: я беру это обратно, этот заголовок отправляется 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
что приводит меня к выводу, что по умолчанию абсолютно никакой разницы.
person
Mark Kahn
schedule
31.12.2011