如何對GitHubPages上的靜態資源進行CDN加速

前記

從我開始學習前端我就一直在作着個人我的簡歷網站,使用GitHubpPages的預覽功能進行預覽,可是因爲最近個人我的簡歷,不停的豐富,圖片增多,並且將css和js文件用webpack打包後變成一個很大的問價,網頁的加載速度就變的像龜速同樣,因此我決定將靜態資源用CDN加速css

選擇運營商

我經過谷歌搜索,找到了幾家提供CDN加速服務的網站,例如七牛網雲盾等,最後我選擇了七牛網,由於七牛網實名認證先成功了前端

操做步驟

首先,如今對象儲存中新建一個儲存空間
新建儲存空間webpack

而後在內容管理那裏上傳文件,由於新註冊的帳號會有一個試用域名,期限是一個月,因此能夠如今買域名,並備案(好像必定須要備案號才能夠用)git

在上傳完文件以後,就會自動幫你生成cdn連接,你就能夠直接將他引入到了頁面中了
連接github

出現問題

可是當我將CDN連接替換了源文件時,發現失敗了
失敗了
發現區別了嗎?是由於http協議被更改爲了https,爲何會這樣呢web

由於當使用 username.github.io 做爲預覽域名時,GitHub會確保安全強制把全部請求變成https協議的,因此當使用http協議的加速連接,就會自動被更改從而找不到文件數據庫

更換域名

我再次使用上了谷歌查找解決方法,我發現原來只要把 username.git.io 的域名替換成本身的域名就能夠進行設置了,
爲此我在國外的 namesilo 網站上購買了一個域名(爲何不在國內買,由於國內要備案太麻煩了)選擇好本身喜歡的域名後,就能夠點擊購買了,初次購買須要註冊,網上還有優惠碼能夠搜索一下
購買域名安全

買完以後就能夠去更換域名了,在DNS解析那裏
藍色的服務器

如圖所示,將A換成GitHub的IP地址
CNAME指向你的 username.github.io
箭頭dom

GitHub的配置

GitHub你的項目目錄中添加一個CNAME文件(不要後綴),裏面寫上你購買的域名,不須要加協議,git push 後就能夠了,並不須要作什麼特殊的操做

從域名到DNS的一點理解

域名

域名就是一串字符,爲了就是讓人容易看懂,它的做用就是爲了給IP地址起一我的類能記得住的名字,如今域名演變成了一種資源,一個好看的域名要幾千甚至幾萬美圓一年

根域

根域名服務器(英語:root name server)是互聯網域名解析系統(DNS)中最高級別的域名服務器,負責返回頂級域的權威域名服務器地址。它們是互聯網基礎設施中的重要部分,由於全部域名解析操做均離不開它們。因爲DNS和某些協議(未分片的用戶數據報協議(UDP)數據包在IPv4內的最大有效大小爲512字節)的共同限制,根域名服務器地址的數量被限制爲13個。幸運的是,採用任播技術架設鏡像服務器可解決該問題,並使得實際運行的根域名服務器數量大大增長。截至2017年11月,全球共有800臺根域名服務器在運行。(這是摘自維基百科的信息)

反應在域名上例如 ‘baidu.com’ 實際上是縮寫,全拼是 ‘baidu.com.' 最後面的這個點就是根域

頂級域名

經常使用的頂級域名分爲幾種:
1 國家頂級域名,例如.cn,.jp
2 機構頂級域名,例如.com,.edu
3 新頂級域名,例如.xyz,.top

二級域名

咱們可以申請到的通常都是二級域名,就是在頂級域名的旁邊加上一些字符,例如 ‘baidu.com’, ‘qq.com’

子域名

子域名(或子域;英語:Subdomain)是在域名系統等級中,屬於更高一層域的域。好比,mail.example.com和calendar.example.com是example.com的兩個子域,而example.com則是頂級域.com的子域。

當咱們購買了一個二級域名,理論上是能夠分紅不少三級域名的,可是數量有沒有限制,這個理論上是沒有,可是會由域名商決定能夠解析多少個記錄,域名只是你IP地址的一個導向標

有關DNS

查閱資料咱們很容易看到有關DNS的解釋:DNS(Domain Name System,域名系統),萬維網上做爲域名和IP地址相互映射的一個分佈式數據庫,可以使用戶更方便的訪問互聯網,而不用去記住可以被機器直接讀取的IP數串。經過域名,最終獲得該域名對應的IP地址的過程叫作域名解析(或主機名解析)。DNS協議運行在UDP協議之上,使用端口號53。

簡單的說就是DNS將網址變成了IP地址,經過IP地址才能訪問服務器

那麼,DNS服務器上都存了些什麼?最主要的就是可以完成域名解析的一些記錄,例以下面這些

A記錄

A記錄在DNS中的意義就是,域名到IPV4地址的轉換。
因此,當咱們在DNS服務器中添加一個A記錄時,是告訴服務器,將某個特定的域名映射到一個ip地址。這個算是最簡單直白的轉換規則了。

CNAME記錄

CNAME的意義,簡單說就是別名,即將一個域名射到另外一個域名(區別於A記錄的ip)。
再由另一個域名提供IP地址

AAAA記錄

和單個A不一樣,四個AAAA表明着域名到IPV6地址的轉換
域名映射到一個IPV6地址

NS記錄

域名服務器記錄,若是須要把子域名添加給其餘DNS服務商解析,就須要添加NS記錄


後記

感受越寫越跑偏了,就是這樣,若是有問題能夠留言

相關文章
相關標籤/搜索