web服务器
http协议
简单的http服务器
HTTP响应如果包含body,也是通过\r\n\r\n来分隔的。
注意:Body的数据类型由Content-Type头来确定,如果是网页,Body就是文本,如果是图片,Body就是图片的二进制数据。
tcp长连接和短连接
连接的建立通过三次握手,释放则需要四次握手,每个连接的建立都是需要资源消耗和时间消耗的
TCP短连接
模拟一种TCP短连接的情况:
client 向 server 发起连接请求
server 接到请求,双方建立连接
client 向 server 发送消息
server 回应 client
一次读写完成,此时双方任何一个都可以发起 close 操作
在步骤5中,一般都是 client 先发起 close 操作。当然也不排除有特殊的情况。
从上面的描述看,短连接一般只会在 client/server 间传递一次读写操作!
TCP长连接
再模拟一种长连接的情况:
client 向 server 发起连接
server 接到请求,双方建立连接
client 向 server 发送消息
server 回应 client
一次读写完成,连接不关闭
后续读写操作...
长时间操作之后client发起关闭请求