当在地址栏中属于一个url 一回车到底是怎么呈现的页面???

当输入url到地址栏中,敲下回车客户端浏览器与服务器是怎么传输数据交互

主要就是这四个方面:

  • 查找IP
  • 建立连接
  • 相互通信
  • 断开连接

主要流程如下:
客户端根据域名查找对应的IP地址;
客户端根据IP地址与服务器建立连接;
客户端与服务器通信;
客户端与服务端断开连接。

1.查找IP
当我们在地址栏中输入url,首先浏览器会通过url去寻找要建立连接的服务器,但是一般我们都会使用域名搜索
例如 www.baidu.com 就是通过域名来访问, 通过向DNS服务器查询目的服务器的IP地址,查询IP具体步骤是先通过浏览器的DNS缓存中查找是否有符合的IP地址,如果没有就到操作系统中的一个hosts文件中查找是否有对应的IP地址,如果没有,才是真正的到DNS服务器上查询,首先到距离最近的本地域名服务器中查询,如果找到就返回(一般都在这里找得到),没找到继续向根域名服务器(root Name Server)发送请求,根域名服务器返回一个顶级域名服务器地址,此时本地域名服务器就会给顶级域名服务器发送请求,顶级域名服务器找到对应的IP返回给本地域名服务器,本地域名服务器收到后会缓存一份域名和对应IP,最后返回给浏览器

2.建立连接
拿到目标服务器的IP地址后就会向该服务器发起连接,也就是TCP三次握手

3.通信过程
连接建立完成之后,浏览器就会向服务器发送请求页面资源的http请求,该请求数据会经过应用层、传输层、网络层、数据链路层一路封装转发,最后达到服务器的物理层在层层解封拿到数据内容,服务器根据请求内容找到对应的Servlet代码,执行代码根据请求构造响应(状态行、消息报头、响应正文),把相应回传给客户端,这其中当服务器访问量较大时,会先发送到Nginx负载均衡器,然后这个负载均衡器通过一定的负载均衡算法来找到当前状态最佳的WEB服务器来处理这个请求,然后返回给Ngnix,再由Nginx传给客户端(其中如果是静态页面会先从Nginx缓存中查找)
客户端收到服务器的响应,浏览器的渲染引擎会将HTML文档构成一个DOM文档对象模型,解析加载样式CSSOM(层叠样式表模型) ,最后创建渲染树,包含一系列要被渲染的对象,而这个渲染树的最终通过绘制呈现到页面

4.断开连接
客户端浏览器和服务器通信完成之后,便会断开连接,即四次挥手

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
如果一个页面从用户在地址栏输入URL,首先,用户会在浏览器的地址栏输入网页的URL地址,然后按下回车键。浏览器接收到用户输入的URL后,会进行一系列的操作来加载该页面。 首先,浏览器会解析URL,分析其的协议部分(比如HTTPHTTPS、FTP等)以确定如何与服务器建立连接。接着,浏览器会解析URL的主机部分,找到对应的服务器IP地址。如果用户输入的是域名,浏览器会向域名系统(DNS)发送请求,将域名解析为IP地址,然后与服务器建立连接。如果用户输入的是IP地址,浏览器会直接使用该IP地址与服务器建立连接。 连接建立后,浏览器会向服务器发送HTTP请求。HTTP请求包含了用户的浏览器类型、支持的语言、请求的资源路径等信息。服务器收到请求后,会解析请求头的信息,确定要返回的资源,并做出相应的处理。 服务器根据请求的资源类型进行处理,如果是静态资源(如HTML、CSS、JavaScript文件等),服务器会将对应的文件内容返回给浏览器,浏览器接收到文件后再进行解析和渲染。如果是动态资源(如PHP、ASP、JSP等),服务器会执行相应的脚本代码,生成HTML等静态内容,然后返回给浏览器。 最后,浏览器接收到服务器返回的内容后,会进行解析和渲染,将页面呈现给用户。浏览器会根据HTML结构,解析DOM树并加载相应的CSS样式文件和JavaScript脚本文件,最终将页面内容显示在用户的浏览器窗口。 总之,当一个页面从用户在地址栏输入URL开始加载时,需要进行URL解析、DNS解析、连接建立、HTTP请求、服务器处理和响应、浏览器解析和渲染等一系列操作,最终将页面内容呈现给用户。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

·_int

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值