在地址栏输入url后发生了什么

发布于:2022-11-28 ⋅ 阅读:(340) ⋅ 点赞:(0)

1、DNS解析

计算机在整个互联网中的整个标识就是ip地址,

dns就是输入URL寻找ip地址

dns缓存--浏览器是否访问过

操作系统host解析(C:\Windows\System32\drivers\etc)

分级查询:本地dns服务器、根域名服务器、org/com顶级域名服务器、google.com域名服务器(二级域)

客户端—————本地dns服务器---www.baidu.com的ip是多少

本地dns服务器----根域名服务器---wxx.baidu.com的ip是多少

根域名服务器---本地dns服务器---在.com服务管理器中

2、tcp链接

传输控制协议(TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。

客户端-----服务器 SYN=1,请求建议链接,seq=n(序列号) 客户端具有发送信息的能力

服务端-----客户端 SYN=1(服务同意建立链接),收到序列号 ack=n+1,seq=x(服务端的序列号) 服务端接收、发送能力

客户端-----服务端 SYN=0(开始发送信息) ack=x+1(确认收到信息) seq=n+1 客户端具有接收信息能力

syn攻击是黑客常用的攻击手段, SYN攻击大量发送伪造源IP的第一次握手SYN包,服务器每接收到一个SYN包就会为这个连接信息分配核心内存并放入半连接队列(syn队列中),当攻击的SYN包超过半连接队列的最大值时,正常的客户发送SYN数据包请求连接就会被服务器丢弃。导致正常的连接请求无法成功。 严重者引起网络堵塞甚至系统瘫痪。

 

 

3、发送http请求

HTTP/1.1

HTTP1.0 GET POST HEAD

HTTP1.1 新增OPTIONS PUT PATCH DELETE TRACE CONNECT

1 GET <!--请求指定的页面信息,并返回实体主体。-->

2 HEAD <!--类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头-->

3 POST <!--向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。-->

4 PUT <!--从客户端向服务器传送的数据取代指定的文档的内容。-->

5 DELETE <!--请求服务器删除指定的页面。-->

6 CONNECT <!--HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。-->

7 OPTIONS <!--允许客户端查看服务器的性能。-->

8 TRACE <!--回显服务器收到的请求,主要用于测试或诊断。-->

9 PATCH <!--是对 PUT 方法的补充,用来对已知资源进行局部更新 。-->

 

4、服务端处理请求、返回http报文(以下七点)

一 接受客户端连接

二 接收请求报文

三 处理请求

四 对资源的映射及访问

进行目录解析

\1. 返回一个错误。

\2. 不返回目录,返回一个特殊的默认“索引文件” 如果请求的是一个目录的URL,而且这个目录中有一个名为index.html(或index.htm)的文件,服务器就会返回那个文件的内容。

\3. 扫描目录,返回一个包含目录内容的HTML页面

五 构建响应

从上到下依次为:

响应行:相应的协议、状态码、响应状态描述

响应头:

        server:服务器信息

        cache control:private 发起请求的服务器才可以缓存 public 返回内容所经过的任何路径都可以缓存 no-cache 每次发请求都要去验证,服务器同意才可进行缓存

响应体:内容

六 、发送响应 响应报文返回给客户端

常用:

200 OK:客户端请求成功。

400 Bad Request:客户端请求有语法错误,不能被服务器所理解。

401 Unauthorized:请求未经授权

403 Forbidden:服务器收到请求,但是拒绝提供服务。

404 Not Found:请求资源不存在,如:输入了错误的URL。

500 Internal Server Error:服务器发生不可预期的错误。

503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常

七 、记录日志

当事务结束时,Web服务器会在日志文件中添加一个条目,如:log文件夹,来描述已执行的事务。

5、浏览器解析渲染页面

HTML自上而下加载、下载|渲染同步进行

css并行请求文件 图片是异步请求

js挂起,先加载完,继续渲染HTML文档

1、HTML渲染出来后是DOM树 +2、加载CSS后出现CSSOM树 =3、合起来 render树渲染树

4、布局树

5、绘制

详细可参考DOM树和CSSOM树的构建和渲染_LuckySoong的博客-CSDN博客_cssom树

6、链接结束(四次挥手)

发完了、收到发完、收完了、知道收完了(一点一点发)

客户端---服务端:FIN=1、seq=m

服务端---客户端:ack=1,ackseq=m+1

所有数据传输完毕.......

客户端---服务端:fin=1,seq=n

服务端---客户端:ack=1,ackseq=n+1

本文含有隐藏内容,请 开通VIP 后查看