🈶1. HTTP 状态码知道哪些?分别什么意思?
- 2xx 表示成功
- 3xx 表示需要进一步操作
- 4xx 表示浏览器方面出错
- 5xx 表示服务器方面出错
- 完整参考 www.runoob.com/http/http-s…
🈶2. HTTP 缓存有哪几种?
-
需要详细的了解 ETag、CacheControl、Expires 的异同
-
答题要点:
- ETag 是通过对比浏览器和服务器资源的特征值(如MD5)来决定是否要发送文件内容,如果一样就只发送 304(not modified)
- Expires 是设置过期时间(绝对时间),但是如果用户的本地时间错乱了,可能会有问题
- CacheControl: max-age=3600 是设置过期时长(相对时间),跟本地时间无关。
🈶3. GET 和 POST 的区别
-
错解,但是能过面试
- GET在浏览器回退时是无害的,而POST会再次提交请求。
- GET产生的URL地址可以被加入收藏栏,而POST不可以。
- GET请求会被浏览器主动cache,而POST不会,除非手动设置。
- GET请求只能进行url编码,而POST支持多种编码方式。
- GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
- GET请求在URL中传送的参数是有长度限制的,而POST么有。
- 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
- GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
- GET参数通过URL传递,POST放在Request body中。
-
正解
就一个区别:语义——GET 用于获取资源,POST 用于提交资源。
🈶4. Cookie V.S. LocalStorage V.S. SessionStorage V.S. Session
- Cookie V.S. LocalStorage
- 主要区别是 Cookie 会被发送到服务器,而 LocalStorage 不会
- Cookie就是服务器发给浏览器一个字符串(票)就是
sessionID,浏览器在每次访问这个服务器的时候,你就要拿着这个票(出示这个票) - LocalStorage就是本地存储,记录用户在本地进行的一些操作数据
- Cookie 一般最大 4k,LocalStorage 可以用 5Mb 甚至 10Mb(各浏览器不同)
- LocalStorage V.S. SessionStorage
- LocalStorage 一般不会自动过期(除非用户手动清除),而 SessionStorage 在回话结束时过期(如关闭浏览器)
- Cookie V.S. Session
-
Cookie 存在浏览器的文件里,Session 存在服务器的文件里
-
Session 是基于 Cookie 实现的,具体做法就是把 SessionID 存在 Cookie 里
5. 什么是同源策略以及跨域解决方案
- 什么是同源,就是比如两个URL,它们的协议、域名、端口一致,那么它们就是同源
- 同源可以相互之间访问,资源共享
- 不同源不能相互之间访问
- 可以通过AJAX跨域,但是只能发给同源的网址
- 还可以通过
JSONP实现跨域,用script元素向服务器发送请求 , 缺点:只支持GET请求 CORS(设置Access-Control-Allow-Origin:指定可访问资源的域名)
🈶6. HTTP1.1和HTTP2.0的区别
http2是默认开启https的
________________________
Typescript
🈶1. never 类型是什么?
- 它指的是不应该出现的类型
- 尤雨溪的答案:www.zhihu.com/question/35…
🈶2. TypeScript 比起 JavaScript 有什么优点?
- 提供了类型约束,因此更可控、更容易重构、更适合大型项目、更容易维护