随着Web2.0时代的到来,互联网架构开始从传统的C/S架构向B/S架构转变。要想了解一个Web请求的过程必须先得了解当前B/S网络的架构:

图1    CDN架构图

图1是一个标准、简单的内容分布式网络(Content Delivery NetWork 简称 CDN)

以下将通过这幅图详细介绍www.taobao.com这个请求是如何执行的。

1.当通过浏览器输入www.taobao.com并按下Enter时,首先进行的是域名解析,即将域名解析成具体的IP地址。在通过传统的DNS服务器解析之前,www.taobao.com这个网址将首先在本地完成两次检查。

第一次检查:浏览器检查。浏览器检查缓存中有没有这个域名对应的解析过的IP地址。如果缓存中有,则解析过程结束。没有则进行第二次检查:操作系统缓存检查。浏览器会查找操作系统中是否有这个域名对应的DNS解析结果有的话域名解析过程结束。没有则需要通过请求域名服务器进行解析。

(第一次检查过程中可通过TTL属性设置域名被缓存的时间,第二次检查过程中可通过设置C:\Windows\System32\drivers\etc\hosts文件将任何域名解析到任何可以访问的IP地址)

域名服务器解析流程

其中Local DNS Server 可通过ipconfig -all指令查到

(我这里的DNS被手动调整过)这个DNS服务器与请求发送的城市一般不会太远。简称SPA

这个localDNS性能很好,80%的域名解析都是通过它完成的。

如果Local DNS还是没命中,就转到Root Server域名服务器解析(根域名服务器)

根域名服务器返回本地域名服务器的一个查询域的主域名服务器(gTLD Server)地址

通过gTLD服务器解析返回此域名对应的Name server域名服务器的地址

Name Server域名服务器会查询存储的域名和IP的映射关系表,根据域名得到目标的IP记录,连同TTL值返回给Local DNS Server

Local DNS Server缓存这个域名和IP地址的对应关系

Local DNS Server将IP返回给浏览器,根据TTL值缓存在本地系统缓存中。

至此,域名解析过程结束

(域名解析过程)web请求过程全解析一相关推荐

  1. WEB请求过程(http解析,浏览器缓存机制,域名解析,cdn分发)

    WEB请求过程(http解析,浏览器缓存机制,域名解析,cdn分发) 目录 WEB请求过程(http解析,浏览器缓存机制,域名解析,cdn分发) 概述 HTTP解析 HTTP请求头 HTTP响应头 H ...

  2. 深入理解WEB请求过程

    随着web2.0时代的到来,互联网的网络架构已经从传统的C/S架构转变成更加方便快捷的B/S架构,B/S架构大大简化了用户使用网络应用的难度,带来了以下两方面的好处: 1.客户端使用统一的浏览器.由于 ...

  3. 深入分析Java Web技术内幕读书笔记(一)浅析Web请求过程

    随着Web技术的快速发展,互联网的网络架构已经从传统的C/S架构转变为B/S架构,B/S架构相较于传统的C/S架构,有诸多优点,例如:提供了统一的操作方式,简化了用户的学习成本:便捷的开发方式大大提高 ...

  4. 【图解版】深入web请求过程

    xmind地址下载 从架构到界面渲染分析了web请求的过程(没有积分的加我微信索取或者进群QQ自取) 基础结构图 完全展开图

  5. php web请求 过程,Web QQ 的请求交互过程

    获取安全参数 发送http GET请求: https://ui.ptlogin2.qq.com/cgi-bin/login?daid=164&target=self&style=5&a ...

  6. Day083 web请求生命周期分析

    一.web请求生命周期分析 1.概述 ​ web请求是基于http协议的,而http协议是基于请求/响应的模式,即一个请求对应一个响应,那么一个web请求(或者说http请求)的生命周期就是指从发起一 ...

  7. web应用程序servlet的映射名称的规则及请求过程

    首先用MyEclipse创建一个web Project(工程名起为TestServletProject),新建一个Servlet(这里servlet的名字起TestServlet),将请求的servl ...

  8. 【androidx86 5.1.1】Android HttpClient请求过程解析(上)

    Android HttpClient请求过程解析 前言:很久没有写源码解析相关的文章了,所谓"三天不写,上房揭瓦",这都仨月啦!前段时间忙着发版,经理有别的事情忙,就把管理发版的事 ...

  9. python flask源码解析_浅谈flask源码之请求过程

    Flask Flask是什么? Flask是一个使用 Python 编写的轻量级 Web 应用框架, 让我们可以使用Python语言快速搭建Web服务, Flask也被称为 "microfr ...

最新文章

  1. 儿子和女儿——解释器和编译器的区别与联系
  2. 技术人员,为什么会苦逼
  3. rpc框架都有哪些_这六种微服务RPC框架,你知道几个?
  4. 【笔记】opencv的python使用 腐蚀模糊背景分割等处理图像
  5. 华为上机考试题系列(二):HJ107求解立方根
  6. ASP.NET Core MVC 配置全局路由前缀
  7. 三相逆变器双pi控制器参数如何调节_光伏逆变器短路特性简析
  8. 浅析 Go IO 的知识框架
  9. 一建管道工程122知识点_背诵的知识点是否边缘化?一建市政一本通+学霸笔记,教你只记重点...
  10. 一些用于拥挤场景的异常检测的视频数据集
  11. Remark for Color-Spectrum Rendering
  12. 阿里php开发规范,【PHP开发规范】老生常谈的PSR开发规范你懂多少?
  13. After Effects报警最后日志消息是:<760504><SonyRawDecoder><5>
  14. windows下php mongodb 安装配置使用查询
  15. wsus3.0手工卸载和安装
  16. 企业架构之道(二)企业架构方法论体系
  17. 翻译记忆软件-塔多思TRADO经典教程_5
  18. 项目版本更新,浏览器缓存问题解决方案
  19. iPad中国内地商标权诉讼调查
  20. 计算机应届生面试,计算机应届生面试技巧

热门文章

  1. 《可以量化的管理学》绪论
  2. 计算机工作理想湿度,计算机理想的工作温度七月的盛夏,碧空中没有一丝云彩,只剩下纯(9)...
  3. EL表达式和JSTL标签库学习笔记
  4. 易语言-通过快捷方式.lnk文件获取.exe源文件地址
  5. cisco VoIP软电话配置实验
  6. ISO 8601规则
  7. 二叉树 左视图 /右视图 [Java实现]
  8. anbox 使用情况_如何在Linux PC上启动并运行Anbox?
  9. bigdecimal 平均数_用Java计算平均值
  10. android朋友圈发文字换行,朋友圈发文字怎么才显示全文 多按几次换行(大概10次左右...