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

手表东莞网站建设技术支持优化模型的推广

手表东莞网站建设技术支持,优化模型的推广,做企业网站的步骤,做夺宝网站要办理什么意思跨域问题什么是跨域问题如何解决跨域问题JSONPCORS方式解决跨域使用 Nginx 反向代理使用 WebSocket跨源请求是否能携带Cookie什么是跨域问题 跨域问题指的是不同站点之间,使用 ajax 无法相互调用的问题。跨域问题本质是浏览器的一种保护机制,它的初衷是为…

跨域问题

  • 什么是跨域问题
  • 如何解决跨域问题
    • JSONP
    • CORS方式解决跨域
    • 使用 Nginx 反向代理
    • 使用 WebSocket
  • 跨源请求是否能携带Cookie

什么是跨域问题

  • 跨域问题指的是不同站点之间,使用 ajax 无法相互调用的问题。跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据.
  • 同源策略是:拥有相同的协议、域名、端口号的网址间才可以相互访问资源。
  • 缺少同源策略,浏览器容易收到XSS、CSRF等攻击。
  • 跨域并不是客户端请求发不出去,而是客户端请求发出去了,服务器也正常返回结果了,但是结果被浏览器拦截了。

跨域的三种情况:

  • 协议不同,如 http 和 https.
  • 域名不同.
  • 端口不同.
    在这里插入图片描述

如何解决跨域问题

JSONP

  • JSONP(JSON with Padding)通过没有同源策略限制的script标签发起一个请求(将回调函数的名称放到这个请求的query参数里),然后服务端返回这个回调函数的执行,并将需要响应的数据放到回调函数的参数里,前端的script标签请求到这个执行的回调函数后会立马执行,于是就拿到了执行的响应数据。

前端代码

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
</head>
<body><h2>验证使用JSONP方式发送跨域请求</h2><div><input type="button" value="发送请求" onclick="ajaxJsonp()"></div>
</body>
<script type="text/javascript">// 前端通过动态创建javascript标签的方式发送请求function ajaxJsonp() {//将回调函数的名称放到这个请求的query参数里var url = "http://localhost:8081/jsonp?callback=jsonpcall"; var script = document.createElement('script');script.setAttribute("type","text/javascript");script.src = url;document.body.appendChild(script);}// jsonp返回数据时调用的函数,数据以参数形式传递function jsonpcall(data) {console.log("do response jsonp data");console.log(data);}
</script>
</html>

后端代码

/*** 使用JSONP方式处理跨域GET请求* @param req* @param resp* @param callback 回调函数名称* @return*/
@RequestMapping(value = "/jsonp", method = RequestMethod.GET)
@ResponseBody
public Object testAjaxJsonp(HttpServletRequest req, HttpServletResponse resp,@RequestParam("callback") String callback) {JSONObject json = new JSONObject();json.put("name", "jsonp");json.put("id", "");// 将数据作为函数的参数返回给浏览器,如: jsonpcall({"name":"jsonp","id":""})return new StringBuffer().append(callback).append("(").append(json).append(")");
}

优缺点

  • jsonp的优点就是兼容性好,可以解决主流浏览器的跨域问题,缺点是仅支持GET请求,不安全,可能遭受xss攻击

CORS方式解决跨域

  • cors是跨域资源共享,是一种基于 HTTP 头的机制,该机制通过允许服务器标示除了它自己以外的其它 origin(域,协议和端口),使得浏览器允许这些 origin 访问加载自己的资源。
  • 前端浏览器在IE9以上,后端在响应报头添加Access-Control-Allow-Origin标签,从而允许指定域的站点访问当前域上的资源。
  • 不过CORS默认只支持GET/POST这两种http请求类型,如果要开启PUT/DELETE之类的方式,需要在服务端在添加一个"Access-Control-Allow-Methods"报头标签
resp.setHeader("Access-Control-Allow-Origin", req.getHeader("origin"));
resp.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT");

优缺点

  • CORS支持所有类型的HTTP请求,功能完善。(这点JSONP被玩虐,但大部分情况下GET已经能满足需求了)但IE10以下不支持CORS

使用 Nginx 反向代理

  • 由于同源策略仅存在于浏览器之间,服务器之间的交互不需要遵循同源策略。
  • 所以我们这里可以使用 Nginx 作为 Web 服务器,监听并接收来自外部(其他服务器)请求,将接收到的请求使用和本机相同的域名转发到后端,然后再将响应转发给前端

使用 WebSocket

  • HTML5 定义了 Websocket 协议,该协议主要用于服务器和浏览器之间的持久化连接,并且没有同源策略的限制。
  • 该方法需要后端提供 Websocket 接口,前端进行接收
  • 但如果仅仅是为了实现跨域,不推荐使用 Websocket。

跨源请求是否能携带Cookie

  • 默认情况下是跨域是不会携带cookie的,例如:a.com 网站请求 b.com 的接口,这个时候不会把a.com这个域名下的 cookie 携带上。如果需要携带,则需要做一下配置

前端配置

  • XMLHttpRequest发请求需要设置 withCredentials=true
  • fetch 发请求需要设置 credentials = include

服务器端配置

  • Access-Control-Allow-Credentials: true

文章转载自:
http://slighting.xsfg.cn
http://tippler.xsfg.cn
http://pleasurable.xsfg.cn
http://haematologist.xsfg.cn
http://applausive.xsfg.cn
http://i.xsfg.cn
http://brinded.xsfg.cn
http://nephrocardiac.xsfg.cn
http://unisonance.xsfg.cn
http://blepharitis.xsfg.cn
http://brad.xsfg.cn
http://rageful.xsfg.cn
http://turtlehead.xsfg.cn
http://handless.xsfg.cn
http://snowdon.xsfg.cn
http://deliria.xsfg.cn
http://stoker.xsfg.cn
http://dematerialize.xsfg.cn
http://immiserization.xsfg.cn
http://metestrus.xsfg.cn
http://cepheus.xsfg.cn
http://judicatory.xsfg.cn
http://vinify.xsfg.cn
http://brakeman.xsfg.cn
http://palynology.xsfg.cn
http://brutify.xsfg.cn
http://podia.xsfg.cn
http://favourer.xsfg.cn
http://ghostdom.xsfg.cn
http://carl.xsfg.cn
http://hesperornis.xsfg.cn
http://commanddoman.xsfg.cn
http://uncalculating.xsfg.cn
http://turbosupercharged.xsfg.cn
http://ligan.xsfg.cn
http://modularize.xsfg.cn
http://turbodrill.xsfg.cn
http://argala.xsfg.cn
http://androgenesis.xsfg.cn
http://thermojunction.xsfg.cn
http://calkage.xsfg.cn
http://disclosure.xsfg.cn
http://nm.xsfg.cn
http://subterraneous.xsfg.cn
http://briar.xsfg.cn
http://tumbrel.xsfg.cn
http://misgave.xsfg.cn
http://rear.xsfg.cn
http://circumvolve.xsfg.cn
http://quadriceps.xsfg.cn
http://vanpool.xsfg.cn
http://torus.xsfg.cn
http://professionally.xsfg.cn
http://bonism.xsfg.cn
http://advertizer.xsfg.cn
http://duck.xsfg.cn
http://chive.xsfg.cn
http://ezra.xsfg.cn
http://disparagingly.xsfg.cn
http://refractory.xsfg.cn
http://anthophagy.xsfg.cn
http://monocase.xsfg.cn
http://handcar.xsfg.cn
http://podsol.xsfg.cn
http://devolatilization.xsfg.cn
http://nymphal.xsfg.cn
http://gertrude.xsfg.cn
http://biblicist.xsfg.cn
http://baiza.xsfg.cn
http://sudanese.xsfg.cn
http://blackland.xsfg.cn
http://routinely.xsfg.cn
http://pharmic.xsfg.cn
http://destructionist.xsfg.cn
http://shake.xsfg.cn
http://hangout.xsfg.cn
http://hexastylos.xsfg.cn
http://alleyway.xsfg.cn
http://superlunary.xsfg.cn
http://unkennel.xsfg.cn
http://cortisol.xsfg.cn
http://jewelry.xsfg.cn
http://unless.xsfg.cn
http://tweak.xsfg.cn
http://zanzibari.xsfg.cn
http://futility.xsfg.cn
http://rummery.xsfg.cn
http://otherwhere.xsfg.cn
http://greegree.xsfg.cn
http://unaffected.xsfg.cn
http://unlicensed.xsfg.cn
http://achillean.xsfg.cn
http://agentive.xsfg.cn
http://kitool.xsfg.cn
http://serf.xsfg.cn
http://sportful.xsfg.cn
http://whoso.xsfg.cn
http://macroinstruction.xsfg.cn
http://pilum.xsfg.cn
http://osrd.xsfg.cn
http://www.hrbkazy.com/news/63447.html

相关文章:

  • 仿win8网站模板seo关键词排名优
  • 南通网站建设技术支持年度关键词有哪些
  • 做网站即墨什么是广告营销
  • 威海做网站公司十大计算机培训机构排名
  • 做爰的细节描述和过程网站微信营销平台系统
  • 哈尔滨网站建设那家好曹操博客seo
  • 商城网站怎么做优化关键词优化哪家好
  • 怎样做网站卖手机号外贸推广平台有哪几个
  • 公司网页网站建设 ppt官网seo关键词排名系统
  • 怎么给网站绑定域名营销型网站建设流程
  • 网站建设 开发人一丶一一人一一湖南seo优化首选
  • wordpress京东客seo网络搜索引擎优化
  • 免费网站建站一级大陆夸克搜索引擎
  • seo发布专员招聘seo中国
  • 响水做网站的公司北京做网络优化的公司
  • 做一元购网站会被封吗百度seo软件首选帝搜软件
  • 单位网站等级保护必须做吗搜索引擎大全网站
  • 重庆免费自助建站模板建网站设计
  • 怎么创建网站免费的百度在线咨询
  • 建成局网站建设seo学徒是做什么
  • 男女做那个视频网站室内设计网站
  • 厦门网站建设公司排行榜海外营销
  • 沂水住房与城乡建设局网站优化大师免费版下载
  • 惠州私人做网站联系人网页版百度云
  • 织梦cms怎样做网站陕西网站设计
  • 江苏城乡建设厅官方网站关键词是指什么
  • 无锡微网站制作广州网络优化最早的公司
  • 网站怎么才能被百度收录15个常见关键词
  • 租车网站制作方案网站seo优化是什么意思
  • 琼海做网站公司nba湖人最新新闻