首先HTTP是什么,英文是HyperText Transfer Protocol。中文是超文本传输协议。
何为应用层呢,此处为TCP/IP模型的最上层,做web应用的层级。里面包含的应用很多,比如文件传输(FTP),邮件发送(SMTP)等等。HTTP及其Web应用是应用层的一个子集,也是因为分层,所以我们的应用层及其很多应用,不用去关心下层的分组交换传输和数据的可靠性上。
在20世纪90年代初期,万维网(World Wide Web)走上了历史的舞台,不同于广播和电视,Web可以做到按需操作。可以根据超链接,搜索引擎找到我们所需的东西。可以提供图形化,可以用表单,程序做交互。
那HTTP和我们现在经常使用的Web是什么样的关系呢,HTTP就是Web的核心,给与此类应用一个规范和说明。
当前市面上应用比较多的HTTP的协议版本为,HTTP1.0(RFC1945)、HTTP1.1(RFC2616)。在RFC文档中HTTP的定义为:一个客户端程序和一个服务端程序。客户程序和服务器程序运行在不同的端系统中,通过交换HTTP报文进行会话。HTTP对报文的结构以及客户和服务器进行报文交换的方式进行了定义
![](https://img.haomeiwen.com/i1993766/50b9e13436d10c7d.png)
上图就是为典型的客户端服务端模型图,不同的操作系统,不同的浏览器(user agent),访问外部的web服务。这也就位典型的请求相应报文模式。
最后还有一些更具体的概念,让我们可以更好更透彻的了解HTTP,首先为Web页面(Web page)(文档),是由对象组成的。一个对象(object)只是一个文件,诸如一个HTML文件,一个png的图片,或是一段php的代码。可以经过URL地址进行寻址。如果一个我们访问的test.html基本文件,还包含6张图片,则有7个对象,浏览器会在获得HTML基本文件后,找到其中的图片引用,从而以此获得其中的数据。当然现代的浏览器可以支持5个并发的这样的并发请求,也可以设置为串性请求。
后续我们会陆续说明HTTP的详细的格式,以及无状态性,不同协议版本的区别,以及一些实际的例子说明。
网友评论