异步请求二

一.同源策略
  URL 由协议, 域名, 端口 和 路径组成,
  如果两个URL 的协议, 域名和端口相同, 则表示他们同源, 反之, 就表示他们是跨域,
  浏览器采用同源策略, 禁止页面加载或执行与自身来源不同的域的任何脚本
  部分请求不受到同源策略的限制 , 比如:
  <script>, <img>, <iframe>, <link> 这些包含 src 属性的标签可以加载跨域资源
  同源策略是浏览器提供的一种安全机制, 如果使用异步请求去加载数据则会受到同源策略的限制

二.AJAX 和普通的 HTTP 请求的区别
  从本质上讲: AJAX 就是浏览器发出的 HTTP 请求,
  1.AJAX 就是浏览器使用 XMLHTTPRequest 对象发出的 HTTP 请求
  2.AJAX 请求受到浏览器同源策略限制, 存在跨域问题
  3AJAX 在发送复杂请求时, 浏览器会预先发出 OPTIONS 请求预检 (HTTP 自己是不会预检的)
  4.AJAX 请求头会多一个 x-requested-with 参数, 值为 XMLHttpRequest
  5.AJAX 请求不能再控制器中进行跳转

三. OPTIONS 请求预检
  post 请求和 get 请求是简单请求, 其余的请求都是复杂请求(比如:put, delete, trace 等)
  当使用 AJAX 发送复杂请求的时候会先发送 OPTIONS 请求预检, 简单请求不会

原文地址:https://www.cnblogs.com/yslf/p/10846585.html