Nginx解决跨域

本文深入解析跨域问题的根源——浏览器的同源策略,并详细介绍了几种解决跨域的方法:包括JSONP的GET请求方式,利用Nginx进行反向代理,以及通过CORS实现更全面的跨域资源共享。
跨域

什么是跨域

就是浏览器不能执行其他网站的脚本,他是由浏览器的同源策略造成,是浏览器施加的安全限制

同源是指 域名 协议 端口 均相同

跨域的解决方法 jsonp

用利用script标签 在里面进行ajax请求

<script>
$.ajax({
             url: 'http://api.douban.com/v2/movie/in_theaters',
             dataType: 'jsonp',
             success: function (res){
             	//使用模板引擎进行渲染js有一个有反引号的模板引擎
             	$(res.subjects).each(function(i,item){
                   $('#movies').append(`<li><img src="${item.images.large}"                      alt="" />${item.title}</li>`)
                   

             	})
             }
  	      })
</script>

在script标签中 指定请求的类型 dataType = ‘jsonp’

这种方式只能支持 get方式进行请求

使用Nginx 解决跨域

反向代理服务器

本地页面发起ajax请求 先转发到nginx nginx在转发给后台服务器 后台服务器返回数据给nginx nginx在返回给页面的技术 就是反向代理

在nginx.conf文件进行配置

配置如下
server {
        listen       3000;
        server_name  localhost;//当前服务器的域名

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass http://localhost:81;
            proxy_redirect default;
        }
        location /apis { #添加访问目录为/apis的代理配置
			rewrite  ^/apis/(.*)$ /$1 break;
			proxy_pass   http://localhost:82;
       }
上面的这些配置的相关解释  
让nginx 京听localhost的80端口 网站A 与网站B访问都是通过80端口  进行访问
我们另外特殊的配置了一个'/api'目录的访问,并且对url进行了重写  使/api的请求 都跳转到 http://localhost: 82 这个地址 
rewrite  ^/api/(.*)$ /$1 break; 
代表重写拦截进来的请求,并且只能对域名后边以“/api”开头的起作用

/ 的请求  转发到 http://localhost:81这个地址  进行处理

既然配置了Nginx进行跨域的请求  那么  请求的地址就需写一些变化  
ajax请求的地址  写成 /api  开头进行发送请求

这个的基础  是监听node服务器的运行端口  3000
一旦有发现请求就通过Nginx做相应的处理

node和nginx

node主要做一些业务的逻辑 nginx主要做一些ajax的跨域请求 处理一些静态页面 当需要请求后台资源时候 通过nginx进行转发 请求到数据在转发给前台页面

node主要处理并发的功能上 比如聊天系统 博客这一类的

也可以在nodejs中间件代理跨域

#####使用CORS跨域资源共享

cors支持所有请求

只需要在后台加上响应头允许域的请求 在悲情的Response header 加入以下配置

//指定允许其他域名访问
'Access-Control-Allow-Origin:*'//或指定域
//响应类型
'Access-Control-Allow-Methods:GET,POST'
//响应头设置
'Access-Control-Allow-Headers:x-requested-with,content-type'
内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值