zoukankan      html  css  js  c++  java
  • 游览器访问一个网址的全过程

    在介绍游览器访问一个网址的全过程之前,先来介绍一下网络连接的一些常识,方便大家阅读.

    • MAC地址:在设备与设备之间数据通信时用来标记收发双方(网卡的序列号)
    • IP地址:在逻辑上标记一台电脑,用来指引数据包的收发方向(相当于电脑的序列号)
    • 网络掩码:用来区分ip地址的网络号和主机号
    • 默认网关:当需要发送的数据包的目的ip不在本网段内时,就会发送给默认的一台电脑,成为网关
    • 集线器:已过时,用来连接多态电脑,缺点:每次收发数据都进行广播,网络会变的拥堵
    • 交换机:集线器的升级版,有学习功能知道需要发送给哪台设备,根据需要进行单播、广播
    • 路由器:连接多个不同的网段,让他们之间可以进行收发数据,每次收到数据后,ip不变,但是MAC地址会变化
    • DNS:用来解析出IP(类似电话簿)
    • http服务器:提供浏览器能够访问到的数据

    下面以浏览器访问www.Baidu.com为例进行说明.

    1. 先要通过dns服务器解析出www.Baidu.com对应的ip地址    
    1) 使用arp获取默认网关的mac地址  
    2) 组织数据发送给默认网关
    3) 默认网关把数据转发给在同一网段的路由器
    4) 路由器根据自己的路由协议,选择一个合适的较快的路径转发数据给目的网关
    5) 目的网关(dns服务器所在的网关)把数据转发给dns服务器
    6) dns服务器根据游览器的请求解析出www.Baidu.com对应的ip,并将ip原路返回给客户端
    2. 游览器和得到的ip地址所在的服务器进行tcp的三次握手
    3. 3次握手成功后,使用http协议发送请求数据给web服务器(即百度所对应的服务器)
    4. web服务器收到请求之后,通过查询自己的服务器得到相应的数据,然后原路返回给游览器
    5. 游览器接收到数据之后,通过游览器自己的渲染功能来显示这个网页

    6. 游览器关闭tcp连接,即4次挥手

    关于tcp三次握手和四次挥手有兴趣的朋友可以去看看

  • 相关阅读:
    Vue|提示信息统一处理
    SpringBoot|封装接口实现自动创建job并且自动构建功能
    SpringBoot|自动创建job并且参数化构建
    SpringBoot|持久化常用注解
    SpringBoot|使用mybatis-generator-maven-plugin自动生成代码
    SpringBoot|config.properties通用Mapper配置
    SpringBoot|config.properties通用数据库连接配置
    SpringBoot|数据持久化技术现状
    Debian安装完成后没有无线网络的解决方法
    Debian系统设置terminal快捷键
  • 原文地址:https://www.cnblogs.com/fanlei5458/p/9235484.html
Copyright © 2011-2022 走看看