美文网首页面试题
HTTP学习随笔

HTTP学习随笔

作者: 吴一晏 | 来源:发表于2019-07-16 20:41 被阅读0次
  1. 必考:HTTP 状态码知道哪些?分别什么意思?

  2. 大公司必考:HTTP 缓存有哪几种?

    • 需要详细的了解 ETag、Cache-Control、Expires 的异同
    • 参考 https://imweb.io/topic/5795dcb6fb312541492eda8c
    • 答题要点:
      1. ETag 是通过对比浏览器和服务器资源的特征值(如MD5)来决定是否要发送文件内容,如果一样就只发送 304(not modified)
      2. Expires 是设置过期时间(绝对时间),但是如果用户的本地时间错乱了,可能会有问题
      3. Cache-Control: max-age=3600 是设置过期时长(相对时间),跟本地时间无关。
      4. Etag依然会发送请求,Cache-Control是从本地缓存文件中读取,不会发送请求
  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. 想装逼请参考 https://zhuanlan.zhihu.com/p/22536382
  4. Cookie V.S. LocalStorage V.S. SessionStorage V.S. Session
    Cookie:服务器发送给浏览器的一串字符串,浏览器每次访问服务器时候就会带上Cookie。
    Session:浏览器和服务器在一段时间内的会话。

    • Cookie V.S. LocalStorage
      1. 主要区别是 Cookie 会被发送到服务器,而 LocalStorage 不会
      2. Cookie 一般最大 4k,LocalStorage 可以用 5Mb 甚至 10Mb(各浏览器不同)
      3. Cookie一般是存用户信息,LocalStorage是存一些不重要的数据
    • LocalStorage V.S. SessionStorage
      1. LocalStorage 一般不会自动过期(除非用户手动清除),而 SessionStorage 在回话结束时过期(如关闭浏览器)
    • Cookie V.S. Session
      1. Cookie 存在浏览器的文件里,Session 存在服务器的文件里
      2. Session 是基于 Cookie 实现的,具体做法就是把 SessionID 存在 Cookie 里
  5. HTTP1和HTTP2区别
    找篇博客看看吧。。。推荐屈光宇的博客

  • 多路复用(MultiPlexing),即连接共享,即每一个request都是是用作连接共享机制的。一个request对应一个id,这样一个连接上可以有多个request,每个连接的request可以随机的混杂在一起,接收方可以根据request的 id将request再归属到各自不同的服务端请求里面。
  • 服务端推送(server push),同SPDY一样,HTTP2.0也具有server push功能。
  • header压缩,如上文中所言,对前面提到过HTTP1.x的header带有大量信息,而且每次都要重复发送,HTTP2.0使用encoder来减少需要传输的header大小,通讯双方各自cache一份header fields表,既避免了重复header的传输,又减小了需要传输的大小。
  • 新的二进制格式(Binary Format),HTTP1.x的解析是基于文本。基于文本协议的格式解析存在天然缺陷,文本的表现形式有多样性,要做到健壮性考虑的场景必然很多,二进制则不同,只认0和1的组合。基于这种考虑HTTP2.0的协议解析决定采用二进制格式,实现方便且健壮。

相关文章

  • HTTP学习随笔

    必考:HTTP 状态码知道哪些?分别什么意思?2xx 表示成功3xx 表示需要进一步操作4xx 表示浏览器方面出错...

  • Storm学习笔记 - 消息容错机制

    Storm学习笔记 - 消息容错机制 文章来自「随笔」 http://jsynk.cn/blog/articles...

  • HTTP与HTTPS的区别

    这篇随笔我们从六个步骤来学习: 1、了解HTTP和HTTPS的基本概念 2、HTTPS诞生的目的 3、HTTP与H...

  • es6常用实例总结;

    前言 本篇随笔是对 《ECMAScript 6 入门》作者:阮一峰 的学习笔记,此书已经开源,地址为:http:/...

  • 常见的 HTTP 协议版本

    《HTTP 权威指南》阅读随笔 HTTP/0.9HTTP/0.9 是 HTTP 的 1991 原型版,该版本缺陷较...

  • 自动打包总结

    最近在IOS学习自动打包,看了不少资料特来写下随笔。 我们用jenkins自动打包 参考地址 http://www...

  • Node学习随笔—http相关__http模块&路由

    一:http模块 http模块是node的常用模块,可以用浏览器访问写的代码 1.引进http模块(核心模块不需要...

  • ios随笔学习之HTTP基础

    一、URL的编码 URL中一旦出现了特殊字符(比如中文、空格),需要进行编码。比如: 0、URL的组成?参考iOS...

  • 2018-08-22

    Java学习随笔 正则表达式性能问题 听说正则的性能很是问题,具体的比较可以参考 http://blog.sina...

  • 私人FTP搭建

    原因:2017年2月8日 星期三 随笔记录说明:仅供个人学习。我的博客 : http://minichao.me ...

网友评论

    本文标题:HTTP学习随笔

    本文链接:https://www.haomeiwen.com/subject/oddxlctx.html