我想知道AJAX是否可以使用HTTP或HTTPS以外的协议。
答案 0 :(得分:9)
Ajax意味着XMLHttpRequest。就像您不必在XHR中使用XML一样,您也不必使用HTTP。
尽管有其名称,但
XMLHttpRequest
可用于检索任何类型的数据,而不仅仅是XML,并且它支持HTTP以外的协议(包括file
和ftp
)。
从W3C XMLHttpRequest spec(强调添加):
XMLHttpRequest对象实现脚本引擎公开的接口,该脚本引擎允许脚本执行HTTP客户端功能,例如提交表单数据或从服务器加载数据。它是ECMAScript HTTP API。
对象的名称是XMLHttpRequest,用于与Web兼容,但此名称的每个组件都可能具有误导性。首先,该对象支持任何基于文本的格式,包括XML。其次,它可用于通过HTTP和HTTPS发出请求(除HTTP和HTTPS之外,某些实现支持协议,但此规范未涵盖该功能)。最后,它支持广义上的“请求”,因为它与HTTP有关;即所有与HTTP请求或定义的HTTP方法响应有关的活动。
HTTP和HTTPS之外的可用协议是非标准化的,因此它们取决于您正在使用的特定环境 1 。也就是说,所有兼容的XHR实现必须支持HTTP和HTTPS,但不是 required 以支持任何其他特定协议。这意味着您可能会发现Internet Explorer支持
1 例如,哪个版本的浏览器(Safari vs Firefox vs Chrome vs IE vs Opera vs ...),或者哪个服务器端实现(V8 vs Rhino vs ...)
答案 1 :(得分:-4)
XMLHttpRequest(XHR)是一种可用于Web浏览器脚本语言(如JavaScript)的API。它用于将HTTP或HTTPS请求发送到Web服务器,并将服务器响应数据加载回脚本。
来自维基百科的