全栈Web开发者前端面试工程师

前端面试的经典题第二弹

2017-04-08  本文已影响112人  brandonxiang

http缓存的meta标签

HTTP协议中关于缓存的信息头关键字包括Cache-Control(HTTP1.1),Pragma(HTTP1.0),last-Modified,Expires等。

1) 打开新窗口 值为private、no-cache、must-revalidate,那么打开新窗口访问时都会重新访问服务器。 而如果指定了max-age值,那么在此值内的时间里就不会重新访问服务器,例如: Cache-control: max-age=5(表示当访问此网页后的5秒内再次访问不会去服务器)
2) 在地址栏回车 值为private或must-revalidate则只有第一次访问时会访问服务器,以后就不再访问。 值为no-cache,那么每次都会访问。 值为max-age,则在过期之前不会重复访问。
3) 按后退按扭 值为private、must-revalidate、max-age,则不会重访问, 值为no-cache,则每次都重复访问
4) 按刷新按扭 无论为何值,都会重复访问。Cache-control值为“no-cache”时,访问此页面不会在Internet临时文件夹留下页面备份。
来自《html头文件设置常用之<meta>设置缓存》

跨域CORS的步骤

简单请求

主要是指GET,POST,HEAD三种请求方式。

HTTP头文件不超出下面的方式:

Accept
Accept-Language
Content-Language
Last-Event-ID
Content-Type:只限于三个值application/x-www-form-urlencoded、multipart/form-data、text/plain
  1. 浏览器端:使用GET或者POST发送的请求,根据你请求的地址,给它附加一个额外的Origin头部,其中包含请求页面的源信息(协议、域名和端口)。这个动作大部分浏览器是自动的,除了IE8,它引用的是XDR。
  2. 服务端:如果认为这个请求接受,就在Access-Control-Allow-Origin头部中回发相同的源信息。

例如:Access-Control-Allow-Origin:http://www.test.com

非简单请求(Preflighted Requests)

它支持GET,POST,HEAD以外事件的方法。

浏览器端会根据你的请求方法添加的头信息自动添加除了Origin外还有下面两个属性。

服务端确认允许跨源请求,需要添加以下字段。

response.setContentType("text/html; charset=utf-8");
response.addHeader("Access-Control-Allow-Origin", "*");
response.addHeader("Access-Control-Allow-Methods", "*");
response.addHeader("Access-Control-Max-Age", "100");
response.addHeader("Access-Control-Allow-Headers", "X-Custom-Header,accept, content-type");
response.addHeader("Access-Control-Allow-Credentials", "false");

什么时候触发重绘重排

怎么减少重绘重排

参考

上一篇下一篇

猜你喜欢

热点阅读