首页 > Web开发 > 详细

从百度/谷歌搜索上输入一个网址,到浏览器加载出网站页面的过程中,发生了什么

时间:2021-08-21 08:11:56      阅读:14      评论:0      收藏:0      [点我收藏+]

让我们先回顾一下网络体系的七层体系结构图

技术分享图片

一、DNS 解析:(网址转换成对应的IP地址)

1. DNS递归:

先看本地域名服务器是否缓存该地址,然后各服务器依次递归.(根域名服务器) -> .com -> google.com. -> www.google.com.(这样是不是会造成多次请求连接浪费资源?)

2. DNS缓存:

所以各个服务器都会存在缓存,以便下次使用,浏览器、路由器、域名服务器都会有缓存

3. DNS负载:

如果某个服务器接受的请求和大量连接,会给服务器造成巨大的压力,通过部署多个服务器来实现DNS 负载,重定向另外一个服务器,减轻当前服务器的压力。****

二、TCP 连接:(浏览器向该地址服务器发送TCP 连接请求)

三次握手请求连接(也可以考虑下四次挥手的过程)看之前的文章TCP 中的三次握手和四次挥手

三、发送HTTP 请求:(浏览器向网站服务器发送一个HTTP请求)

1. Https VS http

他们的区别就是在 HTTP 与 TCP 中加入了 ssl 进行相应的验证

技术分享图片

2. HTTP 请求报文(请求行,请求报头和请求正文)

2.1 请求行:GET index.html HTTP/1.1

常用的方法有:GET,POST,DELETE,OPTIONS,HEAD

2.2 请求报头:允许客户端向服务器传递请求的*附加信息和客户端自身的信息*

常见的请求报头字段有:Accept, Accept-Charset, Accept-Encoding, Accept-Language, Content-Type, Authorization, Cookie, User-Agent等。

2.3 请求正文:如果使用的是POST,PUT方法时,数据就存储在请求正文里面,包括一些与请求正文相关的信息。

四、HTTP响应报文:(服务端向浏览器返回一个HTTP 报文)

状态码:由三位数字组成,第一个数字定义了响应的类别

  • 1xx: 表示请求已接收,继续处理

  • 2xx: 请求已经成功被接受

  • 3xx: 重定向-要完成请求必须进行更进一步的操作

  • 4xx: 客户端错误-请求语法错误或者请求无法实现

  • 5xx: 服务端错误-服务器未能实现合法的请求

响应报头:

响应相关报头字段有:Server, Connection...

响应报文:

服务器返回给浏览器的文本信息,比如html,css,js,图片等等文件

五、浏览器解析文件,渲染页面

从百度/谷歌搜索上输入一个网址,到浏览器加载出网站页面的过程中,发生了什么

原文:https://www.cnblogs.com/EthanWong/p/15168632.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!