深入分析Java Web技术内幕(1)深入web请求过程
1.Dns 域名解析
互联网都是通过url来发布和请求域名的,url中的域名需要解析成ip地址才能与远程主机建立链接,如何将域名解析成ip地址就是属于dns的工作范畴。
获取方法:
1】浏览器检查缓存中有没有这个域名的解析过的ip地址,Y:结束,N:next
2】去操作系统缓存中检查是否有这个域名对应的解析过的ip地址(在c:\Windows\System32\drivers\etc\hosts)文件中,属性只读(域名劫持就是程序恶意修改了该文件域名对应的ip地址),Y:结束,N:next
3】根据网络配置中的“dns服务器地址(LDNS)”,把域名发送给本地区的域名服务器(一般都是路由器或者其他提供你上网的服务器),在LDNS缓存里面找,80%域名解析已经完成。Y:结束,N:next
执行 config/all
DNS 服务器 . . . . . . . . . . . : 192.168.3.1
4】直接到Room Service域名服务器请求解析 next
5】根域名服务器返回本地域名服务器一个所查询域的主域名服务器(gTLDService)地址,gTLD是国际顶级域名服务器,如.com,.cn,.org。 next
6】本地域名服务器再向上一步返回的gTLD服务器发送请求 next
7】接受请求的gTLD服务器查找并返回此域名对应的NameService(请求域名注册的域名服务器,也就是域名提供商的服务器)域名服务器的地址。next 8】LDNS 向 NameService发起请求,NameService域名服务器会查询存储的域名和ip的映射关系表,在正常情况下都根据域名找到目标ip记录,连同一个ttl值返回给DNS Service域名服务器 next
9】返回该域名对应的ip和ttl值,Local Dns Service 会缓存这个域名和ip的对应关系,缓存时间由ttl控制 next
10】把解析的结果返回给用户,用户根据TTL 缓存在本地系统化中,域名解析过程结束
2.CDN工作机制
1.CDN是什么?
1】内容分布网络,构筑在现有internet上的一种先进的流量分配网络
2】目的:通过在现有的internet中增加一层新的网络架构,将网站的内容发布到最接近用户网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的速度。
3】CDN=镜像(Mirror)+缓存(Cache)+整体负载均衡(GSLB)
2.CDN特点
1】可拓展。性能可拓展性:应对新增的大量数据、用户和事务的