В чем разница на уровне пакета между XMLHttpRequest и обычным HTTP-запросом?

StackOverflow https://stackoverflow.com/questions/1214526

  •  06-07-2019
  •  | 
  •  

Вопрос

Мне любопытно:если бы я был маршрутизатором, инспектором пакетов, межсетевым экраном или другим устройством, отслеживающим пакеты (чем я рад, что я им не являюсь), смог бы я отличить традиционный HTTP-запрос от XMLHttpRequest?Менее теоретически возможно ли, чтобы какой-нибудь интернет-провайдер или (скажем) поставщик данных сотового телефона мог ограничить трафик XMLHttpRequest, не прерывая службу HTTP?

Спасибо.

Это было полезно?

Решение

На уровне пакетов нет ничего, что могло бы их различать, потому что XMLHttpRequest — это HTTP-запрос.Бит XML относится к тому факту, что если ответ имеет тип контента xml, то метод responseXML вернет объект DOM.

Другие советы

Насколько я знаю, принципиальной разницы нет - так с точки зрения роутера и т.д.в общем, не скажешь.

Но я верю, что большинство популярных наборов инструментов Javascript добавляют HTTP-заголовок в свои файлы. XMLHttpRequests, чтобы идентифицировать их как таковые.Хотя имя забыл...

РЕДАКТИРОВАТЬ:Вот пример (лучший хит Google для «заголовка jquery xmlhttprequest», без кавычек), который показывает, что jQuery, по-видимому, устанавливает X-Requested-With к "XMLHttpRequest".

на уровне пакета, сети, сеанса:нет.

на уровне приложения, то есть, возможно, с помощью устройства, специфичного для HTTP, такого как фильтрующий прокси.

я бы проверил заголовки HTTP-запроса.они могут (просто мощь) имеют некоторые различия.но я уверен, что любая разница будет очень специфичной для браузера, и вполне вероятно, что правильный код JavaScript может вставить соответствующие заголовки, чтобы сделать его совершенно неотличимым.

суммируя:проверьте заголовки HTTP;но не ждите, что он будет общим и тем более полезным.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top