简述从浏览器发出请求到数据返回的全过程

下面是我结合经验概述的从浏览器发出请求到数据返回的全过程。

一、用户请求

1、用户在浏览器输入URL,或通过功能发起请求;

2、解析URL,提取协议(http,https等),IP,端口,域名,路径等信息;

3、如果该URL含域名,将请求DNS服务器进行域名解析,得到服务器IP地址或cdn节点地址。可能涉及DNS轮询,或智能DNS解析策略,将请求转发到位置最佳的服务器地址,比如异地多活多机房部署的情况。

DNS域名解析,会先请求本地DNS服务器缓存,如果未找到,逐级向上查找到根域名服务器,最后得到IP地址。

二、负载均衡

1、DNS可起到负载均衡的作用。或者将域名配置的IP地址设置为负载均衡服务器地址,DNS域名解析后,将请求发送到负载均衡服务器;

负载均衡服务器,可对服务器做健康检查,配置负载均衡策略,如平均分配、权重分配(性能相对弱的服务器配置低权重)、按地域分配、或根据具体业务信息如用户ID分配,选择合适的后端服务器集群发送请求;

2、如果是http(https)请求,会在负载均衡服务器和选定的后端服务器之间建立tcp连接,并进行SSL/TLS握手;

三、静态资源解析与缓存

1、对于静态资源,服务器会根据配置解析请求并定位到对应的文件路径;

2、服务器会先看从缓存中能否获取(内存缓存、浏览器缓存,cdn缓存),从缓存中获取到,将直接返回,否则从服务器获取;比如我们请求的百度一下,你就知道,此页面信息可能已经缓存在了我们浏览中。配置合理的过期时间,可减少网络请求和对后端的压力;

四、异地多活

为了保证服务高可用,在机房部署时可能采用异地多活、多机房部署。每个数据中心都具备完全的数据处理能力,且通过多主复制、消息队列等方式保证数据的最终一致性。

异地多活的场景下,负载均衡器根据特定策略将流量分发到不同城市的机房,确保服务高可用性和容灾能力。若静态资源分散在多个数据中心,可以通过统一的资源管理系统保证各数据中心资源版本的一致性。

五、数据返回和页面渲染

无论数据从缓存或是服务器获取,最终都会通过http请求发回客户端。

客户端对返回数据解析并渲染页面或处理相应的业务逻辑。

总结

以上就是浏览器发出请求到接受到数据返回过程的简述,整体上分为用户请求、负载均衡、异地多活、数据返回5部分。不同的业务场景或不同规模在流程上可能有删减,视情况而定。

本文着重介绍全流程,涉及到网络连接,发送http请求等未详细介绍,但这也是很重要的部分。


关于网络攻击的拦截(来自百度):

针对网络攻击的地址拦截,通常可以在多个层面进行:

  1. 网络层(防火墙):

在网络边界上部署防火墙,可以基于IP地址、端口号、协议类型等信息设置规则,对恶意流量或来自黑名单IP的请求进行拦截。防火墙可实时监控并阻止不符合安全策略的数据包进出。

  1. 传输层(负载均衡器):

如果使用了负载均衡器,可以在其上配置访问控制列表(ACL),根据源IP地址或其他识别特征阻止恶意请求到达后端服务器。

  1. 应用层(Web服务器/应用程序):

在Web服务器(如Nginx、Apache等)中配置访问控制模块,通过规则来过滤和拒绝特定来源的HTTP请求。

对于API服务,可以在网关层(API Gateway)添加过滤器,检查请求头部中的X-Forwarded-For字段(用于识别客户端真实IP地址,特别是当有代理服务器时),并依据此信息进行拦截。

  1. 操作系统级别:

可以在操作系统内核中设置iptables或者Windows防火墙规则,阻止来自特定IP地址范围的连接。

  1. 云服务提供商的安全功能:

如果您的服务部署在云平台上,比如阿里云,可以利用云服务商提供的DDoS防护、网络安全组等功能,实现针对攻击IP的自动拦截和清洗。

  1. 内容分发网络(CDN)与分布式防御系统:

利用CDN服务的DDoS防护能力,在边缘节点就对异常流量进行识别和拦截。

  1. 安全设备和软件:

使用专门的安全设备或软件,例如入侵检测系统(IDS)、入侵防护系统(IPS)等,它们能够检测到异常行为并采取措施,包括阻断攻击源。

综合以上各种方式,可以根据实际情况和需求选择合适的技术手段,构建多层防御体系,确保网络攻击得到有效的拦截。同时,结合日志分析、态势感知等手段,持续更新和优化安全策略。

相关推荐
START_GAME1 小时前
VSCode远程开发实战:SSH连接服务器详解(附仙宫云平台示例)
服务器·vscode·ssh
我命由我123453 小时前
Excel 表格 - 合并单元格、清除单元格格式
运维·word·powerpoint·excel·工具·表格·软件工具
cxr8289 小时前
自动化知识工作AI代理的工程与产品实现
运维·人工智能·自动化
·云扬·9 小时前
从零开始搭 Linux 环境:VMware 下 CentOS 7 的安装与配置全流程(附图解)
linux·运维·centos
晓梦.11 小时前
IPSec 安全基础
服务器·网络·安全
btyzadt13 小时前
虚拟机蓝屏问题排查与解决
linux·运维·网络
小李独爱秋13 小时前
UNIX发展历史与核心技术解析
服务器·操作系统·unix
佩佩(@ 。 @)13 小时前
网络编程-创建TCP协议服务器
服务器·网络·tcp/ip
蓝黑202014 小时前
阿里云ECS服务器搭建ThinkPHP环境
服务器·阿里云·thinkphp
G_H_S_3_14 小时前
【网络运维】Shell 脚本编程:while 循环与 until 循环
linux·运维·网络·shell