博主信息
Sky
博文
161
粉丝
0
评论
0
访问量
3858
积分:0
P豆:331

浏览器输入域名网址访问后的过程详解

2021年09月21日 14:04:25阅读数:123博客 / Sky

我们从系统网络的角度分析在浏览器输入富贵论坛www.fgba.net访问后的过程:

1、客户端浏览器通过DNS解析到IP,IP地址是202.108.22.5,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到202.108.22.5,然后通过TCP进行封装数据包,输入到网络层。
2、在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端。
3、客户端的网络层不用关心应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,无非就是通过查找路由表决定通过那个路径到达服务器。
4、客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址。

事件顺序:
(1) 浏览器获取输入的域名网址
(2) 浏览器向DNS请求解析IP地址
(3) 域名系统DNS解析出百度服务器的IP地址 (详细介绍DNS)-通过网关出去
(4) 浏览器与该服务器建立TCP连接(默认端口号80)
(5) 浏览器发出HTTP请求,请求百度首页
(6) 服务器通过HTTP响应把首页文件发送给浏览器
(7) TCP连接释放
(8) 浏览器将首页文件进行解析,并将Web页显示给用户。

涉及到的协议:
(1) 应用层:HTTP(WWW访问协议),DNS(域名解析服务)
DNS解析域名为目的IP,通过IP找到服务器路径,客户端向服务器发起HTTP会话,然后通过运输层TCP协议封装数据包,在TCP协议基础上进行传输。
(2) 传输层:TCP(为HTTP提供可靠的数据传输),UDP(DNS使用UDP传输),HTTP会话会被分成报文段,添加源、目的端口;TCP协议进行主要工作。
(3)网络层:IP(IP数据数据包传输和路由选择),ICMP(提供网络传输过程中的差错检测),ARP(将本机的默认网关IP地址映射成物理MAC地址)为数据包选择路由,IP协议进行主要工作,相邻结点的可靠传输,ARP协议将IP地址转成MAC地址。

简单理解: 域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) --> 浏览器对页面进行渲染呈现给用户。


版权申明:本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
  • centos发布静态方法:首先安装“Apache”服务;然测试“Apache”是否安装成功;接着将站代码复制到“/var/www/html/”并修改配置文件;最访即可。
    本地使用phpmyadmin及访方法:首先安装最新版本,并压到htdocs文件夹里;然修改相关代码,并配置【config.default.php】文件;最【localhost/
    用usb连接电脑控制手机方法:首先下载安装“AirDroid”软件;然打开电脑“web.airdroid.com”,访该该;最用手机在AirDroid中使用扫一扫电脑上二维码,进行连接
    HTTP事务:首先、HTTP事务描述得是一次完整从请求到响应:用户发起请求时,首先进行析拿到所对应 IP 地,通 TCP 协议建立与服务端通信连接。
    搭建yii2框架方法:首先下载安装包,并下载框架到本地;然压到站根目录下,并访web目录;接着将本地服务开启,并在yii2文件夹下web目录;最设置【web.php】值保存即可
    PHP下决ajax请求服务响应时间办法:首先在测试,找到Networky以及ajax发送请求;然找到TTFB响应时间对应php文件,并删掉这些代码;最将数据库localhost