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

手机网站 案例优化设计六年级下册数学答案

手机网站 案例,优化设计六年级下册数学答案,丹阳信息网,济南制作网站的公司吗文章目录 什么是跨域跨域带来的问题 gateway解决跨域解决跨域的其他方式比较代码示例 总结提升 什么是跨域 跨域#xff08;Cross-Origin#xff09;是指在浏览器中#xff0c;当一个Web应用程序试图访问与其所属页面不同的源#xff08;origin#xff09;的资源时#… 文章目录 什么是跨域跨域带来的问题 gateway解决跨域解决跨域的其他方式比较代码示例 总结提升 什么是跨域 跨域Cross-Origin是指在浏览器中当一个Web应用程序试图访问与其所属页面不同的源origin的资源时浏览器会对这种行为进行安全限制并阻止一些跨域请求以保护用户的数据安全。 在浏览器遵循同源策略的限制下同一个源的脚本只能访问相同源下的资源不能访问其他源下的资源。同源策略通过限制跨域请求防止恶意网站通过跨站脚本攻击XSS和跨站请求伪造CSRF等手段盗取用户的敏感信息或进行其他恶意行为。 通常情况下如果一个请求的协议、主机或端口任意一个与当前页面的源即协议、主机和端口不同则该请求就被认为是跨域请求。 跨域带来的问题 跨域请求受到同源策略Same-Origin Policy的限制主要出于安全考虑。同源策略限制了跨域请求对其他源的读取访问防止恶意网站窃取用户数据。这种限制导致跨域请求无法直接进行而带来以下问题 AJAX请求被拒绝浏览器会阻止在跨域请求中使用XMLHttpRequest对象进行通信。 Cookie不可用跨域请求默认不会发送源站的Cookie信息导致无法验证用户身份。 访问被拒绝跨域请求可能会受到服务器的访问控制策略阻止。 gateway解决跨域 Gateway网关是一种中间层服务位于客户端和后端服务之间。它负责请求的转发、路由和协议转换等工作并提供了跨域处理的解决方案。以下是Gateway解决跨域问题的主要方式 反向代理Gateway可以作为后端服务的反向代理将客户端的请求转发到目标服务上。由于Gateway与后端服务在同一域内因此不存在跨域问题。 跨域资源共享CORSGateway可以配置CORS策略允许特定域下的请求进行跨域访问。通过在响应头中添加Access-Control-Allow-Origin字段指定允许跨域请求的域名实现跨域访问。 JSONP代理Gateway可以充当JSONP的代理在服务端发起对目标服务的请求然后返回给客户端一个回调函数包裹的响应数据。通过动态创建 解决跨域的其他方式比较 代码示例 Component Order(2) public class CorsResponseHeaderFilter implements GlobalFilter {private static final String ANY *;OverrideSuppressWarnings(serial)public MonoVoid filter(ServerWebExchange exchange, GatewayFilterChain chain) {return chain.filter(exchange).then(Mono.fromRunnable(() - {exchange.getResponse().getHeaders().entrySet().stream().filter(kv - (kv.getValue() ! null kv.getValue().size() 1)).filter(kv - (kv.getKey().equals(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN)|| kv.getKey().equals(HttpHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS)|| kv.getKey().equals(HttpHeaders.VARY))).forEach(kv -{// Vary只需要去重即可if(kv.getKey().equals(HttpHeaders.VARY)) {kv.setValue(kv.getValue().stream().distinct().collect(Collectors.toList()));} else{ListString value new ArrayList();if(kv.getValue().contains(ANY)){ //如果包含*则取*value.add(ANY);kv.setValue(value);}else{value.add(kv.getValue().get(0)); // 否则默认取第一个kv.setValue(value);}}});}));} } 在这段代码中通过实现GlobalFilter接口并使用Component注解将该类作为一个全局过滤器进行注册。同时使用Order(2)注解来指定该过滤器的执行顺序。 在filter方法中首先调用chain.filter(exchange)将请求转发给下一个过滤器或目标服务处理。然后通过then方法和Mono.fromRunnable创建一个新的Mono在请求完成后执行一些操作。 在这个新的Mono中我们获取到响应对象ServerHttpResponse然后遍历响应头的键值对。针对部分特定的响应头进行以下处理 对于Access-Control-Allow-Origin、Access-Control-Allow-Credentials和Vary这三个响应头我们判断其值是否存在且长度大于1即有多个值。如果满足条件我们对其进行相应的处理。 如果是Vary头则将其值去重即去除重复的值。 如果是Access-Control-Allow-Origin或Access-Control-Allow-Credentials头将其值设置为一个新的包含只有一个元素的列表。 如果原始值中包含通配符*则新列表只包含一个元素*即保持通配符不变。 否则新列表只包含原始值的第一个元素即保持原样。 通过这些处理我们实现了对跨域请求响应头的筛选和修改确保在跨域请求中返回符合要求的响应头以便客户端能够正常访问跨域资源。 总结提升 跨域是浏览器限制网页脚本访问不同域名下资源的安全机制。同源策略要求网页脚本只能访问与其所在网页具有相同协议、域名和端口的资源。这种限制是为了保护用户的隐私和安全防止恶意网站获取用户的敏感信息。 为了解决跨域请求的问题浏览器提供了跨域资源共享CORS等机制。CORS允许服务器在响应中设置特定的HTTP头以授权其他域名的请求访问资源。通过在响应头中添加Access-Control-Allow-Origin字段服务器可以指定允许访问的域名。这样浏览器就可以根据响应头的设置决定是否允许跨域请求。 除了CORS还有其他一些解决跨域请求的方法如JSONP。JSONP通过动态创建 跨域是一个常见的开发问题了解跨域的原理和解决方法对于开发人员来说是很重要的。通过合理使用CORS和其他跨域解决方案我们可以在保护用户安全的前提下实现不同域名之间的数据交互。
http://www.w-s-a.com/news/134707/

相关文章:

  • 网站建设书本信息it运维服务
  • 四核网站建设设计网站流程
  • ui设计网站设计与网页制作视频教程wordpress插件漏洞利用
  • 网站建设公司排名前十做网站的最终目的
  • 选择网站开发公司的标准中国网站建设市场规模
  • 衣服网站建设策划书广州住房和城乡建设部网站
  • 微商城科技淄博网站建设优化seo
  • 杭州 网站设计制作东圃手机网站开发
  • 网站文章页内链结构不好可以改吗微信平台如何开发
  • 炫酷业务网站课程网站如何建设方案
  • 网站建设服务器可以租吗wordpress微信打赏
  • 网站制作的重要流程图大连网站优化快速排名
  • 河南省住房建设厅官方网站注册公司邮箱需要什么
  • 美橙网站注册华为手机网站建设策划方案论文
  • 河南省和建设厅网站首页在线图片翻译
  • 关于备案空壳网站清理通知去别人网站挂黑链
  • 做网站待遇世界购物平台排行榜
  • 售后服务网站什么网站免费做简历模板
  • 网站模板怎么修改成都网站优化seo
  • 给装修公司做推广的网站wordpress站点的根目录
  • 怎么创建企业网站wordpress怎么做404页面跳转
  • 福建省住房和建设厅网站网站做著作权
  • 编程代码网站网站搭建的注意事项
  • 音乐网站排名公司如何做自己的网站
  • 网站设计模式三网合一网站源代码
  • 珠海市品牌网站建设哪家好宛城区网站制作
  • 网站维护工程师代写文章兼职
  • 贵州城乡和建设厅网站企业网站备案名称窍门
  • .cc后缀网站湛江霞山
  • 青岛制作网站软件ui设计培训哪里好