首页 > 其他分享 >跨域

跨域

时间:2024-05-14 13:55:52浏览次数:8  
标签:Origin 跨域 Content Allow 简单 请求

当你的协议、域名、端口三者任一与当前url不一致的时候,就会出现跨域问题(浏览器的同源策略)

1.Jsonp

主要利用scrpt不用同源策略的影响,但是只支持get请求(目前非主流)

2.CORS(主要依赖于后端)

分为简单请求和非简单请求

简单请求

1.请求方式为GET、POST、HEAD;

2.Content-Type为application/x-www-form-urlencodedmultipart/form-datatext/plain

3.HTTP的头信息不超出以下几种字段:

Accept

Accept-Language

Content-Language

Last-Event-ID

后端会判断请求头的Origin(源)是否在Access-Control-Allow-Origin里,是否存在白名单;存在即通过;

 

非简单请求(常见的application/json请求为非简单请求)

1.预检请求

判断请求方法、请求头、域名是否在Access-Control-Allow-Origin里

通过才发送正常请求

2.正常请求 (后端判断逻辑跟简单请求一样)

 

3.Nginx(前端自己就可以解决)

标签:Origin,跨域,Content,Allow,简单,请求
From: https://www.cnblogs.com/ssszjh/p/18191140

相关文章

  • 跨域问题
    浏览器同源策略它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现,是浏览器对访问到的结果进行了拦截。请求的url地址,必须与浏览器上的url地址处于同域上,也就是......
  • Django解决跨域
    基本使用1.安装依赖pipinstalldjango-cors-headers2.修改设置修改Django项目文件夹下的setting.py文件#记得修改允许访问的IPALLOWED_HOSTS=['*']#允许全部IP访问项目#setting.py修改以下内容INSTALLED_APPS=['django.contrib.admin','django.......
  • 跨域
    跨域:指的是浏览器不能执行其他网站的脚本,它是由浏览器的同源策略造成的。是浏览器对JavaScript施加的安全限制同源策略:是指协议,域名,端口都要相同,其中有一个不同都会产生跨域 都写在统一的一个配置类中,在gateway下建一个config包,CrosConfiguration,代码示例如下:@Configuratio......
  • 5.7前端跨域CSRF和SSRF
    一、CSRF(跨站请求伪造)1、get类型(pikaqu靶场环境)前提:抓包获取请求地址,构造伪造请求站点,并保持用户登录状态点击伪造站点此时在其他主机,构造网站信息index.html文件,并伪造修改个人信息数据包;<scriptsrc='http://192.168.127.129:81/vul/csrf/csrfget/csrf_get_edit.php?sex=......
  • [a]html中a标签跨域属性download无效,即预期下载变成了预览
    同源,a标签downlaod属性浏览器基本都支持下载非同源,提供两个下载方法functiondownloadFile(url,filename){fetch(url).then(response=>{returnresponse.blob();}).then(blob=>{consta=document......
  • 跨域请求解决办法(Django)
    跨域请求解决办法(Django)1.安装第三方扩展:pipinstalldjango-cors-headerssettings.py里面操作2.添加应用:INSTALLED_APPS=(...'corsheaders',...)3.第三步,添加中间件,注意放在第一条,第一时间进行处理:MIDDLEWARE=['corsheaders.middleware.......
  • 多区域协作时 如何实现便捷可控的文件跨域传输?
    文件跨域传输的场景在现代企业运营中非常普遍,特别是在那些具有分布式结构或需要跨地域合作的组织中。 以下是一些典型的多区域文件传输场景:1、企业内部跨地域传输:大型企业或跨国公司在不同地区设有分支机构,需要在这些分支机构之间传输业务数据和公司文件。2、供应链管理:在供......
  • 24.什么是跨域?解决方案有哪些?
    为什么会出现跨域问题存在浏览器同源策略,所以才会有跨域问题。那么浏览器是出于何种原因会有跨域的限制呢。其实不难想到,跨域限制主要的目的就是为了用户的上网安全。同源策略导致的跨域是浏览器单方面拒绝响应数据,服务器端是处理完毕并做出了响应的。什么是同源策略一个url由......
  • 跨域配置
    @ConfigurationpublicclassCorsConfigimplementsWebMvcConfigurer{@OverridepublicvoidaddCorsMappings(CorsRegistryregistry){//设置允许跨域的路由registry.addMapping("/**")//设置允许跨域请求的域名......
  • 前端调用DRI后端API出现跨域资源共享(CORS)问题解决办法
    目录1.引言2.跨源资源共享和实现方法3.在Django项目中配置django-cors-headers库Reference1.引言在进行后端API开发时,有时会遇到“跨域资源共享(CORS)请求...被阻止“的错误,如图1所示。本文讲解如何在使用DRF(DjangoRESTFramework)的后端API开发项目中解决这个问题。Ac......