计算机网络——应用层-Web&HTTP

计算机网络——应用层-Web&HTTP,第1张

计算机网络系列博文——目录

20世纪90年代初

因特网应用

Web应用的组成

对象组成。对象是一个文件,如HTML文件,JPEG图像,Java程序,视频片段等。

对象可通过一个URL地址寻址。

Web页面常由一个HTML基本文件和多个引用对象构成。

URL(Uniform Resoure Locator):统一资源定位器 RFC1738

用以寻址Web对象

由一个存放对象的服务器主机名和对象路径名构成。

HTTP 由客户端程序和服务端程序实现,二者通过交换HTTP报文会话。

HTTP规范定义了HTTP客户端和服务端之间的通信协议。

Web浏览器实现HTTP客户端,请求、接收、展示Web对象

Web服务器实现HTTP服务端,响应客户的请求,发送对象

HTTP使用TCP作为支撑运输层协议。

端口:80

无状态协议 服务器不保存关于客户的任何信息

服务器向客户发送被请求的文件,而不存储任何关于客户的状态信息。

往返时间(Round-Trip Time,RTT)

一个短分组从客户到服务器然后再返回客户所花费的时间。

某客户和服务器的一次会话中,每个请求/响应对通过一个单独的TCP连接传输

HTTP 10版本使用非持续性连接

对多个待获得的web对象,客户端一次只请求一个对象,待前一个对象接收完毕后再发送对下一个对象的请求。

时间分析

浏览器通常支持并行的TCP连接。并行TCP连接数通常为5~10个。

对多个待获得的web对象,客户端一次可同时建立多个TCP连接,以同时请求多个web对象。

时间分析

某客户和服务器的一次会话中,所有请求/响应对经同一TCP连接传输

HTTP 11版本在默认方式下采用持续连接,但也可由客户端/服务器配置为非持续连接。

客户端只有收到前一个响应后才发送新的请求

可理解为同个TCP内的串行

时间分析

客户端只要遇到一个引用对象就尽快发出请求

可理解为同个TCP内的并行

HTTP 11的默认选项

时间分析

TCP 三次握手

1客户向服务器发送一个小TCP报文段;

2服务器用一个小TCP报文段做出确认和响应;

3客户向服务器返回确认和一个HTTP请求报文;

4服务器返回相应HTML文件;

HTTP规范

RFC 1945 , RFC 2616

用ASCII文本书写

HTTP协议有两类消息,请求消息(request)和响应消息(response)

请求行 HTTP请求报文的第一行

方法

首部行 请求行后继的其它行,包含一些会话信息

空行 回车换行,分隔首部行和实体体

实体体(entity body)

GET方法下实体体为空

POST方法下实体体包含表单信息

状态行

常见状态码

首部行

空行

实体体

包含了所请求的对象

HTTP是无状态协议,但cookie技术允许服务器识别用户

cookie在无状态的HTTP之上建立一个用户会话层

参见 [RFC 6265]

cookie组件

cookie技术的争议在于它可能泄露用户的隐私

代表原Web服务器来响应HTTP请求的网络实体

Web缓冲器通常由ISP购买并安装

允许缓存器证实其缓存的副本是新的。

如果缓存器有web对象最新的版本,则初始服务器不需要向缓存器发送该web对象

在HTTP请求消息中声明所持有版本的日期

If-modified-since: <date>

如果缓存的版本是最新的,则响应消息中不包含对象

HTTP/10 304 Not Modified

内容分发网络(Content Distribution Network,CDN)

基于缓存器技术,CDN公司在因特网上安装许多地理上分散的缓存器,使得大流量本地化。

有共享CDN(Akamai,Limelight),专用CDN(谷歌,微软)

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 计算机网络——应用层-Web&amp;HTTP

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情