Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说前端OPTIONS请求,希望能够帮助你!!!。
今天在项目调试中,需要在拦截器里获取前端请求头里的token,结果死活获取不到。debug了半天发现前端一共发送了两次请求,真正的请求的第二次。
OPTIONS请求
OPTIONS请求方法的主要用途有两个:
1、获取服务器支持的HTTP请求方法;也是黑客经常使用的方法。
2、用来检查服务器的性能。例如:AJAX进行跨域请求时的预检,需要向另外一个域名的资源发送一个HTTP OPTIONS请求头,用以判断实际发送的请求是否安全。
总之,OPTIONS请求相当于一个检测目标是否安全的操作,类似于心跳机制。所以我们在后台拦截器里面应该把这个请求过滤掉。
1
2
3
4
5
6
7
8
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
if("OPTIONS".equals(httpRequest.getMethod())){
filterChain.doFilter(httpRequest, httpResponse);
return;
}
}
如上,如果检测到请求方法是options,则直接通过,接下来会得到真正的请求。
---------------------
作者:javafanwk
来源:CSDN
原文:https://blog.csdn.net/fwk19840301/article/details/80675477
版权声明:本文为博主原创文章,转载请附上博文链接!
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
下一篇