crossorigin注解的作用和原理
时间: 2024-05-17 09:18:17 浏览: 88
@crossorigin注解是用于设置跨域资源共享(CORS)的响应头信息的。
CORS是一种机制,允许网页向不同的域名(网站)发送跨域AJAX请求。在同源策略下,网页只能向与自己同源的后台发送请求,而跨域AJAX请求则需要特殊的处理。
@crossorigin注解可以设置以下属性:
- value:表示允许跨域请求的来源地址,可以使用通配符,如"*"表示允许所有来源的跨域请求。
- maxAge:表示预检请求的有效期,单位为秒。
- allowedHeaders:表示允许跨域请求的请求头,多个请求头可以使用逗号分隔。
- exposedHeaders:表示允许跨域请求的响应头,多个响应头可以使用逗号分隔。
- allowCredentials:表示是否允许发送Cookie和HTTP认证信息,默认为false。
原理上,浏览器会在发送跨域请求时,会先发送一个OPTIONS预检请求,询问服务器是否允许跨域请求。服务器收到预检请求后,会检查请求头中的Origin字段,判断是否允许该域名的跨域请求,并在响应头中设置Access-Control-Allow-Origin、Access-Control-Allow-Methods、Access-Control-Allow-Headers等响应头信息,告知浏览器是否允许跨域请求。@crossorigin注解就是用来设置这些响应头信息的。
阅读全文