HTTP协议概述
- 我们在游览器上输入一串网页地址,游览器通过DNS服务器查询IP地址,然后用IP地址访问WEB服务器,其中用的就是HTTP协议,发送请求回传页面内容是一些报文,但是不同人看不懂,就需要游览器进行渲染,最终形成我们看到的页面。
HTTP
- HTTP:超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从WEB服务器传送到客户端的游览器;
- HTTP是一个属于应用层的面向对象的协议,由于其简捷快速的方式,适用于分布式超媒体信息系统;
- HTTP协议是构建在TCP/IP协议之上的,是TCP/IP协议的一个子集;
HTTP数据传输过程
- 发送端发送数据时,数据会从上层传输到下层,且每经过一层都会被打上该层的头部信息。而接收端接收数据时,数据会从下层传输到上层,传输前会把下层的头部信息删除。
DNS域名解析
- 先访问本机的hosts文件查看,如果没有,就查本地的DNS服务器,还没有就插上一层DNS服务器,一层一层向上查询,直到根服务器。
HTTP事务处理过程
HTTP协议特点
- 客户/服务器模式 工作的方式是由客户端向服务器发出请求,服务端相应请求,并进行相应服务;
- 简单快速:客户向服务器请求服务时,只需传送请求方法和路径;请求方法常用的有GET,HEAD,POST。每种方法规定了客户与服务器联系的类型不同;由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通讯速度很快;
- 灵活:HTTP允许传输任意类型的数据对象;正在传输的类型由Content-Type(Content-Type是HTTP包中用来表示内容类型的标识)加以标记;
- 无连接:无连接的含义是限制每次连接只处理一个请求;服务器处理完客户的请求,并受到客户的应答后,即断开连接;采用这种方式可以节省传输时间;
- 无状态:HTTP协议是无状态协议;无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大;
URI和URL
- URI:一个紧凑的字符串用来表示抽象或物理资源;
- 一个URI可以进一步被分为定位符,名字或两者都是;
- 术语”Uniform Resource Locator“(URL)是URI的子集,除了确定一个资源,还提供一种定位该资源的主要访问机制(如其网络”位置“);
- URI可以分为URL,URN或同时具备locators和names特性的一个东西;
- URN作用就好像一个人的名字,URL就像一个人的地址;
- 换句话说:URN确定了东西的身份,URL提供了找到它的方式;
- URL是URI的一种,但不是所有URI都是URL;
- URI和URL最大的差别就是访问机制;
- URN是唯一标识的一部分,是身份信息;