网络基础 - 用户访问一个网站的过程的描述

1.当我们打开浏览器输入网址回车,到看到网页页面.  是一个非常复杂的过程,听我细细道来:

DNS解析

大家都知道,计算机之间只能通过ip相互通信,因为ip不好记,于是才使用dns服务器把域名解析为相应的额ip,这里以

解析www.baidu.com为例,当我们输入回车之后,浏览器会首先查询浏览器的缓存,这个缓存存活的时间只有一分钟,

如果没有找到,则去查询本地DNS缓存和hosts文件,如果有www.baidu.com对应的Ip,那么直接使用这个ip访问服务器.

else 这时会把请求发送给网卡配置信息里面的DNS服务器,默认有两个.  我们也称网卡配置信息里面的DNS为local DNS

, 这时候local DNS会查看自己的缓存,如果有则返回给用户,else 就会访问根域名服务器,根域名服务器一看是访问

.com的,然后告诉local DNS服务器 .com的顶级域名服务器,然后local DNS去访问.com的顶级域名服务器,.com服务

器一看是寻找 一级域名 baidu.com于是将baidu.com的ip发给local DNS服务器,然后继续往下找,直到找到

www.baidu.com的权威DNS的Address记录或者Cname,这时候local DNS服务器会把目标ip发送给客户端,并记录在缓

存当中,这样的话下次有其他用户访问www.baidu.com这个域名,loacl DNS的缓存就有记录了,客户端收到ip去访问服

务器,并且本地浏览器也会增加缓存.

理解起来就是 浏览器 -> 局部DNS服务器(DNS代理解析服务器)  -> 根域名服务器 -> .xxx的顶级域名服务器 -> 一级域名

的顶级域名服务器  ->  找到域名的权威DNS的Address记录或者Cname.

HTTP交互过程

目前我们已经获取到IP了,现在封装HTTP协议报头,HTTP主要包括请求行,请求头部,空行,请求主题.

请求行包括为请求方法 资源路径(url) 协议版本,请求方法主要有POST GET HEAD PUT DELETE  MOVE

具体HTTP协议的细节详情在这里:

HTTP协议:https://blog.csdn.net/Dawn_sf/article/details/79364761

HTTP HTTPS:https://blog.csdn.net/Dawn_sf/article/details/79452242

TCP交互过程

接下来,我们封装TCP报头,根据TCP报头的信息进行填充,这里TCP有很多功能,可以把协议的各个字段讲清楚:

详情请见:

TCP/IP报头:https://blog.csdn.net/Dawn_sf/article/details/74858207

TCP四大定时器:https://blog.csdn.net/Dawn_sf/article/details/75570670

TCP分片:https://blog.csdn.net/Dawn_sf/article/details/79217998

TCP粘包:https://blog.csdn.net/Dawn_sf/article/details/79231085

TCP的流量控制和拥塞控制:https://blog.csdn.net/Dawn_sf/article/details/79528731

TCP滑动窗口:https://www.cnblogs.com/luoquan/p/4886345.html

IP交互过程

接下来,我们封装IP报头,根据IP报头的信息进行填充,这里IP也有很多功能和特性,可以把协议的各个字段了解清楚:

详情请见:

TCP/IP报头:https://blog.csdn.net/Dawn_sf/article/details/74858207

子网掩码:https://blog.csdn.net/Dawn_sf/article/details/75646414

路由器的原理和作用:https://blog.csdn.net/Dawn_sf/article/details/75670149

ARP交互过程

接下来,最后一项就是把ip地址转换成一个唯一的MAC的地址,这里有一个ARP协议寻址过程,具体的细节机制:

详情请见:

ARP交互过程:https://blog.csdn.net/dream_1996/article/details/78926710

CRC校验:https://blog.csdn.net/Dawn_sf/article/details/74857406

QPS吞吐量:https://blog.csdn.net/Dawn_sf/article/details/80725020

首先发出去的数据包是三次握手的包,三次握手建立成功之后,才会进行常见的数据交互.

接下来一个HTTP请求包就这样发送给你的目标服务器了,服务器接下来会将你的数据包,按照从低至上,从

数据链路层->网络层->运输层->应用层解有效载荷,然后对数据进行处理. 这里把每一层讲清楚,面试官直接就不会

再问你网络了. 最后给完数据就四次挥手.

每一层处理数据时候,都认为自己跟对面直接通信,但是他们太嫩了,维护他们是一个非常高效 复杂的机制!!!!

网络基础 - 用户访问一个网站的过程的描述相关推荐

  1. 用户访问一个网站的过程描述

    描述从浏览器打开 http://www.baidu.com地址回车发送请求到看到页面的过程? 打开浏览器输入网址回车,到看到页面的过程 大纲: 1.用户访问网站流程框架 2.DNS解析原理 ***** ...

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

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

  3. 用户访问一个网站的全部过程

    访问一个网站,所发生的事情 起始页 http://127.0.0.1:8000/students/ 点击 会跳转到另一个页面 通过超链接发起的一个跳转 属于get请求 服务端 路由对应 感知用户在访问 ...

  4. 百度上传网站服务器地址,用浏览器访问 一个网站(www.baidu.com) 的过程

    用浏览器访问 一个网站(www.baidu.com) 的过程 1.先要解析出 baidu.com 对应的 ip 地址 要先使用 arp 获取默认网关的 mac 地址 组织数据发送给默认网关(ip 还是 ...

  5. 如果用户访问一个不存在的地址呢?

    如果用户访问的地址没问题,或者服务器也能正常解析及处理当前用户的请求,那就能够返回正确的信息给到客户端.但是如果用户访问的地址有问题,或者服务端在解析用户请求以及处理请求逻辑时出现问题,怎么办呢?浏览 ...

  6. 访问一个网站都经过哪些步骤_轻松访问电子商务网站的10个简单步骤

    访问一个网站都经过哪些步骤 As a frequent visitor to forums in which people ask for critiques of their new ecommer ...

  7. 如何禁止访问一个网站??

    让电脑禁止访问某一网站 因为win10与XP系统都是一样的地方修改,但win10更麻烦,所以这里以win10系统为例.在C:\Windows\System32\drivers\etc目录下,有一个名字 ...

  8. python免费网络采集_python网络数据采集7 采集一个网站所有的外链

    [python]代码库from urllib.request import urlopen from bs4 import BeautifulSoup from urllib.parse import ...

  9. 细说:用户访问网站流程

    用户访问网站的基本流程 一次访问浏览网页的完整过程 第一步:客户端用户从浏览器输入www.baidu.com网站网址后回车,系统会查询本地hosts文件及DNS缓存信息,查找是否存在网址对应的IP解析 ...

最新文章

  1. python零基础怎么学-零基础的小白怎么学python?
  2. MySQL基本操作及乱码问题的解决方法
  3. 前端js自动填写 点击_爬虫自动填写学生健康打卡表
  4. H264和AAC合成FLV案例
  5. css sprite原理优缺点及使用
  6. 大话数据结构 -07-1 图的定义、抽象数据类型与存储结构
  7. 我如何开始学习Web开发
  8. python第一个程序--hello world
  9. 4.比赛F - Problem_F
  10. java多肽跟重载_Java多态vs重写vs重载
  11. 怎么在Linux中telnet服务器,Linux系统下Telnet服务器配置
  12. lwj_C#_作业 ListT应用
  13. html给图片添加边框
  14. AI挖掘优质淘宝买家秀 再也不用担心辣眼睛了
  15. 中国手机充电器行业市场供需与战略研究报告
  16. 华为人力资源管理经典大全
  17. 6、尺寸和定位的相关属性
  18. 小米的网络位置服务器,家庭网络小米 Mesh 组网指南|ShellClash 抛弃软路由全家开心 Netflix...
  19. 如何在网上获取视频地址(.mp4)
  20. GEE引擎设置装备物品绑定的方法

热门文章

  1. pikachuxss之herf、js输出
  2. ViSP学习:一、ViSP的快速安装。
  3. 《惢客创业日记》2019.09.06(周五) 产品经理该不该反人性?
  4. 论文解读:ICCV2019 Best paper SinGAN
  5. YOLOv5训练-wandb
  6. Mat与QImage互相转换
  7. 询盘还盘等国际贸易(转)
  8. SQL批量删除与批量插入
  9. LayaAir已支持vivo小游戏适配与IDE内一键发布!
  10. 贪心算法:小船过河问题