当前位置: 首页 > news >正文

中企高呈网站建设网站建设一般报价

中企高呈网站建设,网站建设一般报价,政务网站建设规范,常州制作网站价格文章目录 概要web应用整体请求流程技术名词解释跨域问题产生的原理解决方案前端代码角度前端服务器角度后端代码角度后端服务器角度 小结 概要 在不成熟的前后端开发过程中,经常遇到跨域问题; 在前后端分离的模式下的开发过程中,经常遇到跨域…

文章目录

    • 概要
    • web应用整体请求流程
    • 技术名词解释
    • 跨域问题产生的原理
    • 解决方案
      • 前端代码角度
      • 前端服务器角度
      • 后端代码角度
      • 后端服务器角度
    • 小结

概要

在不成熟的前后端开发过程中,经常遇到跨域问题;
在前后端分离的模式下的开发过程中,经常遇到跨域问题;

本文章针对跨域问题提供几个有效的解决方案;

web应用整体请求流程

前端给后端发ajax、aioxs,中间要经过web服务器转手,然后后端接收请求、处理、响应,
有些情况下,可能没有web服务器这一步,这是一个闭环;

技术名词解释

跨域(Cross-Origin)是指在Web开发中,当前前端页面所在的域(域名、协议、端口)与请求的目标资源的域不一致时,浏览器会阻止页面发起跨域请求。这是出于安全考虑,以防止恶意网站获取用户的敏感信息或进行其他安全攻击。

跨域问题主要涉及到浏览器的同源策略(Same-Origin Policy)。同源策略要求网页只能从同一域的源加载资源,不同源的资源请求将会受到限制。

具体而言,同源策略包括以下几个方面:

协议相同: 两个页面的协议必须相同,比如都是http或https。
域名相同: 两个页面的域名必须相同,包括主域名和子域名。
端口相同: 两个页面的端口号必须相同。

跨域问题产生的原理

就是因为浏览器的同源策略,导致前端通过浏览器发给后端的请求,被浏览器阻止了。

解决方案

前端代码角度

如果你的前端是框架开发的,前端代码里可以用代理的方式实现。比如:

  server: {proxy: {'/common': {target: envs.VITE_API_BASE_URL,changeOrigin: true,secure: false,},'/iot': {target: envs.VITE_API_BASE_URL,changeOrigin: true,secure: false,},'/farm': {target: envs.VITE_API_BASE_URL,changeOrigin: true,secure: false,},'/admin': {target: envs.VITE_API_BASE_URL,changeOrigin: true,secure: false,}},},

前端服务器角度

可以在前端web服务器配置文件内写反代,原理就是前端请求当前域名/api,这样浏览器就不会报错,前端web服务器接收到api的请求时去转发请求到后端服务器,

server {listen 80;server_name your_domain.com;  # 替换为你的域名location / {root /path/to/your/frontend/app;  # 替换为你的前端应用的路径index index.html;try_files $uri $uri/ /index.html;}location /api/ {proxy_pass http://localhost:5000;  # 替换为你的API服务器地址和端口proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection 'upgrade';proxy_set_header Host $host;proxy_cache_bypass $http_upgrade;}# 可以添加其他配置,如SSL证书等,根据实际需求
}

后端代码角度

// 允许任何来源访问
header("Access-Control-Allow-Origin: *");// 允许的请求方法
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");// 允许的请求头字段
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");// 响应类型
header("Content-Type: application/json; charset=utf-8");// 如果是预检请求(OPTIONS),直接返回空响应体,结束执行
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {header("HTTP/1.1 200 OK");exit();
}

有些框架比如laravel,还支持中间价的优雅语法实现,和这个代码大同小异,可以自行百度

后端服务器角度

server {listen 80;server_name your_domain.com;  # 替换为你的域名location / {# 允许任何来源访问add_header 'Access-Control-Allow-Origin' '*';# 允许的请求方法add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';# 允许的请求头字段add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept';# 响应类型add_header 'Content-Type' 'application/json; charset=utf-8';# 可以添加其他配置,如代理到后端应用等,根据实际需求}# 可以添加其他配置,如SSL证书等,根据实际需求
}

小结

一个请求的发起到后端接收到后端响应,这是一个闭环的流程,在这个流程上的每一步都可以实现跨域问题的解决

http://www.yayakq.cn/news/726346/

相关文章:

  • 永德网站建设辽宁建设工程信息网内容
  • 凡科建站快车官网室内设计学校排名榜国内
  • 个人网站能不能做论坛学网页制作的网站
  • 太原手机微网站建设产品设计排版模板
  • 图库素材网站模板苏州纳米加工平台
  • 网站怎样做seo推广主题资源网站建设作业
  • 响应式网站建设服务黑糖主题3.0wordpress
  • 刚做的网站为什么搜索不到开发软件需要什么学历
  • 商丘住房和城乡建设厅网站有意思网站推荐
  • 专门做网站公司莱芜网站优化公司
  • 做互助盘网站找哪家好工程公司手机网站
  • 上海建设网站找哪家内部网站做登陆内部链接
  • 学校网站建设与维护建设网企业沟通平台
  • 做拍卖的网站开厂做哪个网站比较好
  • 网页设计心得体会1500seo公司品牌哪家好
  • 宁波网络营销方式南昌做seo的公司有哪些
  • 大岭山东莞网站建设windows软件开发工具
  • 阿里云网站建设方案书中山市郑州建设信息网打不开
  • 网站是用dreamer做的_为什么后台能进去前台进不去了山东德州网站建设哪家便宜
  • 网站开发需解决的难题页面跳转的方式
  • dede做网站建模网站素材
  • 物流好的网站模板做php网站用什么软件开发
  • 远程医疗型网站开发龙岩微信网站建设
  • 免费下载设计素材网站WordPress集成tipask
  • 企业网站需要哪些模块营销推广有哪些
  • 山西省建设银行网站个人网站可以做商城吗
  • 公司网站制作都需要图片如何申请开公司
  • 做美图网站有哪些东西吗做网站页面报价
  • 做网站建设注册商标是多少类如何下载ppt免费模板
  • 网站制作费计入哪个科目机械外协加工网最新订单