- HTTP 状态码知道哪些?
- 301 和 302 的区别是什么?
- 301 永久重定向,浏览器会记住
- 302 临时重定向
- HTTP 缓存怎么做?
- Cache-Control: max-age=300
- http://cdn.com/1.js?v=14 避开缓存
- Cache-Control 和 Etag 的区别是什么?
- Cookie 是什么?Session 是什么?
- Cookie
- HTTP响应通过 Set-Cookie 设置 Cookie
- 浏览器访问指定域名是必须带上 Cookie 作为 Request Header
- Cookie 一般用来记录用户信息
- Session
- Session 是服务器端的内存(数据)
- Session 一般通过在 Cookie 里记录 SessionID 实现
- SessionID 一般是随机数
- Cookie
- LocalStorage 和 Cookie 的区别是什么?
- Cookie 会随请求被发到服务器上,而 LocalStorage 不会
- Cookie 大小一般4k以下,LocalStorage 一般5Mb 左右
- (必考)GET 和 POST 的区别是什么?
- 参数。GET 的参数放在 url 的查询参数里,POST 的参数(数据)放在请求消息体里。
- 安全(扯淡)。GET 没有 POST 安全(都不安全)
- GET 的参数(url查询参数)有长度限制,一般是 1024 个字符。POST 的参数(数据)没有长度限制(扯淡,4~10Mb 限制)
- 包。GET 请求只需要发一个包,POST 请求需要发两个以上包(因为 POST 有消息体)(扯淡,GET 也可以用消息体)
- GET 用来读数据,POST 用来写数据,POST 不幂等(幂等的意思就是不管发多少次请求,结果都一样。)
- (必考)怎么跨域?JSONP 是什么?CORS 是什么?postMessage 是什么?
- JSONP
- CORS
- postMessage 看一下 MDN