How Tomcat Works Tomcat Default Connector

1. HTTP1.1的新特性介绍

1.1 长连接支持

http1.1之前没个请求都会建立一个http链接,对于一个页面来说,浏览器可能需要发送多个请求,而且http链接的建立和关闭是开销很大的操作。通过使用长连接,客户端可以通过一个连接请求一个页面的所有资源。http1.1支持而且默认使用长连接。浏览器也可以通过发送下面的请求头信息显示指定使用长连接:

connection: keep-alive

1.2 块编码

在服务端和客户端使用长连接进行通信的时候,发送端必须要通过一种方式告诉客户端发送了多少字节,http1.0中服务端可以通过content-length来告诉客户端发送了多少字节,但是这是可选的,因为浏览器的内容发送完了之后就会关闭连接,客户端只需要读完所有内容就可以了。但是如果使用长连接,这样明显是不行的,因为发送端并不知道自己一共要发送多少字节。所以http1.1通过一个transfer-encoding的请求头来指明字节流将会分开发送。每一个块分为块的长度和块的内容两个部分,由CRLF分隔。如:

1D\r\n
I'm as helpless as a kitten u
9\r\n
p a tree.
0\r\n

 1.3 状态码100的使用

使用http1.1的客服端可以在向服务端发送请求之前发送请求头:

Expect: 100-continue

如果服务端可以接受处理请求,可以发送响应头:

HTTP/1.1 100 Continue
\r\n 

避免服务端不能处理请求而客户端有发送大量数据的浪费。

2 Connector

原文地址:https://www.cnblogs.com/likely/p/7298139.html