深入分析javaWeb技术内幕的读书笔记(一)

写在前面:· 此处的读书笔记的主要用于本人或者是其他读过这本书的朋友用来反查重点。没有完整读过这本书的建议品读原书。1. headers和java的httpclient相同的命令行操作是curl -I 查看请求头信息 -H 添加请求头信息2. DNS2.1 gTLD分布美国10 欧洲2 日本12.2 DNS解析过程1.检查浏览器是否存在域名解析过的ip2.检查计算机是否存在域名解析过的ip 在计算机中的hosts文件进行配置3....
摘要由CSDN通过智能技术生成

目录

深入Web请求过程

1. headers

2. DNS

2.1 gTLD分布

2.2 DNS解析过程

2.3 清除DNS缓存

2.4 DNS和JVM

2.5 几种域名解析方式

2.6 CDN工作机制

2.7 负载均衡

2.8 CDN动态加速


1. headers

和java的httpclient相同的命令行操作是curl   -I 查看请求头信息   -H 添加请求头信息

2. DNS

2.1 gTLD分布

美国10  欧洲2 日本1

2.2 DNS解析过程

 

1.检查浏览器是否存在域名解析过的ip

2.检查计算机是否存在域名解析过的ip   在计算机中的hosts文件进行配置

3.向localDNSServer中的服务请求解析

4.3执行失败 需要向root DNS中请求解析

5.返回gTLD域名解析服务器地址(顶级域名服务器)

6.localDNSServer向5中的服务器地址发送请求

7.gTLD服务器查找并返回对应NameServer

8.NameServer查询对应域名和ip的映射关系,正常情况下根据域名获取目标ip记录,连同TTL值返回给localDNSServer服务器

9.NameServer将域名对应ip和TTL返回给localDNSServer,localDNSServer会把信息进行缓存。

10.把缓存结果返回给用户,用户进行缓存

eg:根域名(.) gTLDServer(.com) NameServer (taobao.com)  实际情况NameServer可能不止一个,localDNSServer也可能存在备份来进行缓存

2.3 清除DNS缓存

windows:ipconfig/flushdns

linux:/etc/init.d/nscd restart

2.4 DNS和JVM

JVM也会缓存DNS的解析结果,缓存在InetAddress类中完成。

缓存的设置在jre/lib/security/java.security文件中进行配置

如图,缓存策略存在两种,正确解析配置诶-1,永远生效,失败解析配置为10s失效时间。


修改缓存时间配置的四种方式:(用于服务器优化)

1.修改文件中的值

2.启动java时配置参数

 在JVM启动的时候增加启动参数来设置。

    A. 正确解析:-Dsun.net.inetaddr.ttl=xx

    B. 错误解析:-Dsun.net.inetaddr.negative.ttl=xx

3.通过system的setProperty方法来修改

    通过java.lang.System类在JVM启动后修改。

        System.setProperty("sun.net.inetaddr.ttl", "-1");
        System.setProperty("sun.net.inetaddr.negative.ttl", "10");

4.通过InetAddress类来实现修改,这里需要强调一下性能问题。

      如果每次都是创建实例,那么每次都是完整的DNS域名解析流程,太消耗时间。所以必须创建DNS的单例。(单例模式的实际使用


2.5 几种域名解析方式

  • A记录:全拼:Address  用途:解析域名对应的ip地址。需要注意的是多个域名可以解析到一个ip,多个ip不能对应一个域名。
  • MX记录:全拼:Mail Exchange 用途:将域名加的邮件服务器解析到自己的Mail Server
  • CNAME记录:全拼:别名解析  用于解析域名的别名 比如taobao.com 解析到yoofale.net
  • NS记录:为域名指定DNS服务器解析
  • TXT记录:为域名或者主机名设置说明

 

2.6 CDN工作机制

CDN是内容分布网络,通过镜像机制提高Internet中的信息流动速率。CDN的实现可以生动地表示为:CDN = 镜像+ 缓存+整体负载均衡。当然CDN主要用于静态数据。

 

 

2.7 负载均衡

负载均衡架构分为三种。

链路负载均衡:访问Global DNS Server,Global DNS Server来决定访问哪个webServer,由于DNS在本地和local DNS Server都又缓存,所以这样如果没及时更新DNS信息,后果就是访问不到指定webServer。

集群负载均衡

①硬件负载均衡  专门的硬件设备来完成转发i那个球,缺点一是比较昂贵,缺点二是在出现访问量陡增无法动态扩容。

②软件负载均衡   优点是廉价,缺点是一次请求多次代理,延时严重。

操作系统负载均衡

通过操作系统级别的软中断或者硬件中断来达到负载均衡的效果

2.8 CDN动态加速

技术原理:在DNS解析中通过动态的链路探测来寻找回源最好的一条路径,然后通过DNS的调度将所有请求调度到选定的这条路径上进行回源,从而加速用户访问的效率。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值