什么是 CDN?自CDN出现以来,它每天都在为我们提供便利。刷短视频、上网课、浏览网页等其实都用到了CDN。那么,到底什么是CDN?
CDN全称为Content Delivery Network,是一种由分布在不同区域的边缘节点服务器群组成的分布式网络。我们来看一个例子帮助理解吧。
就拿使用某APP追剧为例,同一时间有近一千万的用户使用一个APP追同一部剧,而且如果大家观看的是1080p 清晰度的视频(理论上需要4Mbps带宽),那么,累计需要的流量带宽是10,000,000×4Mbps=40,000,000Mbps=40Tbps。
我想这对于任何一家视频内容提供商来说都是巨大的流量吧。而且我们使用的计算机网卡,一般是1Gbps的带宽。根据上面的带宽可以得出,这家APP的供应商需要一台“超级服务器”才能满足这么大的流量需求。大厂也许真的能够提供,可是对于一些实力不太行的供应商该怎么办?使用“超级服务器”显然不现实。如果不能解决这样大的流量压力,势必会引起网络拥塞和访问时延,这对于运营商来说就意味着用户的流失,也就意味金钱的流失。
基于上面这样的需求,CDN技术的出现 ...
大型网站面临的挑战大型网站都要面对庞大的用户量,高并发,海量数据等挑战。为了提升系统整体的性能,可以采用垂直扩展和水平扩展两种方式。
垂直扩展:在网站发展早期,可以从单机的角度通过增加硬件处理能力,比如 CPU 处理能力,内存容量,磁盘等方面,实现服务器处理能力的提升。但是,单机是有性能瓶颈的,一旦触及瓶颈,再想提升,付出的成本和代价会极高。这显然不能满足大型分布式系统(网站)所有应对的大流量,高并发,海量数据等挑战。
水平扩展:通过集群来分担大型网站的流量。集群中的应用服务器(节点)通常被设计成无状态,用户可以请求任何一个节点,这些节点共同分担访问压力。水平扩展有两个要点:
应用集群:将同一应用部署到多台机器上,组成处理集群,接收负载均衡设备分发的请求,进行处理,并返回相应数据。
负载均衡:将用户访问请求,通过某种算法,分发到集群中的节点。
什么是负载均衡?负载均衡(Load Balance,简称 LB)是高并发、高可用系统必不可少的关键组件,目标是尽力将网络流量平均分发到多个服务器上,以提高系统整体的响应速度和可用性。
负载均衡的主要作用如下:
高并发:负载均衡通过算 ...
免责声明本篇文章仅作为技术分享,无不良引导。作为一个遵纪守法的公民,理应知道“网络不是法外之地”,不应该在网络空间发表任何不正当言论。
什么是 VPN?VPN(Virtual Private Network 虚拟专用隧道),通过专有网络或则其他网络,为企业和企业,以及企业和个人搭建一条具有加密保护措施的虚拟隧道,从而实现互通互联。
现代社会,我们的日常办公已经离不开电脑和手机。新冠疫情刚刚过去,很多人们也渐渐从居家办公走了出来。但是日常生活还是离不开居家办公。就比如我们大学生,寒暑假放假也希望能访问学校内的网上资源,可是在学校外如何访问校内的内网资源呢?VPN就能很好地解决这个问题。
是的,其实VPN的出现,一开始是为了办公。可是现在,一说到VPN,我想大家一定会联想到“魔法”、“梯子”、“翻墙”……懂的都懂。
上世纪90年代的时候,大多数的企业一般使用HTTP协议,而HTTP协议最大的缺点就是明文传输,很不安全。因此,VPN出现了。VPN使得数据以加密的状态在公网中传输,大大提高了数据的安全性、完整性和一致性。
VPN类型一般分为站点到站点、客户端到站点两种:
站点到站点
这种VP ...
技术分享
未读简单粗暴的一句话解释网站通过域名来识别和定位,而域名通过DNS解析得到对应的IP地址,最终通过IP地址实现连接和访问。
比如我们使用ping命令ping百度:
可以看到baidu.com解析为ip:110.242.68.66
域名与 IP 地址
IP地址与域名是一对多的关系。一个ip地址可以对应多个域名,但是一个域名只有一个IP地址。
域名的出现就是为了方便管理和记忆ip。
IP 地址和域名之间的映射是通过域名系统(DNS)来实现的。
域名结构树
根据上图可以直观地看出域名结构:
根域
位于域名空间最顶层,一般用一个 “.” 表示
顶级域
一般代表一种类型的组织机构或国家地区,如 net、com、org、edu、gov、mil、cn、jp、hk
二级域
用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,如 .cn 顶级域名下面设置的二级域名:.com.cn、.net.cn、.edu.cn …
子域
二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名
主机
主机位于域名空间最下层,就是一台具体的计算机,如 www、 ...
SQL Injection Fundamentals题目:SQL 注入基础
解题思路
“remote code execution”(RCE)——远程代码/命令执行:属于服务端漏洞,由于开发人员在开发相关命令调用功能时,没有对用户输入的数据进行过滤和验证操作,导致攻击者输入的恶意代码字符被带入后端服务器执行,从而产生危害应用服务器的后果。
进入目标页面:
因为该漏洞的产生,就是基于攻击者的输入,由于后端服务端在实现某些服务时需要将用户输入的信息作为参数调用函数/方法,如果服务端没有对输入进行验证/过滤等安全操作,攻击者就可以基于服务端代码的语法注入恶意代码,服务端执行该段代码,最终实现攻击目的。
因此,根据题目要求,我们需要获取文件系统中的 /root(根目录)下的 flag ,在目标页面的 Username 和 Password 注入能够让服务端执行的且能获取对应目录下 flag 内容的代码即可完成注入攻击。
核心思路:将用户输入的数据拼接到代码中,并且被当成 sql 语句执行。
因为一般登录框与 MySQL 数据库进行交互的 sql ...
技术分享
未读静态资源静态内容是指在不同请求中访问到的数据都相同的静态文件。例如:图片、视频、网站中的文件(html、css、js)、软件安装包、apk文件、压缩包文件等。
CDN加速的本质是缓存加速。将服务器上存储的静态内容缓存在CDN节点上,当访问这些静态内容时,无需访问服务器源站,就近访问CDN节点即可获取相同内容。从而达到加速的效果,同时减轻服务器源站的压力。
动态资源动态内容是指在不同请求中访问到的数据不相同的动态内容。例如:网站中的文件(asp、jsp、php、perl、cgi)、API接口、数据库交互请求等。
当访问这些动态内容时,每次都需要访问(源)服务器,由服务器动态生成实时的数据并返回给您。因此CDN的缓存加速不适用于加速动态内容,CDN无法缓存实时变化的动态内容。对于动态内容请求,CDN节点只能转发回服务器源站,没有加速效果。
如果网站或App应用有较多动态内容,例如需要对各种API接口进行加速,则需要使用全站加速。全站加速能同时加速动态和静态内容,加速方式如下:静态内容使用CDN加速。动态内容通过路由优化、传输优化等动态加速技术以最快的速度访问服务器源站获取数据。从而达到全站 ...
技术分享
未读不想看博客的,可以直接看下面这个视频:
引用站外地址
TCP的三次握手和四次挥手
技术蛋老师
TCP的三次握手为了保证客户端和服务器端的可靠连接,TCP建立连接时必须要进行三次会话,也叫TCP三次握手,进行三次握手的目的是为了确认双方的接收能力和发送能力是否正常。
第一次握手: 客户端向服务器端发送报文证明客户端的发送能力正常
第二次握手:服务器端接收到报文并向客户端发送报文证明服务器端的接收能力、发送能力正常
第三次握手:客户端向服务器发送报文证明客户端的接收能力正常
视频里也提到了,如果客户端只是大量的发送SYN报文,而没有后续确认,就是DDos中的SYN泛洪攻击。
TCP的四次挥手建立TCP连接需要三次握手,终止TCP连接需要四次挥手