Почему это называется XMLHttpRequest?

Мне всегда интересно, почему этот объект называется так?

Тело вашего запроса не обязательно должно быть в формате XML. Кроме того, данные, полученные с сервера, могут быть выбраны как JSON, XML, HTML или обычный текст. XML не играет существенной роли в этом объекте. Это что-то вроде клише? Каким был этот объект, когда он был впервые создан?

Ответ 1

XMLHttpRequest был изобретен командой Microsoft Outlook Web Access. Эта высокоинновационная команда ранее давала нам удаленный сценарий, который стал началом развития стиля AJAX. Удаленный скриптинг был похож на JSONP, но слишком сложный (он использовал Java-апплет, из всех вещей). Я не помню, можно ли динамически вводить элементы <script> в IE 4 или 5, но похоже, что это было невозможно. В противном случае JSONP кажется достаточно мощным, чтобы устранить необходимость XMLHttpRequest.

Команда Outlook переводила XML с сервера на клиент, поэтому элемент управления ActiveX был назван так, чтобы отражать его основное использование в то время. Он был включен как часть анализатора MSXML.

К тому времени, когда Firefox вошел в игру и реализовал свою собственную версию, XMLHttpRequest использовался больше, как сегодня, и меньше для XML, но Firefox все равно использует одно и то же имя. С двумя крупнейшими производителями браузеров, создающими объект с тем же именем, интерфейсом и функциональностью, w3c застрял с существующим именем. Слишком плохо, что кто-то не стал вонять о неправильном поведении и настаивает, что мы называем это более точным, как просто HttpRequest.

Я не знаю, как и почему "AJAX" стал популярным термином для описания стиля программирования, когда веб-страница взаимодействует с сервером, не требуя полной загрузки страницы. "AJAX" - это худшее неправильное словосочетание, чем "XMLHttpRequest", поскольку это не только означает, что XML является важным аспектом, но в дальнейшем не указывает никаких признаков взаимодействия с сервером. Я могу обрабатывать XML с асинхронным JavaScript, не связываясь с сервером.

Ответ 2

Короткие

Да, часть XML в названии неверна.

Long

Лучшее объяснение приходит от инженера MS (в то время):

Это были добрые старые дни, когда критические функции были переполнены просто за несколько дней до релиза... Я понял, что библиотека MSXML поставляется с У IE и у меня были хорошие контакты в команде XML, которые вероятно, помог - я связался с Жаном Паоли, который управлял этим команда в то время, и мы довольно быстро заключили сделку о доставке вещи как часть библиотеки MSXML. Каково реальное объяснение того, где имя XMLHTTP происходит из-за того, что в основном это касается HTTP и не работает имеют какую-то определенную связь с XML, кроме того, что было самым легким извинением для отправки, поэтому мне нужно было вставить XML в имя.

- Alex Hopmann История XMLHTTP

В этом также четко указано, что поиск принадлежности к XML, независимо от того, насколько они разумны, в основном заключается в толковании намерений авторов. Извините, что испортил удовольствие;)

Ответ 3

AJAX обозначает асинхронный Javascript и XML. Вначале все коммуникации были с XML (HTML тоже XML-подобный, а XHTML - XML). JSON пришел позже. Так что это по историческим причинам. (Также посмотрите на эту страницу wiki)