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

建站公司网站论坛优化大师的优化项目有哪7个

建站公司网站论坛,优化大师的优化项目有哪7个,网站怎么在移动端推广,建网站网络推广优势Same Origin Policy同源策略(SOP) 具有相同的Origin,也即是拥有相同的协议、主机地址以及端口。一旦这三项数据中有一项不同,那么该资源就将被认为是从不同的Origin得来的,进而不被允许访问。 Cross-origin resource…

Same Origin Policy同源策略(SOP)

具有相同的Origin,也即是拥有相同的协议、主机地址以及端口。一旦这三项数据中有一项不同,那么该资源就将被认为是从不同的Origin得来的,进而不被允许访问。

Cross-origin resource sharing跨域资源共享(CORS)

是一个W3C标准。允许浏览器向跨源(协议 + 域名 + 端口)服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。
CORS需要浏览器和服务器同时支持。它的通信过程,都是浏览器自动完成,不需要用户参与。

对于开发者来说,CORS通信与同源的AJAX/Fetch通信没有差别,代码完全一样。
浏览器一旦发现请求跨源,就会自动添加一些附加的头信息,有时还会多出一次附加的请求,但用户不会有感觉。因此,实现CORS通信的关键是服务器。只要服务器实现了CORS接口,就可以跨源通信。

浏览器将CORS请求分成两类:简单请求(simple request)和非简单请求(not-so-simple request)。

  • 简单请求:只要在头信息增加一个Origin字段。是HEAD、GET、POST请求,并且HTTP的头信息不超出以下几种字段 Accept、Accept-Language、Content-Language、Last-Event-ID、Content-Type。反之,就是非简单请求。
  • 非简单请求:在正式通信之前,增加一次OPTIONS查询请求,称为"预检"请求(preflight)。浏览器先询问服务器,当前网页所在的域名是否在服务器的许可名单之中,以及可以使用哪些HTTP动词和头信息字段。只有得到肯定答复,浏览器才会发出正式的XMLHttpRequest请求,否则就报错。

Content-Type:只限于三个值application/x-www-form-urlencoded、multipart/form-data、text/plain

实现CORS很简单,就是在服务端加一些响应头,并且这样做对前端来说是无感知的
在这里插入图片描述

如果在开发中,发现每次发起请求都是两条,一次OPTIONS,一次正常请求,注意是每次,那么就需要配置Access-Control-Max-Age,避免每次都发出预检请求。

方法一

全局配置,(很多旧版的WebMvcConfigurerAdapter被标记为过时Deprecated)

@Configuration
public class CorsConfig implements WebMvcConfigurer{@Overridepublic void addCorsMappings(CorsRegistry registry){registry.addMapping("/**").allowedOrigins("*").allowedMethods("GET","HEAD","POST","PUT","DELETE","OPTIONS").allowCredentials(true).maxAge(3600).allowedHeaders("*");}
}

方法二

基于过滤器方式,在response中写入这些响应头。

@WebFilter(filterName = "CorsFilter")
@Configuration
public class CorsFilter implements Filter{@Overridepublic void doFilter(ServletRequest req,ServletResponse res,FilterChain chain) throws IOException, ServletException {HttpServletResponse response = (HttpServletResponse)res;response.setHeader("Access-Control-Allow-Origin","*");response.setHeader("Access-Control-Allow-Credentials", "true");response.setHeader("Access-Control-Allow-Methods", "POST, GET, PATCH, DELETE, PUT");response.setHeader("Access-Control-Max-Age", "3600");response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");chain.doFilter(req, res);}
}

方法三

@CrossOrigin注解的方式
注解可以放在method、class等上面,类似RequestMapping,也就是说,整个controller下面的方法可以都受控制,也可以单个方法受控制

public class GoodsController{@CrossOrigin(origins = "http://localhost:4000")@GetMapping("goods-url")public Response queryGoodsWithGoodsUrl(@RequestParam String goodsUrl)throws Exception{}
}
http://www.zhongyajixie.com/news/10767.html

相关文章:

  • 做网站的技术支持武汉网站优化公司
  • 做网站做软件怎么赚钱吗万网官网首页
  • 在上海做钟点工的网站搜索引擎网站有哪些
  • 个人微信公众号怎么做微网站网络推广营销方案100例
  • 阿里云服务器多个网站百度app登录
  • 包头网站 建设重庆疫情最新消息
  • 腾讯云ADM怎么做网站中国seo关键词优化工具
  • 手机端网站制作教程交换友情链接时需要注意的事项
  • 论坛网站备案流程图深圳高端seo公司助力企业
  • https网站搭建武汉seo服务多少钱
  • 官方网站在哪里做app软件大概多少钱
  • 分类网站发布信息有生意做吗怎么在百度发布个人简介
  • 拓普网站建设新品怎么推广效果最好
  • 百度网站建设微信封面手机免费建站系统
  • asp.net 网站写好后如何运行百度小程序入口官网
  • 建设银行苏州官网招聘网站关键词如何快速排名
  • 怎样做付费下载的网站搜索引擎营销的概念
  • 审查元素 wordpress培训seo
  • 网站推广维护青岛seo培训
  • 个人网站怎么设计首页备案查询站长工具
  • 基督教网站做父母怎样教养孩子百度联盟广告收益
  • 建立一个网站大约要多少钱公司网页制作模板
  • 网站动图是怎么做的广州白云区今天的消息
  • 网站建设维护工作百度搜索风云榜小说总榜
  • 中国建设部网站官网怎么建立自己的网页
  • 毕节网站建设百度信息流推广教程
  • 品牌网站建设方国内十大4a广告公司
  • 做兼职的设计网站有哪些工作内容自己的网站怎么做seo
  • 网站首页做多大分辨率网络销售怎么找客户
  • 粉色帝国网站厦门人才网最新招聘信息网