`
maosheng
  • 浏览: 552603 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java Web技术概览

    博客分类:
  • Web
web 
阅读更多
B/S网络架构概述:

B/S网络架构从前端到后端都得到了简化,都基于统一的应用层协议HTTP来交互数据,与大多数传统的C/S互联网应用程序采用的长连接的交互模式不同,HTTP采用无状态的短连接的通信方式,通常情况下,一次请求就完成了一次数据交互,通常也对应一个业务逻辑,然后这次通信连接就断开了。采用这种方式是为了能够同时服务更多的用户,因为当前互联网应用每天都会处理上亿的用户请求,不可能每个用户访问一次后就一直保持这个连接。

当一个用户在浏览器里输入www.taobao.com这个URL时,将会发生很多操作。首先它会请求DNS把这个域名解析成对应的IP地址,然后根据这个IP地址在互联网上找到对应的服务器,向这个服务器发起一个get请求,由这个服务器决定返回默认的数据资源给访问的用户。

在服务器端实际上还有很复杂的业务逻辑:服务器可能有很多台,到底指定哪台服务器来处理请求,这需要一个负载均衡设备来平均分配所有用户的请求;还有请求的数据是存储在分布式缓存里还是一个静态文件中,或是在数据库里。

当数据返回浏览器时,浏览器解析数据发现还有一些静态资源(如CSS,JS或者图片)时又会发起另外的HTTP请求,而这些请求很可能会在CDN上,那么CDN服务器又会处理这个用户的请求,大体上一个用户请求会涉及这么多的操作。

DNS域名解析过程:

第一步,浏览器会检查缓存中有没有这个域名对应的解析过得IP地址,如果缓存中有,这个解析过程就将结束。
第二步,如果用户的浏览器缓存中没有,浏览器会查找操作系统缓存中是否有这个域名对应的DNS解析结果。【在Windows中可以通过C:\Windows\System32\drivers\etc\hosts文件来配置,在Linux中这个配置文件是/etc/hosts文件来配置】
第三步,如果前两步不成,通过LDNS,也就是本地区的域名服务器,把域名解析成对应的IP地址,然后根据这个IP地址在互联网上找对应的服务器
第四步,如果LDNS仍然没有命中,就直接到Root Server域名服务器请求解析
第五步,根域名服务器返回给本地域名服务器一个所查询域的主域名服务器(gTLD Server)地址。gTLD是国际顶级域名服务器,如.com、.cn、.org等,全球只有13台左右
第六步,本地域名服务器(Local DNS Server)再向上一步返回的gTLD服务器发送请求
第七步,接受请求的gTLD服务器查找并返回此域名对应的Name Server域名服务器的地址,这个Name Server通常就是你注册的域名服务器
第八步,Name Server 域名服务器会查询存储的域名和IP的映射关系表,在正常情况下都根据域名得到目标IP记录,连同一个TTL值返回给DNS Server域名服务器
第九步,返回该域名对应的IP和TTL值,Local DNS Server会缓存这个域名和IP的对应关系,缓存的时间由TTL值控制
第十步,把解析的结果返回给用户,用户根据TTL值缓存再本地系统缓存中,域名解析过程结束


CDN工作机制:

CDN也就是内容分布网络(Content Delivery Network),它是构筑在现有Internet上的一种先进的流量分配网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。

目前CDN都以缓存网站中的静态数据为主,如CSS,JS,图片和静态页面等数据。用户在从主站服务器请求到动态内容后,再从CDN上下载这些静态数据,从而加速网页数据内容的现在速度。









分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics