我们从系统网络的角度分析在浏览器输入域名网址访问后的过程:

1、以富贵论坛为例,客户端浏览器通过DNS解析到https://www.fgba.net/,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) 浏览器获取输入的www.fgba.net
(2) 浏览器向DNS请求解析www.fgba.net 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、图片等) --> 浏览器对页面进行渲染呈现给用户。

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

  1. 【网络】 输入www.baidu.com后的过程详解

    在普通用户模式下我们输入www.baidu.com时便会出现如下界面: 下面我们从系统网络的角度分析输入www.baidu.com后的过程: 1.客户端浏览器通过DNS解析到www.baidu.com ...

  2. DNS那些事——从浏览器输入域名开始分析DNS解析过程

    我们就从在浏览器输入域名开始分析. 文章目录 1. DNS服务器有哪些? 2. 从浏览器输入https://abc13.ban2.lcy0000.top/,DNS如何解析? 3. hosts文件是什么 ...

  3. 域名(DNS)原理及解析过程详解

    相信大家在平时工作中都离不开DNS解析,DNS解析是互联网访问的第一步,无论是使用笔记本浏览器访问网络还是打开手机APP的时候,访问网络资源的第一步必然要经过DNS解析流程.下面我们将详细的给大家讲解 ...

  4. 关于浏览器输入一个网址后页面经历的过程总结

    浏览器进程 浏览器输入一个网址后的主流程 一.用户输入 根据以下规则,把用户输入的内容加上协议,合成为完整的 URL. 判断输入的关键字是搜索内容,还是请求的 URL 如果是搜索内容:使用浏览器默认的 ...

  5. 浏览器输入baidu.com加载的过程是什么,听完我的回答和尚摇了摇头,就这?

    下半年第一天,今天是七一建党节哦 前言 回答这个问题的时候是去年三月份,我入职不到三个月还没转正. ​ 和尚是一个互联网大厂朋友的外号,初中那货剃了光头,后来便有了和尚这个亲切的外号. 去年那时候我两 ...

  6. 输入域名到访问网页的全过程

    输入域名到访问网页的全过程 输入域名敲回车 解析 URL 浏览器封装 HTTP 请求报文 DNS 域名解析获取 IP 地址 dns请求,响应 DNS首先服务器收到客户机请求后,会查询自己的区域文件,若 ...

  7. 怎样找回html里收藏的文件夹,电脑浏览器收藏的网址重装后如何找回

    很多的人都会在浏览器收藏网址,当我们遇到浏览器重装的时候如何找回收藏的网址呢?下面为您精心推荐了电脑浏览器收藏的网址重装后找回方法,希望对您有所帮助. 电脑浏览器收藏的网址重装后找回方法 在重装系统前 ...

  8. HTTP访问一个网站的过程详解

    访问一个网站的过程详解 例如访问:http://www.baidu.com HTTP请求的准备 浏览器会将www.baidu.com这个域名发送给DNS服务器,让它解析成IP地址.由于HTTP是基于T ...

  9. 浏览器实现抓包过程详解

    浏览器实现抓包过程详解 几乎所有浏览器都提供了抓取数据包的功能,因为浏览器为抓包提供了一个专门的操作界面,因此这种抓包方式也被称为"控制台抓包".本节以 Chrome 浏览器为例进 ...

最新文章

  1. 从ReentrantLock的实现看AQS的原理及应用
  2. 左神算法:将单链表的每K个节点之间逆序(Java版)
  3. python从数分到数编(part1)--基础
  4. SVG格式的Icon,用了你就知道有多香
  5. 【转】通过第三方工具体验Microsoft Graph
  6. 糟糕的C语言睡眠排序算法
  7. 示例演示公告通知标题无缝向上滚动,文字段落无缝向上滚动,简单的wangeditor富文本编辑器,简单的音乐播放demo...
  8. 数据治理常见的误区有哪些
  9. 团队博客-第三周:需求改进系统设计(科利尔拉弗队)
  10. SpringCloud 与 SpringBoot 微服务 架构 | 面试题及答案详解
  11. 当游戏遇上电视,智能大屏就能讲出新故事?
  12. 黑鲨会升级鸿蒙吗,黑鲨4首批用户评价已出炉,不吹不黑,优缺点都很明显!...
  13. SIM卡被猫吃了,1860电话录音
  14. 自定义View-仿QQ运动步数进度效果(完整代码)
  15. 个人秋招面经——商汤
  16. html5 自动格式化,VSCode插件JS-CSS-HTML Formatter自动格式化代码
  17. 非常详细的hi3559A概念版用户手册
  18. python中shutil是什么意思,很多关于shutil的错误,说文件在Python中时不存在
  19. 项目管理的3个关键动作:启动、推进、复盘
  20. linux中fork函数及子进程父进程执行顺序

热门文章

  1. dg oracle 切换模式_oracle dg切换操作示例
  2. 深度学习总结:continuous actions和asyncronous advanteage actor-critic
  3. [MySQL] 为什么要给表加上主键
  4. 关于Android的HAL的一些理解
  5. spring代码异常捕获到logback logging.config=logback-spring.xml文件中不能输出异常e.printStackTrace...
  6. PureXXX使用手记
  7. 创建自己的Vagrant box
  8. Vmware快速安装linux虚拟机(SUSE)
  9. Java基础知识强化26:Object类之hashCode()方法、getClass()方法
  10. 关于添加图片到svg中,rails下使用js, 用parseFloat来调整force.on时的位置