如何对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记录


后记

感受越写越跑偏了,就是这样,若是有问题能够留言

相关文章
相关标签/搜索