[关闭]
@windchimes 2018-03-23T08:01:29.000000Z 字数 1328 阅读 251

阿里一轮电面

面试


跨域jsonp,如何判断jsonp结束了呢,就像200的状态码一样
access如何设置支持跨域
301和302的区别,如何感知? 304是什么
localstorage cookie有什么不同点
cookie被浏览器禁用后,session会如何变化
react 受限控件和非受限控件
ajax请求方式及其区别,例如put和post的区别
如何创建一个不带原型链的对象
项目改版的效果一定要说

解题:
304返回的是not modified,其中有两个比较重要的请求头字段 if-modified-since if-none-match,其中if-modified-since对应的是上次请求返回的last-modified响应头中的Date日期值,而if-none-match的值对应的是上次请求返回的Etag值,客户端发送请求时带上这两个字段值,服务器接收到就知道客户端发送的是条件请求,会去判断是否更新了资源。cache-control中的max-age设置的值较大时,浏览器就不会在有缓存的情况下去发送请求了,但是这样的话一旦对静态资源进行修改更新,必须要发布为不同的url来确保用户重新加载变动的资源。

对应解题链接:http://blog.csdn.net/netdxy/article/details/50670734
301 302解题:https://www.cnblogs.com/zhuzhenwei918/p/7582620.html

共同点:用户可以看到url替换成了新的
不同点:301永久重定向,这个响应是可以缓存的;302暂时重定向,这个除非指定了cache-control或者expires设置了,否则是不缓存的

跨域方法:jsonp CORS
1)CORS需要客户端和服务器端同时配置,客户端请求头部有origin字段,服务器端返回的头部有access-control-allow-origin字段值
2)jsonp请求完成onload事件,onerror事件(浏览器不支持)

https://www.cnblogs.com/Herzog3/p/5881411.html

ajax请求方式head get post put delete options patch
1)head 当客户端向服务器端请求的只是部分信息时使用,可以用来检测头信息
2)put 当客户端向服务器端指定的url发送替换文档或者上传新文档时使用
3)trace Trace请求必须包含一个实体。客户端使用Trace方法看到接收用户输入的请求链和诊断或检测信息的另一端。
4)options 查看服务端的性能,不能被缓存
5)patch 实体中包含一个表,表中说明与该URI所表示的原内容的区别。

session是保存在服务器的一种数据结构,用来跟踪用户的状态,这个数据可以保存在文件、内存和数据库中
cookie是客户端保存用户信息的一种机制,用来记录用户的某些信息,也是session实现的一种方式。
浏览器禁用cookie的情况下,会使用一种url重写的技术来跟踪识别用户,既每次http交互,url后面都会跟上一个类似sid=xxx的参数,服务端可以根据这个来追踪用户
cookie和localstorage都是同源的
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注