HTTP协议

HTTP协议

一.HTTP协议简介

超文本传输协议HTTPHyperText Transfer Protocol)互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext,这成为了HTTP超文本传输协议标准架构的发展根基。Ted Nelson组织协调万维网协会和互联网工程工作小组共同合作研究,最终发布了一系列的RFC,其中著名的RFC 2616定义了HTTP 1.1

 

二.HTTP消息

当用户在浏览器中访问某个URL地址,单击网页的某个超链接或者提交网页上的form表单时,浏览器都会向服务器发送请求数据,即HTTP请求消息。服务器接收到请求数据后,会将处理后的数据送回给客户端,即HTTP响应消息。HTTP请求消息和HTTP响应消息统称为HTTP消息。

1.HTTP请求消息

在HTTP中,一个完整的请求消息是由请求行,请求头和实体内容三部分组成的,其中每部分都有各自不同的作用。

1)HTTP请求行:包括三个部分,分别是请求方式,资源路径和所使用的HTTP版本

2)HTTP的八种请求方式:

①GET:请求获取请求行的URI所标识的资源。

②POST:向指定资源提交数据,请求服务器进行处理(如提交表单或者上传文件)。

③HEAD:请求获取由URI所标识的响应消息头。

④PUT:将网页放置到指定的URL位置。

⑤DELETE:请求服务器删除URI所标识的资源。

⑥TRACE:请求服务器回送收到的请求信息,主要用于测试或诊断。

⑦CONNECT:保留到将来使用。

⑧OPTIONS:请求查询服务器的性能,或者查询与资源相关的选项和需求。

3)HTTP请求消息头:在HTTP请求消息中,请求行之后,便是若干请求消息头。请求消息头主要用于向服务器端传递附加信息,例如,客户端可以接收的数据类型,压缩方法,语言以及发送请求的超链接所属的页面URL地址信息等。

 

2.HTTP响应消息

当服务器接收到浏览器的请求之后,会回送响应消息给客户端。一个完整的响应消息主要包括响应状态行,响应消息头和实体内容。

1)HTTP响应状态行:HTTP响应状态行位于响应消息的第一行,它包括三个部分,分别是HTTP版本,一个表示成功或错误的整数代码(状态码)和对状态码进行描述的文本信息。

2)状态码:状态码有三位数字组成,表示请求是否被理解或被满足。HTTP响应状态码的第一个数字定义了响应的类别,后面两位没有具体的分类,第一个数字有物种可能介绍如下:

1xx:表示请求已接受,需要继续处理。

2xx:表示请求已成功被服务器接收,理解并接受。

3xx:为完成请求,客户端需进一步细化请求。

4xx:客户端的请求有错误。

5xx:服务器端出现错误。

3)HTTP响应消息头:在HTTP响应消息中,第一行为响应状态行,紧接着的是若干响应消息头,服务器端通过响应消息头向客户端传递附加信息,包括服务程序名,被请求资源需要的认证方式,客户端请求资源的最后修改时间,重定向地址等信息。

 

3.HTTP其他头字段

1)通用头字段:在HTTP消息中,有些头字段既适用于请求消息,也适用于响应消息,像这样的字段被称为通用头字段。

2)实体头字段:请求消息和响应消息中都可以传递实体信息,实体信息包括实体头字段和实体内容,实体头字段是实体内容的元信息,描述实体内容的属性,例如类型,长度,压缩方法,最后的修改时间,数据的有效期等。

 

三.HTTP协议报文结构

请求报文:

HTTP协议_第1张图片

 

响应报文:

HTTP协议_第2张图片

 

 四.HTTP协议工作原理

 

一次HTTP操作称为一个事务,其工作过程可分为四步:

 

首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作就开始了。

 

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

 

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

 

客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。

 

如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,由显示屏输出。对于用户来说,这些过程是由HTTP自己完成的,用户只要用鼠标点击,等待信息显示就可以了。

HTTP协议_第3张图片

 

你可能感兴趣的:(HTTP协议)