简介
园子里已经有不少介绍HTTP的的好文章。对HTTP的一些细节介绍的比较好,所以本篇文章不会对HTTP的细节进行深究,而是从够高和更结构化的角度将HTTP协议的元素进行分类讲解。HTTP的定义和历史
在一个网络中。传输数据需要面临三个问题: 1.客户端如何知道所求内容的位置? 2.当客户端知道所求内容的位置后,如何获取所求内容? 3.所求内容以何种形式组织以便被客户端所识别? 对于WEB来说,回答上面三种问题分别采用三种不同的技术,分别为:统一资源定位符(URIs),超文本传输协议(HTTP)和超文本标记语言(HTML)。对于大多数WEB开发人员来说URI和HTML都是非常的熟悉。而HTTP协议在很多WEB技术中都被封装的过多使得HTTP反而最不被熟悉。 HTTP作为一种传输协议,也是像HTML一样随着时间不断演进的,目前流行的HTTP1. 1 是HTTP协议的第三个版本。 HTTP 0. 9 作为HTTP协议的第一个版本。是非常弱的。请求(Request)只有一行,比如:GET www.cnblogs.com 从如此简单的请求体,没有POST方法,没有HTTP 头可以看出,那个时代的HTTP客户端只能接收一种类型:纯文本。并且,如果得不到所求的信息,也没有404500 等错误出现。 虽然HTTP 0. 9 看起来如此弱,但已经能满足那个时代的需求了。 随着 1996 年后,WEB程序的需求,HTTP 0. 9 已经不能满足需求。HTTP1. 0 最大的改变是引入了POST方法,使得客户端通过HTML表单向服务器发送数据成为可能,这也是WEB应用程序的一个基础。另一个巨大的改变是引入了HTTP头,使得HTTP不仅能返回错误代码,并且HTTP协议所传输的内容不仅限于纯文本,还可以是图片,动画等一系列格式。 除此之外,还允许保持连接,既一次TCP连接后,可以多次通信,虽然HTTP1.0 默认是传输一次数据后就关闭。 2000 年 5 月,HTTP1. 1 确立。HTTP1. 1 并不像HTTP1. 0 对于HTTP0. 9 那样的革命性。但是也有很多增强。 首先,增加了Host头,比如访问我的博客: GET /Careyson HTTP/1.1 Host: www.cnblogs.com更多相关内容:
-
无相关信息