浅谈web请求过程

Posted dYb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈web请求过程相关的知识,希望对你有一定的参考价值。

1,B/S网络架构描述

  B/S网络架构基于统一的应用层协议HTTP来交互数据,HTTP协议采用无状态短链接的通信方式,一次请求完成一次数据交互

采用这种方式可以同时服务更多的用户。

  当用户输入url时,DNS把这个域名解析成对应的ip地址,然后在访问此IP地址对应的服务器,向服务器发送一个get请求,由服务器返回默认的数据资源,数据可以为分布式的,一般静态资源存放在CDN服务器中。

  CDN(content delivery network):它是构筑在现有的internet上的一种先进的流量分配网络,它可以将网站内容发布到最接近用户的网络边缘,使用户就近取得所需内容。CDN=镜像+缓存+整体负载均衡

2,发起请求

  发起一个HTTP请求和建立一个Socket连接区别不大,本质上就是建立Socket连接,java常用的发起Http请求的包:HttpClient

3,HTTP协议解析

  常见请求头,响应头,状态码:

 

 

4,域名解析

  用户发起请求,首先查找系统缓存中是否有DNS解析的结果,windows的缓存文件路径:C:\\Windows\\System32\\drivers\\etc\\hosts,Linux:/etc/named.conf,如果没有再访问Local DNS服务器(DNS服务器由网络提供者提供),如果还是未命中就直接到root Server 域名服务器请求解析,根域名服务器返回给本地域名服务器一个所查询域的主域名服务器(gTLD server)

gTLD是国际顶级域名服务器,gTLD返回一个name server域名服务器,再访问这个服务器获得该域名的ip值和TTL值(域名解析缓存的时间由TTL控制)(name server可能有多级,或者一个GTM来负载均衡控制)

 

  5,CDN架构

  

    公司自己的DNS服务器会把请求重新别名解析到CDN全局中的DNS负载均衡服务器,再由GTM最终分配返回离用户最近的节点。

6,负载均衡

  常见的负载均衡有:链路负载均衡,集群负载均衡,操作系统负载均衡

(ps:内容来自书《深入分析Java web技术内幕》,归纳备忘)

以上是关于浅谈web请求过程的主要内容,如果未能解决你的问题,请参考以下文章

浅谈Web缓存-缓存的实现过程详解

浅谈Web网站架构演变过程

浅谈Web网站架构演变过程

浅谈web网站架构演变过程

浅谈web网站架构演变过程

浅谈web网站架构演变过程