一些概念:
- RTT (Round Trip Time):从客服端发送一个很小的数据包到服务器并返回所经历的时间
- 响应时间(Response Time):发起,建立TCP连接:1个RTT
- 发送HTTP请求消息到HTTP响应消息的前几个字节到达:1个RTT
- 响应消息中所包含的文件/对象传输时间
- 总传输时间 = 2RTT + 文件发送时间
一、网络应用
- 网络应用间的通信:
- 套接字socket
- 寻址概念:
- 就像我们的身份证号一样,一台计算机在网络中也有自己的“身份证号”,就是网卡的mac地址。但如果一台计算机要借入网络,还需要NSP网络服务提供商分配给自己的IP地址,NSP往往就是:电信,网通,移动什么的。。让我们可以接入网络。
- 在已经接入网络的情况下,计算机上的应用比如:qq,lol游戏等。例如在qq上我向我的好友 “J”发送消息。
二、WEB应用
- 使用协议:HTTP
- 默认端口:80
HTTP的链接类型
- 非持久性连接Nonpersistent HTTP :
- 每个TCP链接最多允许传输一个对象
- HTTP 1.0版本默认使用非持久性连接
- 缺点:
- 每个对象都需要2个RTT
- 操作系统需要为每个TCP链接开销资源(overhead)
- 浏览器打开多个并行TCP链接来获取对象,但对服务器造成负担
- 持久性连接Persistent HTTP:
- 如:HTTP1.1默认
- 每个TCP链接允许传输多个对象
- HTTP 1.1版本默认使用持久性连接
- 服务器发送响应后,服务器保持TCP连接
- 后续的HTTP消息可以通过这个连接继续发送
- 无流水(pipelining)的持久性链接:
- 客户端只有接收到前一个响应后才发送新的请求
- 每个被引用的随想耗时1个RTT
- 带流水机制的持久性链接
- 客户端只要遇到一个引用对象就尽快发送请求
- 理想情况下,收到所有的引用对象只需要1RTT
- 非持久性连接Nonpersistent HTTP :
- 4.