其他分享
首页 > 其他分享> > 学习记录_1126

学习记录_1126

作者:互联网

从URL输入到页面展现到底发生什么?

域名解析(DNS)
输入网址后,首先要经过域名解析,浏览器要靠IP地址才能找到对应的服务器。
DNS协议提供通过域名查找IP地址,或逆向从IP地址反查域名的服务。DNS是一个网络服务器,域名解析简单来说就是在DNS上记录一条信息记录。
浏览器通过域名查询URL对应的IP?

总结:浏览器通过向DNS发送域名,DNS服务器查询到与域名相对应的IP地址,然后返回给浏览器,浏览器再将IP地址打在协议上,同时请求参数也会在协议搭载,然后一并发送给对对应的服务器。
接下来是http请求阶段:
TCP三次握手
在客户端发送数据之前会发起TCP三次握手用以同步客户端和服务端的序列号和确认号,并交换TCP窗口大小信息。三次握手过程如下:

在这里插入图片描述

三次握手的目的是为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误
发送HTTP请求
三次握手结束后,开始发送HTTP报文。
请求报文由请求行、请求头、请求体组成
在这里插入图片描述
1.请求行包含方法、URL、协议版本

2.请求头包含请求的附加信息,由关键字/值对组成,每行一对,关键字和值用 : 分隔
请求头部通知服务器有关于客户端请求的信息。包含许多有关的客户端环境和请求正文的有用信息。
3.请求体可以承载多个请求参数的数据,包含回车符、换行符和请求数据,并不是所有请求都具有请求数据。
服务器处理请求并返回HTTP报文
1.服务器
服务器是网络环境中的高性能计算机,他侦听网络上的其他计算机(客户机)提交的服务请求,并提供相应的服务,比如网页服务、文件下载服务、邮件服务、视频服务。而客户端主要功能是浏览网页、看视频、听音乐等。每台服务器都会安装处理请求的应用——web server。常见的web server 产品有 apache、nginx、IIS、lighttpd等。
web server 担任管控的角色,对于不同用户发送的请求,会结合配置文件,把不同的请求委托给服务器上处理相应请求的程序进行处理,然后返给后台程序处理产生的结果作为响应。
2.MVC后台处理阶段
模型(model)视图(view)控制器(controller)
浏览器发送来的请求先经过控制器,控制器进行逻辑处理和请求分发,接着会调用模型,这一阶段模型会获取 redis db 以及 MySQL 的数据,获取数据后将渲染好的页面,响应信息会以响应报文的形式返回给客户端,最后浏览器通过渲染引擎将网页呈现在用户面前。
3.http 响应报文
响应报文由响应行、响应头部、响应主体三个部分组成。
(1)响应行包括:协议版本,状态码,状态码描述
状态码规则如下:
1XX:指示信息–表示请求已接收,继续处理
2XX:成功–表示请求已被成功接收、理解、接受
3XX:重定向–要完成请求必须进行更进一步的操作
4XX:客户端错误–请求有语法错误或者请求无法实现
5XX:服务器端错误–服务器未能实现合法的请求
(2)响应头部包含响应报文的附加信息,由 名/值 对组成。
(3)响应主体包含回车符、换行符和响应返回数据,并不是所有响应报文都有响应数据
浏览器解析渲染页面
浏览器解析渲染页面分为以下五个步骤:

  1. 根据HTML解析出DOM树
  2. 根据CSS解析出CSS规则树
  3. 结合DOM和CSS规则树,生成渲染树
  4. 根据渲染树计算每一个节点的信息
  5. 根据计算好的信息绘制页面

1.根据HTML解析DOM树

2.根据css解析生成css规则树

3.结合DOM树和CSS规则树,生成渲染树

4.根据渲染树计算每一个节点的信息

5.根据计算好的信息绘制页面

断开连接
当数据 传送完毕,需要断开TCP 连接,此时发起 TCP 四次挥手

在这里插入图片描述

标签:请求,记录,报文,1126,学习,TCP,序列号,服务端,客户端
来源: https://blog.csdn.net/vigorZ/article/details/108750578