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

网站做多个单页链接海洋网络推广效果

网站做多个单页链接,海洋网络推广效果,怎么做 社区网站首页,温州 网站建设如何实现跨域 当浏览器执行JS脚本时,会检测脚本要访问的协议,域名,端口号是不是和当前网址一致,不一致就是跨域。 跨域是不允许的,这种限制叫做浏览器的同源策略,简单就是浏览器不允许一个源加载脚本与其…

如何实现跨域

当浏览器执行JS脚本时,会检测脚本要访问的协议,域名,端口号是不是和当前网址一致,不一致就是跨域。

跨域是不允许的,这种限制叫做浏览器的同源策略,简单就是浏览器不允许一个源加载脚本与其他源中的资源进行交互,那如何实现呢?

前端跨域
1.JSONP方式

script、img、iframe、link、video、audio 等带有 src 属性的标签可以跨域请求和执行资源, JSONP 利用这一点“漏洞”实现跨域。

<script>var scriptTag = document.createElement('script');scriptTag.type = "text/javascript";scriptTag.src = "http://10.10.0.101:8899/jsonp?callback=f";document.head.appendChild(scriptTag);
</script>

JSONP 实现跨域很简单但是只支持 GET 请求方式。而且在服务器端接受到 JSONP 请求后需要设置 请求头,添加 Access-Control-Allow-Origin 属性,属性值为 * ,表示允许所有域名访问,这样浏 览器才会正常解析,否则会报 406 错误。

response.setHeader("Access-Control-Allow-Origin", "*");

2.webpack-dev-server

前端无论是vue项目还是react 项目大多数都会以webpack-dev-server 来运行,webpack-dev-server 可以设置代理,前端可以在开发环境设置代理解决跨域问题

 proxy: {'/api': {target: 'http://localhost:3000',pathRewrite: { '^/api': '' },changeOrigin: true,},}

vue-cli、create-react-app、umi 等脚手架找到webpack devserver配置位置配上即可。

注意: 只限在开发环境,生产环境需要web 服务器同样原理代即可。下面会说明怎么用。

后端解决方案
Http 协议CORS头

跨域其实也是http层面上可以解决的问题,后端解决也是比较简单的,也是项目常见的解决手法。

CORS (Cross-Origin Resource Sharing,跨域资源共享)是一个系统,它由一系列传输的HTTP头组成,这些HTTP头决定浏览器是否阻止前端 JavaScript 代码获取跨域请求的响应。

同源安全策略 默认阻止“跨域”获取资源。但是 CORS 给了web服务器这样的权限,即服务器可以选择,允许跨域请求访问到它们的资源。

  • Access-Control-Allow-Origin 指示请求的资源能共享给哪些域。

  • Access-Control-Allow-Credentials 指示当请求的凭证标记为 true 时,是否响应该请求。

  • Access-Control-Allow-Headers 用在对预请求的响应中,指示实际的请求中可以使用哪些 HTTP 头。

  • Access-Control-Allow-Methods 指定对预请求的响应中,哪些 HTTP 方法允许访问请求的资源。

  • Access-Control-Expose-Headers 指示哪些 HTTP 头的名称能在响应中列出。

  • Access-Control-Max-Age 指示预请求的结果能被缓存多久。

  • Access-Control-Request-Headers 用于发起一个预请求,告知服务器正式请求会使用那些 HTTP 头。

  • Access-Control-Request-Method 用于发起一个预请求,告知服务器正式请求会使用哪一种 HTTP 请求方法。

  • Origin 指示获取资源的请求是从什么域发起的

运维解决方案

运维解决我只会一点ngnix ,其他web 服务器就不说了,原理同webpack-dev-server 设置代理转发解决跨域问题。

步骤:

  • 前端和运维商量好协议路径代理规则,比如/api 代表域名

  • 前端配置webpack -dev -server 代理

  • 服务器利用ngnix 配置相同转发代理

...
location /api {proxy_pass https://b.test.com; # 设置代理服务器的协议和地址
}       
...

http://www.tj-hxxt.cn/news/47666.html

相关文章:

  • 娄底网站建设方案购买链接平台
  • 网站导航广告怎么做软文网站发布平台
  • 建网站挣钱 优帮云手机优化助手下载
  • 标准网站是哪个推广公众号的9种方法
  • 镜像网站怎么做排名今日头条新闻10条
  • 织梦网站栏目如何做下拉江西短视频seo搜索报价
  • 佛山网站建设价格多少百度收录提交入口地址
  • 互联网站建设 天津店铺推广软文范例
  • 如何把网站做权重seo培训费用
  • 一个公司做两个网站可以吗企业网站推广
  • 网站后台内容管理b站视频推广的方法有哪些
  • 南京重庆网站建设本周国内重大新闻十条
  • 手机网站怎么优化百度一下百度一下百度一下
  • 浙江建设职业技术学院继续教育学院网站河南品牌网络推广外包
  • 新乡定制网站建设公司百度一下你就知道首页
  • 在线学做衣服 的网站seo网络推广到底是做什么的
  • 中国网站推广黄页名录合肥网站设计
  • 九州娱乐官方网站怎么做代理在线识别图片来源
  • 一汽大众网站谁做的关键词优化排名用哪个软件比较好
  • 张店网站优化网页制作教程步骤
  • 内蒙古住房与城乡建设部网站佛山网站seo
  • 免费网站客服工具百度销售平台怎样联系
  • 做婚礼请柬的网站有哪些百度搜索网址
  • 网站代码502石家庄seo推广优化
  • 山西小程序开发公司seo分析工具有哪些
  • 具有品牌的广州做网站广州企业推广
  • 巴彦淖尔市 网站建设东莞网站推广宣传
  • 网站更换域名多少钱网站在线生成app
  • 怎样先做网站后买域名seo网上培训
  • 网站建设为什么这么贵怎么做网络宣传推广