HTTP是什么 有什么作用

105 篇文章 0 订阅

超文件传输协议(httP,hypertext transfer Protocol)是互联网上应用最为广泛的一种网络传输协议。

超文件传输协议(httP,hypertext transfer Protocol)是互联网上应用最为广泛的一种网络传输协议。

所有的www文件都必须遵守这个标准。

设计httP最初的目的是为了提供一种发布和接收htmL页面的方法。

目前的应用主要除了htmL网页外还被用来传输超文本数据 例如:图片、音频文件(mP3等)、视频文件(rm、avi等)、压缩包(zip、rar等)……基本上只要是文件数据均可以利用httP进行传输。

web的应用层协议httP是web的核心。

httP在web的客户程序和服务器程序中得以实现。

运行在不同端系统上的客户程序和服务器程序通过交换httP消息彼此交流。

httP定义这些消息的结构以及客户和服务器如何交换这些消息。

在详细解释httP之前,我们先来回顾一些web中的术语。

web页面(web page,也称为文档)由多个对象构成。

对象(object)仅仅是可由单个uRL寻址的文件,例如htmL文件、JPg图像、giF图像、JaVa小应用程序、语音片段等。

大多数web页面由单个基本himL文件和若干个所引用的对象构成。

例如,如果一个web页面包含htmL文本和5个JPeg图像,那么它由6个对象构成,即基本h1mL文件加5个图像。

基本htmL文件使用相应的uRL来引用本页面的其他对象。

每个uRL由存放该对象的服务器主机名和该对象的路径名两部分构成。

例如,在如下的uRL中: /skin/new/logo.gif 是一个路径名。

浏览器是web的用户代理,它显示所请求的web页面,并提供大量的导航与配置特性。

web浏览器还实现httP的客户端,因此在web上下文中,我们会从进程意义上互换使用“浏览器”和“客户”两词。

流行的web浏览器有netscape communicator,firefox和微软的ie等。

web服务器存放可由uRL寻址的web对象。

web服务器还实现httP的服务器端。

流行的web服务器有apache、微软的iis以及netscape enterprise server。

netcraft提供了web服务器的概要剖析[netcrft 2000]。

httP定义web客户(即浏览器)如何从web服务器请求web页面,以及服务器如何把web页面传送给客户。

下图展示了这种请求—响应行为。

当用户请求一个web页面(譬如说点击某个超链接)时,浏览器把请求该页面中各个对象的httP请求消息发送给服务器。

服务器收到请求后,以运送含有这些对象httP响应消息作为响应。

到1997年底,基本上所有的浏览器和web服务器软件都实现了在RFc 1945中定义的httP/1.0版本。

1998年初,一些web服务器软件和浏览器软件开始实现在RFc 2616中定义的httP/1.1版本。

h1tP/1.1与httP/1.0后向兼容;运行1.1版本的web服务器可以与运行1.0版本的浏览器“对话”,运行1.1版本的浏览器也可以与运行1.0版本的web服务器“对话”。

httP/1.0和httP/1.1都把tcP作为底层的传输协议。

httP客户首先发起建立与服务器tcP连接。

一旦建立连接,浏览器进程和服务器进程就可以通过各自的套接字来访问tcP。

如前所述,客户端套接字是客户进程和tcP连接之间的“门”,服务器端套接字是服务器进程和同一tcP连接之间的“门”。

客户往自己的套接字发送httP请求消息,也从自己的套接字接收httP响应消息。

类似地,服务器从自己的套接字接收httP请求消息,也往自己的套接字发送httP响应消息。

客户或服务器一旦把某个消息送入各自的套接字,这个消息就完全落入tcP的控制之中。

tcP给httP提供一个可靠的数据传输服务;这意味着由客户发出的每个httP请求消息最终将无损地到达服务器,由服务器发出的每个httP响应消息最终也将无损地到达客户。

我们可从中看到分层网络体系结构的一个明显优势——httP不必担心数据会丢失,也无需关心tcP如何从数据的丢失和错序中恢复出来的细节。

这些是tcP和协议栈中更低协议层的任务。

tcP还使用一个拥塞控制机制。

该机制迫使每个新的tcP连接一开始以相对缓慢的速率传输数据,然而只要网络不拥塞,每个连接可以迅速上升到相对较高的速率。

这个慢速传输的初始阶段称为缓启动(slow start)。

需要注意的是,在向客户发送所请求文件的同时,服务器并没有存储关于该客户的任何状态信息。

即便某个客户在几秒钟内再次请求同一个对象,服务器也不会响应说:自己刚刚给它发送了这个对象。

相反,服务器重新发送这个对象,因为它已经彻底忘记早先做过什么。

既然httP服务器不维护客户的状态信息,我们于是说httP是一个无状态的协议(stateless protocol)。

原文地址:https://www.weidianyuedu.com/content/4420766262803.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值