浏览一个网站时的整个过程

        当用户在浏览器上输入一个网址并请求访问,内部发生了什么?

        首先,浏览器客户端会根据DNS根域名解析请求的网址,并转换为IP地址,通过解析到的IP地址,浏览器就能与服务器进行TCP连接(三次握手):

客户端向浏览器发送一个同步报文段,控制位:SYN=1,ACK=0;

浏览器接收到客户端的请求,同意连接,控制位:SYN=1,ACK=1;

客户端收到浏览器同意连接的报文段,再向浏览器发送一个报文段,控制位:ACK=1;

        在HTTP/1.0版本,建立短连接,每请求一次就建立一次TCP连接,在HTTP/1.1,更改为建立长连接,即只需要建立一次TCP连接就能进行多次HTTP通信。建立TCP连接后,浏览器会生成一个HTTP报文,并发送给目标服务器,HTTP请求报文第一行包含了请求方式,请求路径URL,HTTP协议版本号,例如:

POST http://www.example.com/ HTTP/1.1

        服务器收到浏览器的报文后,进行处理,解析,执行对应的操作,然后向浏览器发送一个HTTP响应报文,响应报文头第一行包含协议版本,状态码,响应报文体主要是返回给浏览器的页面源代码,例如:

HTTP/1.1 200 OK

        浏览器收到服务器的响应报文后,解析响应报文,并把html源代码渲染呈现到浏览器上,如果要停止访问,那么就在传输层关闭TCP连接(四次挥手):

浏览器向服务器发送关闭连接的请求,控制位:FIN=1,ACK=0;

服务器收到浏览器的请求,此时不关闭连接,继续向浏览器发送还未完成的报文,控制位:FIN=0,ACK=1;

服务器发送完报文后,同意关闭连接,继续向浏览器发送报文,控制位:FIN=1,ACK=1;

浏览器收到服务器同意关闭连接的数据包,向服务器发送确认收到报文,控制位:ACK=1;

这样,一个浏览网站的过程就执行完了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仙草不加料

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值