浏览器

1、HTTP 和 HTTPS 区别

    * HTTPS 是在 HTTP 的基础上计入了 SSL协议,SSL 依靠证书来验证服务器的身份。为浏览器服务器之间的通讯加密

    * HTTP + 加密 + 认证 + 完整性保护 = HTTPS

    * HTTPS 协议需要到 CA申请证书或者自制证书

    * HTTP 是 明文传输HTTPS 传输信息是通过 SSL加密

    * HTTP 直接与 TCP 进行数据传输HTTPS 运行在 SSL/TLS(安全传输层协议) 之上,SSL/TLS运行在TCP上

      两者用的端口不一样HTTP 的端口是 80HTTPS 端口 443.

    * HTTP 的连接很简单,是无状态的;HTTPS 协议是由 SSL+HTTP 协议构建的,可进行加密传输身份认证的网络协议。

2、HTTP 2 和 HTTP 1.X

    * HTTP 2 使用的是新的二进制格式传送HTTP 1.X文本传送。 二进制协议解析起来更加高效。

    * HTTP 2 报头压缩,通过 gzipcompress 压缩头部 然后发送,避免重复 header 的传输,并且减少传输的大小

    * HTTP 2 支持 Server Push (服务端推送)。

          传统的请求模式(响应模式),用户在请求一个HTML文件的时候,只有当HTML文件下载完毕之后,浏览器解析HTML文件才能发现页面中的其他资源获取。这样会延迟页面渲染拉长页面的加载时间。

          Server Push 可以让服务端在用户没有明确询问下,抢先地“推送”一些网站资源给客户端。我们可以根据用户正在访问的页面,给用户发送一些即将被使用的资源

          For example:全局样式 style.css,在浏览器访问 index.html的时候,服务端在为客户端发送 index.html 的同时,还可以向客户端发送 style.css,这样就可以降低页面的渲染时间。

    * HTTP 2 支持多路复用,即连接共享,即每个 reuqest 都是用作连接共享机制的。

           在HTTP 1.X中,每个请求都会创建一个HTTP连接,也就是在之前文章里面说过的三次握手和四次挥手,这个过程非常的耗费时间,及时启动了keep live,也会存在以下问题:

               * 单通道传输的情况下,当请求a文件时,b文件只能等待,等待a连接到服务器、服务器处理文件、服务器返回文件。我们假设这三步用时都是1秒,那么a文件用时为3秒,b文件传输完成用时为6秒,依此类推。

               * 连接数过多。我们假设Apache设置了最大并发数为300,因为浏览器限制,浏览器发起的最大请求数6,也就是服务器能承载的最高并发为50,当第51个人访问时,就需要等待前面某个请求处理完成

           HTTP 2 中有两个重要的概念,帧 (frame) 和 流 (stream)。

               帧 代表 最小的数据单位,每个都会标志属于哪个流,则是由多个帧组成数据流

               一个TCP连接中可以存在多条流,也就是说一个TCP连接可以发送多个请求,另外一端可以通过帧中的标志来判断属于哪个流。通过这个技术,可以避免 HTTP 旧版本中的队头阻塞问题,极大的提高传输性能。

                          

3、TCP 和 UDP

    * UDP User Datagram Protocol的简称中文名是用户数据报协议。无连接的传输协议,UDP的应用程序提供了一种无需建立连接的可以发送封装的IP数据包的方法。

    *

7、HTTP Request Header和Response Header里面分别都有哪些比较重要的字段?

    * 请求报文和响应报文两方都会使用的首部

  • Cache-Control 告诉所有的缓存机制是否可以缓存及哪种类型

  • Connection 表明是否需要持久连接

  • Transfer-Encoding 文件传输编码

    * Request Header

  • Accept 指定客户端能够接收的内容类型,内容类型中的先后次序表示客户端接收的先后次序

  • Range 实体的字节范围请求

  • Authorization web的认证信息

  • Host 请求资源所在服务器

  • User-Agent 客户端程序信息

    * Response Header:

  • Location 令客户端重定向的URI
  • ETag 能够表示资源唯一资源的字符串
  • Server 服务器的信息
原文地址:https://www.cnblogs.com/Lyh1997/p/14322595.html