网络协议:万维网HTTP

来源:互联网 发布:网络ip电话 通话中断音 编辑:程序博客网 时间:2024/05/22 22:06

本文将讨论:

1HTTP的基础概念

2HTTP的连接

3HTTP的高速缓存

 

HTTP的基础概念

 

早期的Internet,主要用的是FTP。后来,web飞速发展,占据市场主体。所以,大多数公司都会有web站点。对于大多数用户来说,webinternet是难以区分的。web由一个很大的文档组成,称为web页。用过internet能够访问这些文档。用户在使用web浏览器的时候,应用程序访问并显示web页,联络web服务器并获得页的副本。由于给定的服务器(比如www.csdn.com)管理着多个web页(淘宝店铺),所以浏览的时候一定要说清楚。

 

每一个web页都有唯一的名称用来标示。这个名称被统称为URLURL的形式如下

 

以本人博客为例,http://blog.csdn.net/qq_33225741。我们可以知道他的服务器是blog.csdn.net,文档的名称是/qq_33225741,使用的http协议。

 

浏览器和web服务器之间通信用的协议是HTTPHTTP有以下特点:

 

1HTTP在应用层操作,采用稳定的、面向连接的传输协议。但是又不具备可靠性和重传机制(与TCP有一定区别);

2:请求相应机制,通常是浏览器像服务器发送http请求;

3:双向传输:浏览器请求服务器,服务器传回web页,同时浏览器能够对web页修改并再传回给服务器。

4:支持高速缓存为了减少相应时间,浏览器将接受的所有web页放入高速缓存。再次访问的时候会询问服务器该页是否被修改,如果没有,就从缓存中直接获取。

5:支持代理。

 

 

HTTP的连接

 

要说HTTP的连接,就需要从HTTPGET请求开始说起。

还是回到http://blog.csdn.net/qq_33225741。当我们输入这个URL之后,浏览器会向blog.csdn.net这个服务器发送一个GET请求。但是,服务器都是以IP地址来命名的,怎么办呢?系统会先把这个服务器地址通过DNS翻译成对应的IP地址,然后再向服务器发送请求。这样就建立起连接了。建立连接之后,会发送路径/qq_33225741。由于已经建立连接,所以此时就不需要再发送绝对地址了,发送相对地址即可。服务器收到请求之后会把相应的web页返回回来,这样我们就能够浏览相应的内容了。

 

HTTP协议在经过发展之后由原来的短连接模式变成了长连接。我们可能会想:短连接多好,不挤占服务器的资源。这种想法是错误的,下面来具体讨论一下。

 

我们知道,TCP在处理糊涂窗口多数情况下是用的delay ack的方式。即使在建立连接的过程还是使用了这种方法。很明显,当访问量到达一定程度,这将占掉不小的时间。接下来,如果你有剖析过linux关于套接字通信的源码,你就会发现,在建立连接的过程中会使用相当一部分的资源,不管是服务器端还是客户端都是如此。这又占用了一部分资源。

 

我们再来看一下HTTP默认的带有流水线的长连接:在建立连接之后,每遇到一个对象(比如新的link,或者是多媒体文件等),就会向服务器发送一个请求。服务器就将所属对象返回回来。link可以放到缓存里,当前页面的多媒体文件就一流水线的方式一个个返回。在一定时间没有收到请求后,自动断开连接。长短连接一比较,就不难做出选择了。

 

HTTP的高速缓存

 

高速缓存的目的是提高效率,通过消除不必要的传输,减少等待时间和工作量。高速缓存最明显的就是存储。在访问web页的时候,浏览器或者代理服务器将副本存在磁盘上,以后请求同一页的时候可以缩短查找过程。接下来就是从缓存里获得页面副本。所以高速缓存的重点在于数据项保留在缓存的时间。

 

 

 

 

 

 

 

原创粉丝点击