• HTTP 协议概述
万维网 WWW(World Wide Web) 之父蒂姆·贝纳斯·李早在 1990 年就提出了超文本传输协议 HTTP ( Hyper Text Transport Protocol ), HTTP 是 WWW 的基本协议。所谓超文本是与传统文本相比较而言。传统文本,无论是书本、计算机的文本文件,都是线性的,读者在阅读时,必须一页一页顺序地读,读者没有选择的余地。超文本与此不同,它不是一个线性的结构,而是一个非线性的网状结构。读者在阅读时,就不必像读线性文章时以顺序方式向下读,而是有选择地读自己感兴趣的部分。
HTTP 的工作过程为典型的客户 / 服务器工作模式,客户即为 WWW 浏览器,服务器即是 WWW 服务器。 HTTP 的工作过程使用请求 / 响应握手方式:①客户发生连接,双方建立起一个 TCP 连接;②客户发出请求;③服务器处理请求, 返回应答;④服务器关闭连接。
HTTP 的主要特点如下:
1) 简单快速
HTTP 本身既简单,又能有效地处理大量请求。在客户机与服务器连接后,客户机必须传送的信息只是请求方法和路径。正是因为 HTTP 简单,使得 HTTP 服务器程序规模小,而且简单。因此经由 HTTP 的通信速度很快,与其它协议相比,时间开销小得多。
2) 无连接
HTTP 是一个无连接协议。它的含义是限制每次连接只处理一个请求、客户机与服务器连接后提交一个请求,在客户机接到应答后马上断开连接。使用这种无连接协议,在没有请求时,服务器不会在那里闲等着,服务器更不会在完成一个请求后还把着原来的请求不放。使用无连接协议就好像是写信,一旦写好信发出便没事了。对方回信有了新信息,再写另一封信。而保持连接协议就跟打电话相似。双方轮番说许多话后才挂断。在对话期间电话线一直被占用。对于无连接协议而言,服务器一方实现起来比较容易,又能充分利用网上的资源。
3) 无状态
HTTP 是无状态的协议:每一次请求,应答的内容、状态及完成情况不作为历史数据保留到下一阶段使用。它既是优点也是缺点。一方面,由于没有状态, 协议对事物处理没有记忆能力。如果后续事物处理需要前面处理的有关信息,那么这些信息必须在协议外面保存。缺少状态意味着所需要的前面信息必须重现, 势必导致每次连接要传送较多的信息。另一方面,也正是由于缺少状态使得 HTTP 累赘少,运行速度高,服务器应答快。
4 )内容协商
当服务器能够对客户的请求提供多种表示形式应答时,需要使用内容协商机制,使 Web 服务器可以从中挑选出能满足用户要求的具有最适合表达形式的资源实体。因为很多时候源服务器或提供缓存的中间服务器并不会有一个统一的最佳资源形式标准,而用户端浏览器也不一定有能力处理所有的实体类型。
5 )易于扩充
作为一个公开发布使用协议, HTTP 具有良好的可扩充性,它传输的已不仅仅是超文本数据。在此基础上针对应用开发者的研究、开发要求,可以很容易地增加请求方法和响应状态,运行于用户定制的系统之中。经过扩充的服务器,能够响应原有标准的浏览器,也能够区别出用户自己开发的专用客户程序,做出相应的响应处理。
• HTTP 协议发展
WWW 联盟成立后,组织了 IETE ( Internet Engineering Task Force) 小组进一步完善和发布 HTTP 协议。至今, HTTP 协议经历了 0.9 、 1.0 、 1.1 三个阶段。
1 ) HTTP/0.9 特征:①适用于各种数据信息的简洁快速协议;②具有典型的无状态性;③无连接性;④无法使用内容协商;⑤无法显示和处理图片。
2 ) HTTP/1.0 特征:①简单快速;②无状态性;③无连接性;④无法使用内容协商;⑤增加了元信息:在主要数据前加上一块信息,即信息的信息。它使服务器能够提供传送数据的有关信息。例如, 传送对象是哪种类型, 是用哪种语言书写的等等;⑥支持多种内容的形式,如图片、音频等。
3)HTTP /1.1 特征:①持续性连接:允许请求一个 web 页面的浏览器发起一次连接就可从服务器上下载多个文件;②仍无状态性,但可提供状态控制;③新增加了资源请求:在原有 GET 、 HEAD 、 POST 几种方法的基础上增加了 OPTIONS 、 PUT 、 DELETE 和 TRACE ;④身份认证:一种简单的“提问 - 回答”式的基本访问授权方法。过程是先由服务器向客户发出身份鉴别请求,再由客户发出确认信息;⑤使用内容协商机制;⑥缓存 (Cache) 机制:将先前的客户请求以及请求所对应的 Web 服务器响应的内容暂时保存在机器的内存或物理存储器中,使得在处理新的客户请求时可以利用。
• 下一代 HTTP 协议
随着 HTTP 的发展, 人们不断要求对其功能进行扩展和使之具有新的特色, 结果使得 HTTP/1.x 成为一种相当复杂和庞大的协议。 HTTP/1.x 中的弱的模块化方法和较差的性能状态越来越不适应需要。它层次不清,也就难于适应 Web 发展的需求。现在正在研究的下一代超媒体文件传输协议 HTTP-NG(HTTP-Next Generation) 很可能会取代现有的 HTTP 。 HTTP-NG 的最大变化是客户机可以一次连续发送多个请求,服务器依次响应每个请求。方法可进一步缩短服务器的响应时间,提供更加高效优质的服务。
分享到:
相关推荐
HTTP协议的详解电子书通常会深入探讨这些概念,包括HTTP版本的发展、请求和响应的细节、首部字段的作用、缓存机制、Cookie管理、安全问题以及HTTP/2和HTTP/3的改进等。通过学习这些内容,读者能够更全面地理解HTTP...
### SIP协议栈探讨与应用 #### 一、引言 SIP(Session Initiation...通过对SIP协议的功能组件、消息机制以及协议栈实现的深入探讨,我们可以更好地理解和应用这一强大的通信协议,为未来的网络通信技术发展做出贡献。
经过多年的发展和完善,HTTP/1.0的第六版已经广泛应用于现代互联网,而HTTP/1.1的标准化工作也在持续推进,同时,下一代HTTP协议(HTTP-NG)的探讨和建议已提上日程。 HTTP协议的主要特征包括: 1. **支持客户/...
HTTP协议是互联网上应用最广泛的一种网络协议,主要用于web浏览器与服务器之间的数据交换。它是一个无状态、基于请求-响应模型的协议,支持多种方法如GET、POST等来获取资源。在实现HTTP多线程下载时,我们可以将一...
本文将深入探讨HTTP协议的核心概念、工作流程以及实际应用。 一、HTTP协议概述 HTTP协议是一种无状态、基于请求/响应模型的应用层协议。无状态意味着服务器不会记住之前的客户端请求,每次交互都是独立的。请求/...
接下来,我们将深入探讨HTTP协议的主要组成部分和关键概念。 1. **HTTP版本** - HTTP/1.0:最初的版本,主要特点是无连接,每个请求都需要建立新的TCP连接。 - HTTP/1.1:增加了持久连接,允许多个请求复用一个...
HTTP(Hypertext Transfer Protocol)超文本传输协议是互联网上应用最为广泛的一种网络协议,...然而,HTTP协议的细节远不止于此,还包括缓存机制、认证、安全特性等,这些都是深入学习HTTP协议时需要探讨的重要方面。
在我们的主题“http.rar_HTTP ppt_HTTP协议_http://brow”中,我们可以深入探讨HTTP协议的特点及其在网页浏览中的作用。 1. 浏览器/服务器模式: HTTP协议采用的是客户端-服务器模型。在这个模型中,客户端(通常...
根据给定的文件信息,我们可以深入探讨HTTP协议的关键知识点,特别是关于HTTP/1.1版本的详细信息。以下是对标题、描述以及部分文档内容的详细分析: ### HTTP协议概述 HTTP(HyperText Transfer Protocol),即超...
二、HTTP协议的细节探讨 1. **请求方法**:HTTP定义了多种请求方法,最常用的有GET、POST、HEAD。GET用于请求获取由URL所标志的信息,POST用于提交数据给服务器,HEAD则类似于GET,但不返回实体内容,仅返回元信息...
《TCP-IP详解卷3:TCP事务协议,HTTP,NNTP和UNIX域协议》是一本深入探讨网络通信协议的专业书籍,旨在帮助读者理解并掌握TCP/IP协议栈中关键的事务处理、超文本传输协议(HTTP)、新闻网络传输协议(NNTP)以及UNIX...
这个“HTTP协议精解.zip”压缩包包含了一份详细的文档“HTTP协议精解.doc”,我们来深入探讨一下HTTP协议的相关知识。 一、HTTP协议基础 HTTP协议基于TCP/IP协议,工作在应用层,主要用于传输Web内容。其基本工作...
③学习HTTP协议的最新发展和未来趋势。 其他说明:文中涉及大量实际案例和图例,有助于读者更好地理解和消化抽象的概念。同时对比了HTTP与HTTPS的不同点,强调了安全性在现代Web应用中的重要性。
张孝祥老师的"HTTP协议详解第二讲"课程,作为JAVA课堂的一部分,深入浅出地探讨了HTTP协议的核心概念和技术细节。 在这一讲中,我们首先会接触到HTTP协议的基础知识,包括它的起源、版本发展,以及它在网络通信中的...