前言

在浏览器里输入 url 可以发起 http 请求,除此之外,还有什么方式可以发起 http 请求?这些请求又有什么限制呢?

发起方式

标签发起请求

scriptlinkimg等可以引用资源的标签。在 html 页面中如果发现这些标签会发起对应地址的 http 请求,请求对应的资源。这些标签的作用只是引用对应的资源,因此不受到同源策略的限制。而且,这些标签对应的请求都是固定的 GET请求方式,无法更改。

form 表单发起请求

form表单标签可以发起 http 请求,并且可以指定 http 请求的方法,如果直接通过 formaction属性发起的 http 请求,是不受同源策略的限制的。比如通过 submit 按钮提交或者通过调用表单dom的 submit 方法。

ajax 发起请求

ajax,即 XMLHttpRequest,可以在 js 代码中发起 http 请求,受到同源策略的限制。

fetch API 发起请求

fetch API ,也可以在 js 代码中发起 http 请求,受到同源策略的限制。