面HTTP、TypeScript

229 阅读3分钟

🈶1. HTTP 状态码知道哪些?分别什么意思?

  • 2xx 表示成功
  • 3xx 表示需要进一步操作
  • 4xx 表示浏览器方面出错
  • 5xx 表示服务器方面出错
  • 完整参考 www.runoob.com/http/http-s…

🈶2. HTTP 缓存有哪几种?

  • 需要详细的了解 ETag、CacheControl、Expires 的异同

  • 参考 imweb.io/topic/5795d…

  • 答题要点:

    1. ETag 是通过对比浏览器和服务器资源的特征值(如MD5)来决定是否要发送文件内容,如果一样就只发送 304(not modified)
    2. Expires 是设置过期时间(绝对时间),但是如果用户的本地时间错乱了,可能会有问题
    3. CacheControl: max-age=3600 是设置过期时长(相对时间),跟本地时间无关。

🈶3. GET 和 POST 的区别

  1. 错解,但是能过面试

    • 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中。
  2. 正解
    就一个区别:语义——GET 用于获取资源,POST 用于提交资源。

  3. 想装逼请参考 zhuanlan.zhihu.com/p/22536382

🈶4. Cookie V.S. LocalStorage V.S. SessionStorage V.S. Session

  • Cookie V.S. LocalStorage
  1. 主要区别是 Cookie 会被发送到服务器,而 LocalStorage 不会
  2. Cookie就是服务器发给浏览器一个字符串(票)就是sessionID,浏览器在每次访问这个服务器的时候,你就要拿着这个票(出示这个票)
  3. LocalStorage就是本地存储,记录用户在本地进行的一些操作数据
  4. Cookie 一般最大 4k,LocalStorage 可以用 5Mb 甚至 10Mb(各浏览器不同)
  • LocalStorage V.S. SessionStorage
  1. LocalStorage 一般不会自动过期(除非用户手动清除),而 SessionStorage 在回话结束时过期(如关闭浏览器)
  • Cookie V.S. Session
  1. Cookie 存在浏览器的文件里,Session 存在服务器的文件里

  2. Session 是基于 Cookie 实现的,具体做法就是把 SessionID 存在 Cookie 里

5. 什么是同源策略以及跨域解决方案

  • 什么是同源,就是比如两个URL,它们的协议、域名、端口一致,那么它们就是同源
  1. 同源可以相互之间访问,资源共享
  2. 不同源不能相互之间访问
  • 可以通过AJAX跨域,但是只能发给同源的网址
  • 还可以通过JSONP实现跨域,用script元素向服务器发送请求 , 缺点:只支持GET请求
  • CORS(设置Access-Control-Allow-Origin:指定可访问资源的域名)

🈶6. HTTP1.1和HTTP2.0的区别

2.png

http2是默认开启https的

________________________

Typescript

🈶1. never 类型是什么?

🈶2. TypeScript 比起 JavaScript 有什么优点?

  • 提供了类型约束,因此更可控、更容易重构、更适合大型项目、更容易维护