闲碎记事本 闲碎记事本
首页
  • JAVA
  • Cloudflare
  • 学完再改一遍UI
友链
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

YAN

我要偷偷记录...
首页
  • JAVA
  • Cloudflare
  • 学完再改一遍UI
友链
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • java

  • linux

  • docker

  • redis

  • nginx

  • mysql

  • 其他

    • 跨域处理
      • Homebrew简单语法
      • 音视频处理库
      • ES设置设置密码
      • 关于与或运算的一些理解
      • AI绘画学习
      • Content-Type对应处理
      • gitlab迁移
      • opssl命令
      • certd证书续期
      • git使用
      • Google搜索
      • Emoji速查
    • 环境搭建

    • 知识库
    • 其他
    Yan
    2023-03-10
    目录

    跨域处理

    记录为什么会发生跨域,以及处理跨域的一些办法。

    # 为什么会跨域?

    跨域的产生来源于现代浏览器所通用的‘同源策略’,所谓同源策略,是指只有在地址的:协议名,地址名,端口一样的时候,才允许访问相同的cookie、localStorage或是发送Ajax请求等等。若在不同源的情况下访问,就称为跨域。

    # 为什么浏览器会禁止跨域

    跨域的访问会带来许多安全性的问题,比如,cookie一般用于状态控制,常用于存储登录的信息,如果允许跨域访问,那么别的网站只需要一段脚本就可以获取你的cookie,从而冒充你的身份去登录网站,造成非常大的安全问题,因此,现代浏览器均推行同源策略。

    # 简单描述

    1. 浏览器限制
    2. 域名,端口不一样
    3. XHR(XMLHttpRequest请求)

    满足以上三个条件即会跨域

    # 简单请求和非简单请求:

    # 常见简单请求

    • 方法为get,head,post, 请求header里面没有自定义头,
    • Content-Type的值为以下几种 text/plain,multipart/form-data,application/x-www-form-urlencoded。

    # 常见非简单请求

    • put,delect 方法的ajax请求
    • 发送json格式的ajax请求
    • 带自定义头的ajax请求。

    # 解决跨域方案:

    1. 从浏览器出发,允许浏览器跨域
    2. 从XHR(XMLHttpRequest)出发
      • 避免发生跨域:
      • 使用jsonp
      • 产生跨域后解决。
      • 服务器实现
      • ngin配置

    # 解决跨域

    # 使用jsonp

    • 原因是:jsonp请求是通过script的方式发送,且只有xhr的请求方式才有可能产生跨域问题。

    • 服务端允许跨域,响应头中添加:

      • Access-Control-Allow-Origin=“允许跨域的url”,即跨省域时,请求头Origin的值,所以一般是获取Origin的值。
      • Access-Control-Allow-Method=“*”,允许的方法。非简单请求处理方案:在相应头中添加
      • Access-Control-Request-Headers=“Content-Type,自定义的header的key”。
      • Access-Control-Allow-Credentials,="true",带cookies的跨域解决 允许使用cookies

    # nginx配置

    nginx 跨域配置

    上次更新: 2025/05/22, 07:52:48
    MySQL分区
    Homebrew简单语法

    ← MySQL分区 Homebrew简单语法→

    最近更新
    01
    Caddy操作指南
    04-25
    02
    虚拟机磁盘扩展
    04-22
    03
    Swap空间
    04-22
    更多文章>
    Theme by Vdoing | Copyright © 2022-2025 YAN | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式