小编典典

AJAX可以使用HTTP或HTTPS以外的协议吗?

ajax

我想知道AJAX是否可以使用HTTP或HTTPS以外的协议。


阅读 254

收藏
2020-07-26

共1个答案

小编典典

Ajax的意思是XMLHttpRequest。正如您不必在XHR中使用XML一样,您也不必使用HTTP。

尽管它的名字,XMLHttpRequest可以用来检索任何类型的数据,而不仅仅是XML,它还支持HTTP以外的协议(包括fileftp)。

W3C
XMLHttpRequest规范
(添加了重点):

XMLHttpRequest对象实现了脚本引擎公开的接口,该脚本引擎允许脚本执行HTTP客户端功能,例如提交表单数据或从服务器加载数据。这是ECMAScript
HTTP API。

该对象的名称是XMLHttpRequest以与Web兼容,尽管此名称的每个组件都有可能引起误解。首先,该对象支持任何基于文本的格式,包括XML。其次,它可用于通过HTTP和HTTPS发出请求(
某些实现除HTTP和HTTPS之外还支持协议,但该功能未包含在本规范中
)。最后,它在与HTTP有关的广泛意义上支持“请求”。即与HTTP请求或已定义HTTP方法的响应有关的所有活动。

HTTP和HTTPS以外的可用协议尚未标准化,因此它们取决于您使用的特定环境1。也就是说,所有兼容的XHR实现都必须支持HTTP和HTTPS,但 不需要
支持任何其他特定协议。这意味着您可能会发现Internet Explorer支持


1例如,哪个版本的浏览器(Safari,Firefox,Chrome,IE,Opera,…)或哪个服务器端实现(V8,Rhino与…)。

2020-07-26