首页 > Web开发 > 详细

了解web请求过程

时间:2019-12-19 09:40:03      阅读:68      评论:0      收藏:0      [点我收藏+]

1,一次http请求做了什么?

    用户在浏览器输入www.baidu.com这个url时,它会请求DNS把这个域名解析成对应的IP地址,根据IP地址找到对应服务器。服务器可能有多台,需要负载均衡设备来平均用户请求;请求的数据是存储在分布式缓存里还是一个静态文件中,或是在数据库里;当数据返回浏览器,浏览器解析数据发现还有一些静态资源,此时又会发起另外的http请求,请求可能在CDN上,然后CDN服务器处理这个请求,大体上会涉及这些操作。

2,如何发起一个http请求?

    与建立一个socket连接区别不大。通过outputstream.write 写的二进制字节数据格式要符合http。浏览器在建立socket连接之前,根据ip和端口与远程服务器建立远程连接,然后浏览器根据url组装成一个get类型的http请求头,通过outputstream.write 发送到目标服务器,服务器等待inputstream.read 返回数据,然后断开连接。

  此处贴代码。可以用基本的httpClient发起,也有linux中curl命令。

3,了解常见的http请求头、响应头、状态码

    FireFox中的Firebug和HttpFox、Chrome自带的

4,DNS域名解析过程

   (1)输入域名地址,浏览器会先检查缓存中有没有与域名对应的ip地址。有,解析过程就结束。(TTL属性可设置域名被缓存时间)

   (2)查找操作系统中是否有缓存,hosts文件可设置。有,解析过程就结束。

   (3)网络配置中会有DNS服务器地址,操作系统会把域名发送给这里设置的DNS地址,即本地区域名服务器LDNS。(80%的域名解析到此结束。)

          命令:windows 可用 ipconfig  linux 可用 cat 、etc/resolv.conf

   (4)LDNS失败,就会到RootServer域名服务器请求解析。根域名服务器会返回一个主域名服务器地址(gTLD国际顶级域名服务器)

   (5)LDNS再向gTLD服务器发送请求

   (6)gTLD服务器会返回域名对应的NameServer域名服务器(注册的域名服务器即域名提供商)。

   (7)NameServer服务器会返回域名-IP映射关系,连同TTL值返回给LDNS。最后解析结果返回给用户。

         命令:追踪域名解析过程 A、nslookup(windows linux 均可) B、dig www.baidu.com C、可以用 InetAddress类解析域名。

5,CDN工作机制

     (1)概念描述:是一种先进的流量分配网络,通过在现有的internet中增加一层新的网络架构,将内容发布到最接近用户的网络边缘,使用户就近获取信息,提高网站响应速度。比喻:CDN= 镜像+缓存+整体负载均衡,因为可以明显网络中提高信息流动的效率。目前主要是缓存网站中的静态数据。

    (2)场景描述:用户访问某个静态文件通过域名 cdn.image.com, 首先经过LDNS,经过迭代解析,会到域名的注册服务器解析。这时候DNS解析服务器通常会把它重新CNAME到另外一个域名,而这个域名最终会被指向CDN全局中的DNS负载均衡服务器,再由GTM来最终分配访问最快节点,并返回给用户。如果该节点没有对应文件,则需要到源站去找,然后再返回。

6,负载均衡

   通常有3种负载均衡架构:链路负载均衡、集群负载均衡、操作系统负载均衡。

7,CDN动态加速

 

    

  

了解web请求过程

原文:https://www.cnblogs.com/xudan/p/12064741.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!