原创 一起学习HTTP协议

2014-12-22 17:02 1204 29 29 分类: 消费电子

网络出现后,带给人们生活上的改变是,我们可以随时随地在www网络浏览器网页上获取想要的信息。由于www内容丰富,浏览方便,也已经成为互联网重要要的服务。

那么超文本传输协议HTTP(Hypertext transfer protocol),是一种从www服务器传输超文本到本地浏览器的传送协议。简单地说,HTTP协议就是用户通过浏览器访问Web服务器的方式,并具备B/S(Browser/Server )结构。

今天就来与大家分享一下HTTP协议的学习。

  • 在TCP/IP协议栈中的位置

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

HTTP1

  • HTTP的请求响应模型

HTTP2

HTTP协议永远都是客户端发起请求,服务器回送响应。HTTP协议是一个无状态的协议,不会记得“上一个请求是什么”。

  • 协议流程

HTTP3

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

1)建立连接。只要单击某个超级链接,HTTP的工作开始。

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

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

4)连接断开。当服务器的响应信息显示到客户端的浏览器上,一次HTTP操作结束

那么,先来看一下建立连接的过程:

  • 建立连接

HTTP/1.0 每次请求都需要建立新的TCP连接,连接不能复用。HTTP/1.1 新的请求可以在上次请求建立的TCP连接之上发送,连接可以复用。

请求消息格式

请求消息格式如下所示:

请求行 通用信息头|请求头|实体头 CRLF(回车换行实体内容

其中“请求行”为:请求行 = 方法 [空格] 请求URI [空格] 版本号 [回车换行]

HTTP4

请求方法

HTTP的请求方法常用如下几种:

1、GET:对服务器资源的简单请求,从服务器上获取数据。

2、POST:向服务器传送数据,主要是向服务器提交表单数据,尤其是大批量的数据。

3、HEAD:类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报头。

那么,相对应的响应过程也与连接过程类似:

  • HTTP响应

响应消息格式

HTTP响应消息的格式如下所示:

状态行 通用信息头|响应头|实体头 CRLF 实体内容

其中:状态行 = 版本号 [空格] 状态码 [空格] 原因 [回车换行]

HTTP5

继续阅读:http://www.iwiznet.cn/blog/?p=6692

文章评论0条评论)

登录后参与讨论
我要评论
0
29
关闭 站长推荐上一条 /2 下一条