HTTP请求过程

1、前言:

当在浏览器中输入http://srv-10.gzproduction.com:13920/kd-auth-server/login时,发生了什么呢?


2、概述

1、浏览器进行DNS域名解析,得到对应的ip地址
2、根据此ip,找到对应服务器建立tcp连接
3、浏览器发起http请求
4、服务器响应http请求,浏览器得到html代码
5、浏览器解析http代码,并请求html代码中的资源
6、浏览器对页面进行渲染呈现给用户
7、服务器关闭http连接

3、过程详解

3.1 DNS解析
①首先搜索浏览器自身的DNS缓存。对于各浏览器,可直接在地址栏输入 浏览器名称:/net-internals/#dns/ 来查看DNS缓存信息,如chrome和edge浏览器查看dns缓存,如下图所示。
Chrome浏览器dns缓存查询示例


edge浏览器dns缓存查询示例
②若未找到浏览器自身的DNS缓存,则搜索系统的DNS缓存。系统DNS缓存查看命令如下。
windows: ipconfig/displaydns
Linux:sudo killall -USR1 systemd-resolved
   sudo journalctl -u systemd-resolved > cache.txt
③若未找到,则从hosts文件中查找。
④若未找到,浏览器发起DNS系统调用,向本地配置的首选DNS服务器发起域名解析请求。该DNS服务器一般由电信运营商提供。
3.2 TCP三次握手
三次握手完成后TCP连接进入Established状态,可以发起http请求。
3.3 发起http请求

3.4 服务器响应http请求
接收到http请求后,服务器端首先进行负载均衡,把短时间较高的访问量分摊到不同的机器上处理。负载均衡方案有软件、硬件两种。软件方案常见的是nginx。nginx的作用主要有两个,第一是处理静态文件请求,第二是转发请求给后端服务器。后端服务器查询数据库返回数据,而后仍然通过http协议传输。

3.5 浏览器解析
浏览器拿到index.html文件后,解析其中的html代码,遇到js、css、image等静态资源时,向服务器请求去下载。

3.6 浏览器进行页面渲染
浏览器利用内部工作机制,将请求的静态资源和html代码进行渲染,渲染之后呈现给用户,浏览器是一个边解析边渲染的过程。

3.7 服务器关闭TCP连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值