文章目录
1.DNS协议
1.1 DNS的基本特征
- 定义:将主机的域名映射成IP地址的过程称为域名解析。
- 域名服务器:域名到 IP 地址的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。
- 域名结构:互联网采用了层次树状结构的命名方法。任何一个连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。域名的结构由标号序列组成,各标号之间用点隔开,
... .三级域名.两级域名.顶级域名
。
1.2 本地域名服务器查询方法
- 递归查询:主机向本地域名服务器的查询一般都是采用递归查询。
- 迭代查询:本地域名服务器向根域名服务器的查询一般为迭代查询。
1.3 DNS的解析过程
- 首先浏览器会检查浏览器缓存中有没有该域名映射的ip地址。如果有解析结束,同时更新域名被缓存的时间。
- 若没命中,浏览器将会检查系统缓存有没有该域名映射的ip地址。如果有解析结束。
- 若没命中,这时会请求本地域名解析器来解析这个域名。如果有解析结束。
- 若没命中,直接跳到根域名解析器请求解析。根域名服务器返回给本地域名服务器的顶级域名解析器地址。
- 此时本地域名服务器跳到上一次返回的域名解析器地址请求解析。顶级域名服务器返回给本地域名服务器的权限域名解析器地址。
- 此时本地域名服务器跳到上一次返回的域名解析器地址请求解析。权限域名服务器返回该域名映射的ip地址。
- 最后,本地域名解析器缓存该域名和对应的IP地址。本地域名服务器将结果返回给浏览器,浏览器更新域名被缓存时间,域名解析过程至此结束。
1.4 DNS为什么适合使用UDP协议而不是TCP协议
- 基于UDP协议的DNS只需要一次请求和一次应答即可完成域名解析的任务,而基于TCP协议的DNS需要进行三次握手和四次挥手,明显浪费资源。
- DNS数据包一般不是那种大的数据包,所以不需要考虑分包。如果收到了数据那就是收到了全部数据,如果丢包就是全部丢包,只需重传即可。
- UDP协议传输内容不能超过512字节。
2.HTTP协议
2.1 HTTP的格式
2.1.1 HTTP请求报文
- http请求报文格式:
- http请求报文方法:
- http请求报文URL:是所请求的资源的URL。
- http请求报文版本:http的版本。
2.1.2 HTTP响应报文
- http响应报文格式:
- http响应报文版本:http的版本。
- http响应报文状态码:
- http响应报文短语:解释状态码的简短语句。
2.2 长连接和HTTP版本
2.2.1 长连接的优点和缺点
- 优点:减少握手的次数;减少慢启动的影响。
- 缺点:可能产生对头阻塞。
2.2.2 HTTP版本
- http1.0:默认使用短连接。也就是说,客户端和服务器每进行一次http操作,就建立一次连接,任务结束就中断连接。
- http1.1:默认使用长连接。所以保持连接特性。
- http2.0:默认使用