从cdn说起

为什么要使用cdn

雅虎军规有一条规则建议我们是用cdn。随便在网上搜索,可以找到使用的cdn的好处。

再次强调第一条黄金定律,减少网页内容的下载时间。提高下载速度还可以通过CDN(内容分发网络)来提升。CDN通过部署在不同地区的服务器来提高客户的下载速度。如果你的网站上有大量的静态内容,世界各地的用户都在访问,我说的是youtube么?那CDN是必不可少的。事实上大多数互联网中的巨头们都有自己的CDN。我们自己的网站可以先通过免费的CDN供应商来分发网页资源。

cdn不只是可以让用户去请求到离自己最近的服务器,提高速度,他还有以下几个好处。

1. 防止本域名下的cookie在发送请求时被带过去。

如果在network下看过页面的请求,可以发现,即使是请求一张jpg的图片,也会发送同域下的cookie过去。即便是不到几k的大小,用户量大了,也是一个巨大的消耗。不论是出于加载速度还是宽带的考虑,都应该避免这种情况。这也是静态cdn的域名不与主域名一致的原因之一。

2. 防止过多请求被浏览器限制。

浏览器同域名的请求是有最大并发限制的,一般是6个。具体可以参考这篇博客。这是cdn的域名不与主域名一致的原因之二。

3. 方便缓存复用。

如果是同一个静态文件,在多个页面被加载,如果在cdn上,被客户端缓存下来,那么再打开另一个页面,也不需要再去请求,可以直接使用缓存。

说点别的

说到了cdn,就想到了一些平时开发时约定俗成的习惯。

dns预解析

估计大部分同学都会有一个文件存满了诸如以下的内容:

<meta http-equiv="x-dns-prefetch-control" content="on" />
<link rel="dns-prefetch" href="http://img.jd.com" />
<link rel="dns-prefetch" href="http://static.jd.com" />

公司常常会有很多个静态资源的域名,有的时候,页面下的静态资源很可能是从许多个不同的域名下加载的。而域名解析为主机也需要时间,这时,如果我们使用dns预解析,可以加快资源的请求速度。

这需要浏览器的支持,目前主流浏览器全部支持。

合理利用缓存

雅虎军规第一条————减少http请求。

实际开发中,雪碧图、压缩捆绑css、js是我们常用的方式。但是在客户端能力越来越强的如今,其实不一定非要这么做。

举个例子,如今客户端会缓存大部分静态资源在本地,加上并发请求的原因,多个文件反而能更好的利用客户端的能力。

我认为,在项目上线时,尽可能找到复用较多的资源,单独拿出来,项目专享的js和css打包成一个文件,不失为一个更好的选择。

以上是我个人的一些理解,如有不对,敬请指教。

时间: 2024-08-02 08:23:31

从cdn说起的相关文章

Nginx做为CDN缓存负载均衡代理的配置实现

系统架构: nginx+tomcat+mysql 本文只做Nginx做为CDN缓存负载均衡代理的配置实现的介绍 相关软件: nginx-1.8.1.tar.gz ngx_cache_purge-2.3.tar.gz (用于手动清理缓存) 一.nginx安装 [[email protected] ~]tar -xf nginx-1.8.1.tar.gz [[email protected] ~]tar -xf ngx_cache_purge-2.3.tar.gz -C /usr/local/ngx

AWS CloudFront CDN直接全站加速折腾记The request could not be satisfied. Bad request

ERROR The request could not be satisfied. Bad request. Generated by cloudfront (CloudFront) Request ID: JC3i8piJpjRbuP81MNhSKPxt5KWirIInynZgwFJ9EYKuysjS5A_AnQ== 上面这个问题害我着急的很啊.在这里谢谢远在东京的小伙伴在百忙之中帮我分析解决这个问题. 使用AWS也有段时间了,基本常用的服务都用了,还有很多服务没用上,正在慢慢摸索中..说实话

CDN 二级回源实现

随着Cache节点数量的增加,大量的图片回源,导致图片源站的压力在不断增加.源站load飙高.IO飙高.由于图片源站上还有其他业务,必须使源站的压力降下来: 1.更改Cache 的回源策略(每天都有新的图片上传,也会产生大量的回源). 2.增加二级回源功能(上传的新图片,只有二级源站取一次图片就Ok了,其他Cache都去二级源站取图片,会降低回源的频率). 网络架构: > 用户首先到最近的Cache节点获取数据,如果有数据返回给用户. > 如果最近的Cache节点没有数据,去二级源站取数据,如

《CDN加速代理》RHEL6

CDN加速代理环境的测试:192.168.1.这个网段是可以上网的,2网段不可以上网 一台apache服务器 :配置 只安装apche服务 IP 192.168.1.59 一台双网卡的服务器 :只安装squid服务eth0 192.168.1.61  eth1  192.168.2.61 一台客户机: 只有浏览器  网段为2 也是不可以上网的192.168.2.37 1.  apache服务器: 2.  修改apache配置文件打开虚拟端口: 3.  启动apache服务;  刷掉火墙策略: 4

ddos.cc平台的cdn技术加速原理

"加速!"在这个快节奏的时代,已经成了人们习惯的模式.所以网民对网络的要求也越来越高,网站的速度成了最明显的竞争力.cdn加速则是将网站的内容缓存在网络边缘,当用户访问时,通过调度系统将用户的请求引导到具体用户接入最近的服务器上,由这个缓存的服务器为用户提供内容的服务.通过这种方式缩短用户的内容之间的距离,从而到达加速的效果. 正因如此,cdn加速被广泛应用到各个网站,上面提到的cdn网站加速只是一种极为普遍的加速显现,接下来详细介绍使用cdn加速优势: 1.本地加速 提高了企业站点的

高防CDN防御百万级DDoS攻击

企业了解DDoS的攻击方式,他们就必须决定如何应付这种攻击,这是现在几乎不可避免的状况.第一个方法是与一些DDoS防御供应商合作,如集群盾.WAFCDN.高防盾.高防云盾等,这是应对最严重攻击的一个可行方法.这些公司专门研究如何防御和应付可能的恶意流量.然而,如果一个组织没有足够资源购买第三方产品和服务,那么聪明的安全管理员也会采取下面这些步骤,尽量减小DDoS攻击的危害.      首先,安全管理员应该先了解他们组织的互联网连接.正如前提所提到的,一般组织的平均连接带宽为10Gbps,所以管理

企业必须使用高防CDN的几个理由

雲防御可以简单.高效.快速的解决很多由于企业发展迅速,在互联网方面带来的问题. 针对正常的访问流量激增,这是决策者们乐意看到的现象.但由于恶意的网络攻击(主要是指DDoS)带来的流量激增,却是一件令人头痛和恼火的事情.并且由于网络攻击的手段升级,很多的访问网络攻击也会掺杂在正常流量之中.由于在硬件投入上的不同,在面对DDoS攻击时,小公司的防御能力更显得力不从心.而攻击者并不会因为小公司的防御力量薄弱而降低攻击的力度,攻击者也不会因为员工下班了就放弃攻击的行为.攻击很可能是随时随地发起的.   

CDN,你了解多少?

大家对CDN并不陌生,工作中或多或少都有所接触,最近也有人问到,在此对CDN相关概念和流程做下总结,希望还能对其他朋友也有所帮助. 一.什么是CDN 维基百科上是这样定义的: CDN:内容分发网络(Content delivery network或Content distribution network)是指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快.更可靠地将音乐.图片.视频.应用程序及其他文件发送给用户,来提供高性能.可扩展性及低成本的网络内容传递给用户. 对于还

Python脚本测试cdn节点状态

情景: 公司某晚上cdn服务商的节点突然崩溃导致某些网页无法打开或打开缓慢,之前测试cdn节点状态基本采用更改host文件的逐个访问的方式,费时费力,便想通过脚本来完成这项cdn节点状态测试.主要采用了xlrd(读表格数据).httplib(绑定cdn节点进行访问及状态获取).xlsxwriter(写测试结果).脚本从制定格式的表格(data.xlsx)中读取数据并输出到另一张表格(result.xlsx) 脚本写的比较随意,各种不规范,后续会进行跟进,附代码: 1 # -*- coding:

bootstrap的免费 CDN 加速服务

<!-- 最新版本的 Bootstrap 核心 CSS 文件 --> <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css"  integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"  cro