打开网页很慢(网站打不开怎么办)

你对计算机网络的应用层了解多少?你知道插座插座是什么吗?你知道为什么你的网站访问速度慢吗?你知道为什么费德和查尔斯能抓住你的包吗?今天就来一一揭秘吧!一、什么是

你对计算机网络的应用层了解多少?你知道插座插座是什么吗?你知道为什么你的网站访问速度慢吗?你知道为什么费德和查尔斯能抓住你的包吗?今天就来一一揭秘吧!

打开网页很慢(网站打不开怎么办)插图

一、什么是socket()插座?

套接字是端口的抽象,网络中不同主机上的应用程序进程通过这些端口进行双向通信。网络进程通信的一端是套接字,不同主机上的进程通过套接字进行通信。比如TCP协议,用主机的IP地址+端口号作为TCP连接的端点,这个端点就是套接字。

有三种主要类型的插座:

流套接字(SOCK_STREAM): 流套接字基于TCP传输协议, 主要用于面向连接的、可靠的数据传输服务,由于TCP协议的特点,使用流套接字进行通信时能够保证数据无差错、无重复传送、并按顺序接收,通信双方不需要在程序中进行相应的处理。数据报套接字(SOCK_DGRAM): 因为UDP协议传输的是数据报,所以数据报套接字是基于UDP传输协议的,对应于无连接的UDP服务应用,该服务并不能保证数据传输的可靠性, 也无法保证数据按照顺序到达, 同时通信两端不需要建立长时间的连接,UDP客户端发送一个数据给服务器后,就可以使用同一个套接字给另一个服务器发送数据, 当使用UDP套接字时,丢包等问题需要在程序中进行处理。原始套接字(SOCK_RAW): 由于流套接字和数据报套接字只能抓取TCP和UDP协议的数据,当需要处理非传输层数据包或操作系统无法处理的数据包时,就需要使用原始套接字来发送。二、URI(统一资源标识符)和URL(统一资源定位符)的区别?URL(统一资源定位符) 也可以说是我们平常上网时输入的网址,它标识一个互联网资源,并且指定其进行操作或获取该资源的方法,例如CSDN的网址该URL标识一个特定资源并表示该资源的某种形式可以通过HTTPS协议从相应的位置获取。URL是URI的子集, 两者都定义了资源是什么?而URL还定义了如何能够访问到资源,URI是一种语义上的抽象概念,可以是绝对的也可以是相对的。而URL则必须提供足够的信息来定位,是绝对的,

因此,一般来说,只要URI能够唯一标识资源,URL就可以在URI的基础上给出其资源的访问方法。

三。为什么fidder,charles能抓到你的包【抓数据包的过程】

如果我们需要抓取客户端的数据包,我们需要监控客户端和服务器之间的网络节点,监控任何一个网络节点(网卡),获取所有通过网卡的数据,根据网络协议分析这些数据。这是数据包捕获的基本原理。而中间的网络节点不是我们控制的,基本上不可能抓到包,只能抓到客户端和服务器之间。

①使用数据包捕获工具捕获HTTP数据包时,过程如下:

首先抓包工具会提出代理服务,客户端需要连接该代理;客户端发出 HTTP 请求时,会经过抓包工具的代理,抓包工具将请求的原文进行展示;抓包工具使用该原文将请求发送给服务器;服务器返回结果给抓包工具,抓包工具将返回结果进行展示;抓包工具将服务器返回的结果原样返回给客户端。

这里的包捕获工具相当于一个透明的人。当数据通过时,它一只手接收数据,然后用另一只手发送出去。

②抓取HTTPS包时:

客户端连接抓包工具提供的代理服务,并安装抓包工具的根证书;客户端发出 HTTPS 请求,抓包工具模拟服务器与客户端进行 TLS握手交换密钥等流程;抓包工具发送一个 HTTPS 请求给客户端请求的目标服务器,并与目标服务器进行 TLS 握手交换密钥等流程;客户端使用与抓包工具协定好的密钥加密数据后发送给抓包工具;抓包工具使用与客户端协定好的密钥解密数据,并将结果进行展示;抓包工具将解密后的客户端数据,使用与服务器协定好的密钥进行加密后发送给目标服务器;服务器解密数据后,做对应的逻辑处理,然后将返回结果使用与抓包工具协定好的密钥进行加密发送给抓包工具;抓包工具将服务器返回的结果,用与服务器协定好的密钥解密,并将结果进行展示;抓包工具将解密后的服务器返回数据,使用与客户端协定好的密钥进行加密后发送给客户端;客户端解密数据。

此时,包捕获工具对于客户端来说相当于服务器,对于服务器来说相当于客户端。在这个传输过程中,客户端会认为它是目标服务器,而服务器会认为它是发起请求的客户端。

四。如果你访问一个网站很慢,怎么检查解决?

网站打开慢的原因有很多。总结一下最常见的。

查看本地网络是否正常,查看网络带宽是否被占用,如有其他进程正在占用本地网络带宽。若网络连接正常,那么就应该对该网站的服务器速度进行排查,通过ping命令查看连接到服务器的时间和丢包情况,如果服务器正常,那么丢包率一般不会超过1%, 其次是ping值要小,最后是ping值要稳定,如果ping值的最大和最小差值过大说明路由不稳定。 或者我们查看打开同台服务器上的其他网站的速度,看打开其他网站的速度是否也慢。如果网站打开速度时快时慢,甚至有时候打不开的情况,那么有可能是空间不稳定,如果确定了是该问题,那么就应该找你的空间商更换空间了,可以选择购买双线或多线空间。从网站本身寻找原因,网站的问题主要包括网站程序设计、网页结构设计和网页内容三部分。

1.网站编程:当被访问的网页中存在减缓网站打开速度的代码时,会直接影响网站的打开速度。比如网页中使用的统计码一般放在网站的末尾,防止它在加载过程中被延迟。

2.网页结构设计:检查网页布局的代码。如果网页使用表格布局,请检查它是否嵌套了太多次,或者它是否使用了一个大表格被分成几个小表格的布局。这时候可以用div配合css来改善。

3.网页内容:检查网页中是否有很多大尺寸图片和大尺寸flash。我们可以通过降低图片的质量和尺寸,使用过多的闪光灯来解决这个问题。也可能是某些网站参考了其他网站的内容。如果一些引用的网站访问速度慢或者不存在,这个网站的打开速度自然会慢下来,所以可以直接减少不必要的附加。

5.说说网页解析的全过程【从用户输入URL到显示相应页面的全过程】

用户输入URL后,浏览器会先进行DNS解析,将用户输入的域名解析成web服务器的IP地址,然后通过IP地址与服务器建立TCP连接。连接完成后,它会通过HTTP协议发送客户端的请求。服务器收到请求后,会根据请求体中的内容决定如何获取目标文件,并将目标文件返回给客户端。浏览器接收到文件后,先将HTML文件解析成DOM树,然后将CSS文件解析成渲染树,并在CSS文件解析后按照渲染树的布局在页面上显示网页。最后,客户机和服务器通过挥动四次断开连接。

流程如下:

名词分析:

DNS 解析: 当用户输入一个网址并按下回车键的时候,浏览器获得一个域名,而在实际通信过程中,我们需要的是一个 IP地址,因此我们需要先把域名转换成相应 IP 地址。TCP 连接: 浏览器通过 DNS 获取到 Web 服务器真正的 IP 地址后,便向 Web 服务器发起 TCP 连接请求,通过 TCP三次握手建立好连接后,浏览器便可以将 HTTP 请求数据发送给服务器了。发送 HTTP 请求: 浏览器向 Web 服务器发起一个 HTTP 请求,HTTP 协议是建立在 TCP 协议之上的应用层协议,其本质是在建立起的TCP连接中,按照HTTP协议标准发送一个索要网页的请求。

在这个过程中,会涉及到负载均衡等操作。

扩展:什么是负载均衡?

负载均衡,英文命名为Load Balance,是指将负载(工作任务)均衡分配给多个运行单元,如FTP服务器、Web服务器、企业核心服务器等主任务服务器,协同完成工作任务。

负载均衡以现有网络为基础,提供了一种透明、廉价、有效的方式来扩展服务器和网络设备的带宽,增加吞吐量,加强网络处理能力,提高网络的灵活性和可用性。

负载平衡是分布式系统架构设计中必须考虑的因素之一。比如在大型用户网站如天猫、JD.COM等,为了处理大量用户发起的请求,往往采用分布式服务器,通过引入反向代理等方式将用户请求均匀分布到各个服务器上。,这个过程实现了负载均衡。

处理请求并返回: 服务器获取到客户端的 HTTP 请求后,会根据 HTTP 请求中的内容来决定如何获取相应的文件,并将文件发送给浏览器。浏览器渲染: 浏览器根据响应开始显示页面,首先解析 HTML 文件构建 DOM 树,然后解析 CSS文件构建渲染树,等到渲染树构建完成后,浏览器开始布局渲染树并将其绘制到屏幕上。断开连接: 客户端和服务器通过四次挥手终止 TCP 连接。今日摘要

今天的内容主要是学习网站请求和展示的流程,了解通信原理,URL和URI的区别,以及如何解决网站访问速度慢的问题。

如果朋友们遇到其他相关面试问题,请在评论区留言,我会把你们的评论汇总到文章里。欢迎朋友们在评论区打卡学习!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/128705.html

发表回复

登录后才能评论