1、HTTP协议的发展历程超文本传输协议的前身是世外桃源(Xanadu)项目,超文本的概念是泰德˙纳尔森(Ted Nelson)在1960年代提出的。进入哈佛大学后,纳尔森一直致力于超文本协议和该项目的研究,但他从未公开发表过资料。1989年,蒂姆˙伯纳斯˙李(Tim Berners Lee)在CERN(欧洲原子核研究委员会 = European Organization for Nuclear Research)担任软件咨询师的时候,开发了一套程序,奠定了万维网(WWW = World Wide Web)的基础。1990年12月,超文本在CERN首次上线。1991年夏天,继Telnet等协议之后,超文本转移协议成为互联网诸多协议的一分子。
2、web运行原理我们浏览器和服务器要沟通,都是类似发信件的方式。很多的“信件”在网络之间传输。这些信件必须按照一定的格式进行书写,才能被彼此之间识别,客户端服务器本来就是两个不同的东西。这个国家的每个人都应学习编程,因为它教你如何思考。——乔布斯
3、tcp三次握手:为什么要有tcp的三次握手,因为我们浏览器和服务器要通信,必须首先建立连接,在这个连接上进行数据发送工作。所以有三次握手。就像两个陌生人见面要说话。甲:你是那个xxx吗?乙:哦,对,我是。你就是那个xxx吧。甲:恩,是的。(握手,开聊!)
4、请求报文HTTP请求:客户端连上服务器后,向服务器发出获取某个Web资源的消息,称之为客户端向服务器发送了一个HTTP请求。一个完整的HTTP请求包括如下内容:
5、1)请求行 URL地址中如果包含中文,浏览器会自动对中文字符进行编码之后再发送
6、2)若干消息头(请求头)3)实体内容(请求体) 有可能没有
7、1)所谓响应其实就是服务器对请求处理的结果,或者如果浏览器请求的直接就是一个静态资源的话,响应的就是这个资源本身。 HTTP响应的组成(1)响应状态行:包括协议版本、响应状态码、响应状态信息(2)响应消息头:响应头(3)实体内容:响应体
8、2)最常见的响应状态码(1)响应状态码以2开头的通常表示成功。(2)响应状态码以3开头的通常表示转移。(3)响应状态码以4开头的通常表示无法访问,其中包括找不到资源或没有权限等。(4)响应状态码以5开头的通常表示服务器端程序运行出错。
9、3)响应消息头:简称响应头 服务器发送给浏览器的数据,为了告诉浏览器一些情况。(1)响应体:服务器给出的响应结果的主体,通常是用来在页面上显示的。(2)HTTP内容类型:当前响应体的数据类型。 浏览器和服务器之间传输的数据类型并非都是文本类型,还包括图片、视频、音频等多媒体类型。这些多媒体类型是使用MIME类型定义的。MIME的英文全称是"Multipurpose Internet Mail Extensions" 多功能Internet 邮件扩充服务。MIME类型的格式是“大类型/小类型”,并与某一种文件的扩展名相对应。
10、(3)常见的MIME类型