HTTP协议初探之,历史演变和设计思路

  

HTTP协议是互联网的基础协议,也是网页开发的必备知识,最新版HTTP 2更本是让它成为技术热点。

本文介绍HTTP协议的历史演变和设计思路。

HTTP简介

HTTP是基于TCP/IP协议的应用层协议。<强>它不涉及数据包(包)传输,<强>主要规定了客户端和服务器之间的通信格式强,默认使用80端口。

HTTP是超文本传输协议(超文本传输协议)的缩写,超文本传输协议)是<强>用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。

HTTP不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型.北京是一个无状态的协议。

<强>——在TCP/IP协议栈中的位置

HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。如下图所示:

 HTTP协议初探之,历史演变和设计思路

默认HTTP的端口号为80,HTTPS的端口号为443。

<强>——HTTP的请求响应模型

HTTP协议永远都是客户端发起请求,服务器回送响应。见下图:

 HTTP协议初探之,历史演变和设计思路

这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端。HTTP协议是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系。

<强>——工作流程

一次HTTP操作称为一个事务,其工作过程可分为四步:,
1)首先客户机与服务器需要建立连接,只要单击某个超级链接,HTTP的工作开始。

2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL),协议版本号,后边是MIME信息包括请求修饰符,客户机信息和可能的内容。

3)服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号,一个成功或错误的代码,后边是MIME信息包括服务器信息,实体信息和可能的内容。

4)客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,有显示屏输出。对于用户来说,这些过程是由HTTP自己完成的,用户只要用鼠标点击,等待信息显示就可以了。

<强>——HTTP协议的主要特点可概括如下:

1。支持客户/服务器模式。

2。简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有,头,帖子。每种方法规定了客户与服务器联系的类型不同,由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

3。灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由内容类型加以标记。

4。无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

5。无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

<人力资源/>

以下是“HTTP协议的历史演变和设计思路”部分

<人力资源/>

一、HTTP/0.9

最早版本是1991年发布的0.9版,该版本极其简单,只有一个命令。

GET /索引。html11

上面命令表示,TCP连接(连接)建立后,客户端向服务器请求(请求)网页索引。html。

协议规定,服务器只能回应html格式的字符串,不能回应别的格式。

Hello  World11

服务器发送完毕,就关闭TCP连接。

二,HTTP/1.0

2.1简介

1996年5月,HTTP/1.0版本发布,内容大大增加。

首先,任何格式的内容都可以发送。这使得互联网不仅可以传输文字,还能传输图像,视频,二进制文件。这为互联网的大发展奠定了基础。

其次,除了得到命令,还引入了后命令和头部命令,丰富了浏览器与服务器的互动手段。

再次,HTTP请求和回应的格式也变了。除了数据部分,每次通信都必须包括头信息(HTTP头),用来描述一些元数据。

HTTP协议初探之,历史演变和设计思路