目录
1.HTTP的基本介绍
- HTTP协议(超文本传输协议),它是一种详细规定了浏览器和万维网(WWW)服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。
- HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议;
- HTTP默认的端口号是80,HTTPS默认的端口号为443
- 浏览网页是HTTP的主要作用,但是这并不代表HTTP就只能应用于网页的浏览。HTTP是一种协议,只要通信的双方都遵循这个协议,HTTP就能有用武之地。比如常用的QQ、迅雷这些软件,都会使用HTTP协议。
2.HTTP的特点
- 简单快速:客户向服务器请求服务时,只需传送请求方法和路劲。请求方法常用的有GRT、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快;
- 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记;
- 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理万客户的请求,并收到客户的应答后,即断开连接,采用这种方式可以节省传输时间;
- 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
- 支持B/S及C/S模式。
3.认识URL
HTTP使用统一资源标识符(URI)来传输数据和建立连接。URL(统一资源定位符)是一种特殊类型的URI,包含了用于查找某个资源的足够的信息,我们通常用的就是URL。
3.1 URL
全称是UniformResourceLocator, 中文叫统一资源定位符,是互联网上用来标识某一处资源的地址。以下面这个URL为例,介绍下普通URL的各部分组成:
http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name
从上面的URL可以看出,一个完整的URL包括以下几部分:
- 协议部分:该URL的协议部分为“http:”,这代表网页使用的是HTTP协议。在Internet中可以使用多种协议,如HTTP,FTP等等本例中使用的是HTTP协议。在"HTTP"后面的“//”为分隔符
- 域名部分:该URL的域名部分为“www.aspxfans.com”。一个URL中,也可以使用IP地址作为域名使用
- 端口部分:跟在域名后面的是端口,域名和端口之间使用“:”作为分隔符。端口不是一个URL必须的部分,如果省略端口部分,将采用默认端口
- 虚拟目录部分:从域名后的第一个“/”开始到最后一个“/”为止,是虚拟目录部分。虚拟目录也不是一个URL必须的部分。本例中的虚拟目录是“/news/”
- 文件名部分:从域名后的最后一个“/”开始到“?”为止,是文件名部分,如果没有“?”,则是从域名后的最后一个“/”开始到“#”为止,是文件部分,如果没有“?”和“#”,那么从域名后的最后一个“/”开始到结束,都是文件名部分。本例中的文件名是“index.asp”。文件名部分也不是一个URL必须的部分,如果省略该部分,则使用默认的文件名
- 锚部分:从“#”开始到最后,都是锚部分。本例中的锚部分是“name”。锚部分也不是一个URL必须的部分
- 参数部分:从“?”开始到“#”为止之间的部分为参数部分,又称搜索部分、查询部分。本例中的参数部分为“boardID=5&ID=24618&page=1”。参数可以允许有多个参数,参数与参数之间用“&”作为分隔符。
(参考文章:https://blog.csdn.net/ergouge/article/details/8185219)
3.2 URI和URL的区别
URI(uniform resource identifier):是统一资源标识符,用来唯一的标识一个资源,web上可用的每种资源如HTML文档、图像、视频片段、程序等都是由一个URI来定位的。
URI有三部分组成:访问资源的命名机制;存放资源的主机名;资源自身的名称,由路径表示,着重强调于资源。
URL(uniform resource locator):是统一资源定位符,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。
URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,特别是著名的Mosaic。
采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。URL一般由三部组成:
①协议(或称为服务方式)
②存有该资源的主机IP地址(有时也包括端口号)
③主机资源的具体地址。如目录和文件名等
4.HTTP协议
作用:HTTP协议和TCP/IP协议族内的其他协议相同,,用于客户端和服务之间的通信。请求访问文本或图像等资源的一段称为客户端,而提供资源响应的一段称为服务端。
4.1 请求消息Request
客户端发送一个HTTP请求到服务器的请求消息包括以下格式:
请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。
HTTP请求消息结果如下:
请求行以一个方法符开头,以空格分开,后面跟着请求的URI和协议的版本
空行将报头和有效载荷分离<