HTTP是什么
HTTP 是什么? HTTP 解决了什么?为什么出现? 假设只有 TCP,没有应用层: 客户端、服务器开发人员制定接口需要定好发送、接收数据的格式。比如服务器执行成功返回 1,执行失败返回 0 等。但是其他服务器的接口格式不一定就是这样,可能返回的执行结果是字符串。所以客户端针对每个系统的接口都需要分别写发送、解析数据的方法。 而 HTTP 就是为了解决这类问题,在应用层给客户端、服务端制定了一个规范。 HTTP/1.1 是什么?跟 1.0 有什么区别? HTTP 是基于 TCP 的协议,所以连接必须有三次握手、四次挥手。 在 HTTP/1.0 ,每次做 HTTP 请求,都需要建立、关闭 TCP 连接,即每发送 HTTP 请求就要三次握手、四次挥手。 这样比如打开一个网页,请求 HTML、CSS、JS 等就需要好几个甚至几十个 TCP 连接,所以性能低。这种每次请求就要一个 TCP 连接、返回再关闭 TCP 连接的,叫 短连接 。 而 HTTP/1.1 为了解决该问题,让多个 HTTP 请求共用一个 TCP 连接,从而减少了不必要的网络请求。 客户端在请求 HTTP header 里设置 Connection: keep-alive,并且服务器返回时也在其 HTTP header 设置 Connection: keep-alive,则使用的 TCP 连接就会继续给其他 HTTP