CORS 相关

0、CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码完全一样。浏览器一旦发现AJAX请求跨源,就会自动添加一些附加的头信息,有时还会多出一次附加的请求,但用户不会有感觉。因此,实现CORS通信的关键是服务器。只要服务器实现了CORS接口,就可以跨源通信。
1、有些接口需要登录才能调用 有些不需要登录就能调用 在哪里配置管理? 配置文件:spring-config-shiro.xml
2、跨域Ajax访问header中的x-requested-with丢失(X-Requested-With:XMLHttpRequest)? jQuery源码中X-Requested-With的header部分:

1
2
3
4
5
6
7
8
// X-Requested-With header
// For cross-domain requests, seeing as conditions for a preflight are
// akin to a jigsaw puzzle, we simply never set it to be sure.
// (it can always be set on a per-request basis or even using ajaxSetup)
// For same-domain requests, won't change header if already provided.
if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) {
headers[ "X-Requested-With" ] = "XMLHttpRequest";
}

2、跨域传递cookie的withCredentials属性:
$.ajaxSetup({crossDomain: true, xhrFields: {withCredentials: true}})、 headers: { ‘x-requested-with’: ‘XMLHttpRequest’ }
3、204:意思等同于请求执行成功,但是没有数据,浏览器不用刷新页面.也不用导向新的页面。如何理解这段话呢。还是通过例子来说明吧,假设页面上有个form,提交的url为http-204.htm,提交form,正常情况下,页面会跳转到http-204.htm,但是如果http-204.htm的相应的状态码是204,此时页面就不会发生转跳,还是停留在当前页面。另外对于a标签,如果链接的页面响应码为204,页面也不会发生跳转。
4、客户端和服务器端都需要作出的调整。

5、数据库读写分离

6、分布式服务

7、
8、
9、
10、

Comments

2018-01-13

⬆︎TOP