Http服务器请求响应解析,HTTP的请求响应的执行过程

本文详细阐述了HTTP请求从用户在浏览器中输入网址到服务器返回内容的全过程。首先,通过DNS解析获取IP地址,涉及缓存、Host文件和迭代DNS解析。接着,浏览器与服务器建立TCP连接,完成著名的三次握手。然后,浏览器发送HTTP请求,服务器处理请求并返回响应。最后,浏览器解析和渲染页面。
摘要由CSDN通过智能技术生成

一次面试,竟然提到HTTP的请求过程,从浏览器到服务端,到底是怎么样的一个执行过程,今天在此梳理一下!

HTTP其实就是一个客户端与服务器之间的一种通信协议,http客户端发起请求,就会在服务端创建一个端口,而http服务器就在端口监听客户端的请求,HTTP服务器返回状态和内容。

http整体执行流程如下(以chrome为例):

1 输入网址

2 域名解析

2.2 搜索操作系统自身的DNS缓存(浏览器没有找到缓存或者缓存已经失效,则跳转到第2.3步)

2.3 读取本地的host文件

2.4 浏览器发起一个DNS的系统调用(本地主控DNS服务器:宽带运营商服务器查看本身缓存)

2.5 运营商服务器发起一个迭代DNS解析的请求

运营商服务器得到结果返回给操作系统内核

操作系统内核返回给浏览器并缓存

浏览器最终拿到了域名对应的ip地址

3 浏览器获得域名对应的IP地址后,浏览器与服务器的web程序TCP连接,发起著名的HTTP“三次握手”。下图是TCP连接需要经过的一些过程:

9181c6b1d6dd

TCP连接请求1.png

9181c6b1d6dd

TCP连接请求2.png

9181c6b1d6dd

TCP连接请求3.png

9181c6b1d6dd

TCP/IP协议栈.png

9181c6b1d6dd

防火墙.png

TCP连接请求会经历层层的路由,防火墙,最后到达网卡,然后到达内核的TCP/IP协议栈,还有可能经过防火墙的过滤,最终到达web服务端。接下来就要经历经典的TCP“三次握手”

4 发送http请求

TCP/IP连接建立起来后,浏览器就可以向服务器发送HTTP请求了,比如,使用了HTTP的GET方法请求一个根域名里的一个域名等等。

5 服务器处理请求,并将结果返回给浏览器

6 浏览器根据返回结果进行处理或页面渲染

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>