首页 > 其他分享 >浏览器输入一个网址后发生了什么

浏览器输入一个网址后发生了什么

时间:2023-08-04 15:11:18浏览次数:30  
标签:浏览器 网址 域名 服务端 DNS 服务器 解析 输入

浏览器输入一个网址后发生了什么

  1. 域名解析

    网络上的各个计算机之间相互通信通过其ip地址识别的,而我们输入的网址仅仅方便我们记忆而取得名字,计算机不能直接识别,所以就需要将计算机网址转换成IP地址,这个过程叫做域名解析:首先从浏览器缓存中找域名和ip的对照表,如果找不到,再从本机操作系统的缓存里面去找这个对照表,如果仍然没有,就去外部的DNS服务器来解析域名

  2. 建立TCP连接

    域名解析完成后,客户端需要和服务端建立TCP连接实现融信,这个过程需要三次握手

  3. 发出http请求

    TCP连接建立后,客户端向服务端发出http请求,请求获取资源

  4. 响应请求

    服务端收到客户端发出的请求后,响应请求,向客户端发送资源

  5. TCP断开连接

    客户端收到服务端的响应后,客户端与服务端均可主动断开TCP连接,这个过程需要四次挥手

  6. 解析资源

    对于从服务端收到的资源,浏览器解析HTML,生成dom树,解析css生成css树,然后将dom树与css树结合,生成render渲染树

  7. 布局渲染

域名解析

本机电脑检查浏览器缓存中有没有域名对应的IP地址,如果有,解析结束

如果没有,浏览器会查找本地操作系统缓存中是否有这个域名对应的DNS解析结果,文件子啊hosts中

1,2都无法解析时,需要去DNS服务器查找。操作系统会把域名发送给本地DNS服务器,,如果本地DNS服务器仍然没有命中,就直接到根DNS服务器请求解析

根DNS服务器返回给本地DNS域名服务器一个顶级服务器地址,其实国际顶级域名服务器,如com cn org

此时本地DNS服务器再向上一步获得得顶级DNS服务器发送请求

顶级DNS服务器查找并返回此域名对应的name server服务器,这个域名服务器就是要访问的网站域名提供商的服务器,它查询域名和ip的对照表后返回ip等信息给本地DNS服务器

标签:浏览器,网址,域名,服务端,DNS,服务器,解析,输入
From: https://www.cnblogs.com/Zx-3-6-0-/p/17605979.html

相关文章

  • 基于antd-input & tsx封装一个按固定位数、固定符号分隔内容的输入框
    /** *可在每四位字符间插入一个空格的输入框 */import{Input}from'antd';import{useEffect}from'react';constInputGap=(props:any)=>{ const{useGap,value,onChange}=props; //非onChange事件变更value useEffect(()=>{  value......
  • allure open 默认用谷歌浏览器打开
    pythonallure将生成报告和打开报告写到命令文件,并默认使用谷歌打开bat文件内容pytesttest_login.py--alluredir=./allure-results&&alluregenerate./allure-results-o./allure-report--clean&&allureopen pytesttest_login.py--alluredir=./allure-results ......
  • 爷情节!终于可以离线安装浏览器扩展了~
    现在基本只用Chrome浏览器,身边很多同事也一样。上次装了一个视频录制扩展,可能是因为扩展文件太大,同步扩展花了好长时间。有时不想把账号登得导出都是,又想使用扩展。所以能下载到.crx文件就很重要。昨天听说bejson上线了crx下载地址解析功能,于是迫不及待地去体验了一下,一个字“牛鼻......
  • 解决每次git pull、git push都要输入用户名和密码问题
    本人使用ubuntu系统,使用以下命令:gitconfig--globalcredential.helperstore这会生成一个git帐号密码文件,使用以下命令查看:cat~/.git-credentials之后使用gitpull或者gitpush得在输入一次帐号和密码,后面就不用了。......
  • RTSP流媒体服务器LntonNVR(源码版)视频监控平台通过ODM工具手动输入onvif地址添加通道的
    LntonNVR是一种轻量级的视频监控平台,具有强大的拓展性和高兼容度。它可以支持通过RTSP/ONVIF协议接入前端设备,包括摄像头等。在接入前端设备时,LntonNVR提供了自带的ONVIF探测功能,可以方便地将摄像头设备接入平台。一旦接入成功,您就可以通过LntonNVR实现对摄像头的云台控制,包括转动......
  • windows使用bat编写自启动带用户登录数据的浏览器
    windows使用bat编写自启动崭新浏览器本文是为了优化前文selenium&playwright指定浏览器操作,编写了一个bat单独运行。(基于windows)这样使用这个工具的人员可以直接在自己电脑上双击bat后再双击exe就可以直接运行程序,无需配置任何环境。接着前文解决一下报错报错playwright._impl._api......
  • playwright连接已有浏览器操作
    文章目录playwright连接已有浏览器操作前置准备打开本地已有缓存的Chrome(理解)指定端口打开浏览器连接指定端口已启动浏览器(推荐)playwright连接已有浏览器操作前置准备pipinstallplaywright#安装playwright的python版本playwrightinstall#安装playwright自带的浏览器和f......
  • webpack5 devServer浏览器打开显示 can not get
    webpack5中通过使用webpack-dev-server插件,配置devServer来浏览器启动页面,对于单页面,我们可以直接配置打开首页,多页面,可以配置打开一个文件目录,选择各个页面的目录当我们配置好webpack后,执行npmrundev,浏览器打开经常会看到显示  cannotget,即无法匹配服务器匹配的目......
  • js实现输入框防抖功能
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=......
  • Java入门题-输入一个字母,判断是不是大写,是直接输出,不是转换成大写输出
    重要:利用ASCII码判断字母是否是大小写需要引用Scanner方法 代码:importjava.util.Scanner;1、利用char数组转化的优点在于面对字符串,也可以批量对单个字符操作Scannerget_letter=newScanner(System.in);StringgetLetter=get_letter.next();charss[]=getLetter.to......