什麼是CDN?

了解什麼是CDN以及它的用途 CDN代表內容交付網絡。 它是一組分佈在全球各地並相互連接的伺服器。 在幫助加快網站速度的背景下,它們的工作是分發資源(例如圖像、JavaScript文件、CSS和HTML),以便這些資源可以物理上靠近每個可能想要訪問您網站的用戶,從而改善連接速度並減少延遲。 CDN是最終的快取網絡,也是以最便宜的方式在全球範圍內提供內容。 訪問者將永遠不會訪問存放您文件的實際網絡伺服器,而是會訪問這些CDN伺服器,從而減少負載。 CDN提供: 速度,靠近用戶網絡可以提高速度並減少延遲 冗餘性,如果CDN的某個節點失效,其他節點可以處理流量 與從集中位置提供所有流量相比,帶寬和伺服器功率消耗較低的成本 在CDN節點級別增加額外的保護層的安全性。並非所有CDN都這樣做,但大多數CDN都這樣做,並且還引入了DDoS攻擊保護措施。 CDN從源伺服器獲取原始資源,並且只要源資源沒有更改,它將繼續提供其資源的本地副本。 每個CDN伺服器位於不同的大陸,並且根據CDN的建立方式,在大陸的不同地區也有分佈。 每家大型公司都使用CDN來提供資源,您也可以透過利用像Cloudflare、Amazon CloudFront、Google Cloud CDN、Azure CDN等公司的服務來使用CDN。 CDN也可以直接由您的網站主機集成。例如,我使用的是Netlify,他們集成了自動CDN,使我的網站在世界各地的每個位置都運行快速。

如何使用 Firebase Hosting 开始

Firebase 是一个由 Firebase 公司于 2011 年开发的移动和 Web 应用开发平台,于 2014 年被 Google 收购。如今,Firebase 是 Google Cloud 服务的一部分,不仅如此,它还是他们云端产品的旗舰。 Firebase 是一个复杂而多样的产品,主要针对移动应用。然而,它的其中一个特性是高级 web 托管服务。 Firebase Hosting 特点 Firebase Hosting 提供托管静态网站的服务,您可以使用静态网站生成器生成的网站,也可以是使用服务器端 CMS 平台构建的网站,并从中生成网站的静态副本。 只要不是动态网站都可以托管在 Firebase Hosting 上。例如,如果您使用 Disqus 或 Facebook 评论系统,WordPress 博客几乎总是一个很好的静态网站候选。 Firebase Hosting 通过 Fastly CDN 提供文件传输,支持 HTTPS 并自动提供 SSL 证书,并提供自定义域名支持。 其免费层级很大方,并提供便宜的升级计划,非常适合开发者使用。Firebase 提供一个 CLI 界面工具,简化了部署流程,并支持一键回滚。 为什么应该使用 Firebase Hosting? Firebase 是部署静态网站和单页应用程序的好选择。 我喜欢使用 Firebase Hosting 主要是因为我测试了许多不同的供应商,Firebase 在全球范围内都提供了惊人的速度,而且不需要额外的 CDN,因为 CDN 已经内置在 Firebase 中并且是免费的。 另外,使用自己的 VPS 也是一个很好的选择,但是我不想仅仅为了一个简单的网站而管理自己的服务器,我更愿意专注于内容而不是操作,就像我在 Heroku 上部署应用一样。...

如何使用Netlify Edge功能

Netlify Edge功能是Netlify提供的一個非常有趣的功能,Netlify是一個流行的托管平台。 這個功能非常有趣,因為雖然Netlify以靜態托管聞名,但Edge功能允許您進行一些不太靜態的操作。 讓我們可以做到以下這些事情: 地理定位 本地化 A/B測試 重定向 …等等 它們與Netlify Serverless功能類似,只不過它們運行在Netlify邊緣(Edge)上,這意味著它們更接近用戶並在多個CDN位置運行,計算方式也不同(每月3百萬次呼叫,而不是每個站點每月12.5萬呼叫)。 要啟用Edge功能,請在您的網站存儲庫中創建一個netlify.toml文件(如果您尚未擁有),並添加以下內容: [[edge_functions]] function = "hello" path = "/hello" 其中function是netlify/edge-functions/下的文件名,不包括.js擴展名。 path是此功能將可用於的URL路徑。 然後,您可以在文件netlify/edge-functions/hello.js中編寫一個功能: export default () => new Response("Hello world"); Response是可用於將回應發送回客戶端的對象。 一旦您部署了存儲庫,就可以使用以下URL訪問其結果: https://<您的網站域名>/hello 試試看吧! 在部署期間,您將在日誌中看到以下信息: 一旦部署完成,您將看到動態生成的帶有內容Hello, World!的頁面。 但是我建議您預先使用Netlify CLI的netlify dev在本地測試它們。請確保使用npm i -g netlify-cli將其更新到最新版本,否則它可能沒有啟用此功能。 您可以設置回應標頭,例如內容類型,通過將第二個參數傳遞給new Response(): export default () => new Response('Hello world', { headers: { 'content-type': 'text/html' }, }); Edge功能接收兩個參數:request和context: export default (request, context) => { //... }; 這兩個對象提供了一些有用的功能。 request允許您訪問所有request數據,它與使用Fetch API時獲得的請求對象相同。...

將部落格托管到 Cloudflare Pages

正如我在 YouTube 上发布的视频 中所预测的那样,上周我将部落格从 Netlify 迁移到了 Cloudflare Pages。 我有一个主要的原因,那就是带宽费用。从去年七月开始,我每个月都需要支付 Netlify 的费用。 我很感谢 Netlify 为我提供的服务,但我必须结束这种情况。每次我要支付额外的带宽费用就是 20 美元。从 2020 年 7 月开始,一直到 2021 年 10 月,我一共支付了 340 美元才能保持部落格运行。部落格是消耗最多带宽的事物。 这是一个早就应该改变的决定。 我通常会对这样的决定犹豫不决,因为这是一个大的改变。我不想改变本已运行得很好的东西。 我也不想每年花费 240 美元,而有些服务可以免费提供相同的服务。 于是乎,Cloudflare Pages 登场。他们提供免费的带宽以及基本相同的服务。 Netlify 是一个出色的 JAMStack 服务商,提供了很多我甚至都没有使用到的功能,比如高级团队功能、身份验证、表单、分割测试等。 而我只是使用其中的基本功能:部署静态网站而已。 Cloudflare Pages 更加精简。它没有那些功能,但却提供了两个 Netlify 不提供的东西。 首先是免费的分析功能。Netlify 也有分析功能,但我需要付费每月 9 美元,这不是我想要的。 另一个是,Netlify 有 7 个 CDN 节点,而 Cloudflare Pages 有超过 200 个。这意味着网站在全球更多地方加载得更快。 我在视频中详细介绍了我迁移到 Cloudflare Pages 的过程,所以在这里我不再赘述。如果你对此感兴趣,请观看视频。 到目前为止,我对这次迁移非常满意。 我首先将部落格迁移到了 Cloudflare Pages,然后也将一些用于课程的网站迁移到了那里,因为它们是子域名,我让 Cloudflare 自动处理了所有的配置。 但是我还有很多其他网站托管在 Netlify 上,它们可能会一直留在 Netlify 上。...