一.概述
HTTP协议规定了浏览器如何与万维网服务器进行通信,比如申请文档的格式,提交数据的格式等。而我们所说的HTML(超文本标记语言)是描述如何解释万维网上的页面文档的。HTTP协议中,由客户建立起一条同服务器进程的TCP链接,之后发出请求并读取服务器进程的响应。当服务器将客户请求的资源发回后,便会关闭连接以结束本次响应。上述过程也可以称为短连接。这个过程再HTTP1.1中进行了改进,采用了持续连接,即万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户(浏览器,也可以是服务器向别的服务器申请)和该服务器可以在该条连接上继续进行HTTP请求和响应。
二.URL统一资源定位符
统一资源定位符URL时用于表示因特网上的资源未知及如何获取。我们看一下URL的构成便可以知道为什么说它有这两方面的功能了。URL的组成:协议://主机:端口/路径/参数信息,协议部分便是说明了如何获取,即使用什么协议来获取万维网资源,之后的主机:端口定位到了万维网上的一个具体点,在根据后面的路径取得相应资源。至于参数部分是给程序使用的(比如查询条件之类的)。而对于HTTP协议而言端口号默认为80,因此一般可省略,主机一般为一个域名。
三.点击链接时的处理过程
1)浏览器分析连接指向页面的URL;2)浏览器向DNS系统请求解析URL中域名的IP地址;3)DNS将域名对应的IP地址发送返回;4)浏览器向服务器发送SYN,建立TCP连接;5)浏览器发出取文件命令GET /资源名/;6)服务器将文件返回;7)由服务器释放TCP连接。
四.HTTP的三种请求类型
1.GET请求
请求获取URI(同一资源标识符)所指出的消息,即申请的万维网文档资源
2.HEAD请求
与GET类似,但服务器只返回指定文档的首部信息,而不包含实际的文档内容,即只返回<HEAD>。一般用于测试超文本链接的准确性,可访问性和最近的修改
3.POST请求
用于发送电子邮件,新闻或发送能由用户填写的表格。这是唯一要求在请求中发送body的请求。