如何对GitHubPages上的静态资源进行CDN加速
前记
从我开始学习前端我就一直在做着我的个人简历网站,使用GitHubpPages的预览功能进行预览,但是由于最近我的个人简历,不停的丰富,图片增多,而且将css和js文件用webpack打包后变成一个很大的问价,网页的加载速度就变的像龟速一样,所以我决定将静态资源用CDN加速
选择运营商
我通过谷歌搜索,找到了几家提供CDN加速服务的网站,例如七牛网、云盾等,最后我选择了七牛网,因为七牛网实名认证先成功了
操作步骤
首先,现在对象储存中新建一个储存空间
然后在内容管理那里上传文件,因为新注册的账号会有一个试用域名,期限是一个月,所以可以现在买域名,并备案(好像一定需要备案号才可以用)
在上传完文件之后,就会自动帮你生成cdn链接,你就可以直接将他引入到了页面中了
出现问题
但是当我将CDN链接替换了源文件时,发现失败了
发现区别了吗?是因为http协议被更改成了https,为什么会这样呢
因为当使用 username.github.io 作为预览域名时,GitHub会确保安全强制把所有请求变成https协议的,所以当使用http协议的加速链接,就会自动被更改从而找不到文件
更换域名
我再次使用上了谷歌查找解决方法,我发现原来只要把 username.git.io 的域名替换成自己的域名就可以进行设置了,
为此我在国外的 namesilo 网站上购买了一个域名(为什么不在国内买,因为国内要备案太麻烦了)选择好自己喜欢的域名后,就可以点击购买了,初次购买需要注册,网上还有优惠码可以搜索一下
买完之后就可以去更换域名了,在DNS解析那里
如图所示,将A换成GitHub的IP地址
CNAME指向你的 username.github.io
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记录
后记
感觉越写越跑偏了,就是这样,如果有问题可以留言
如何对GitHubPages上的静态资源进行CDN加速的更多相关文章
- 前端遇上Go: 静态资源增量更新的新实践
前端遇上Go: 静态资源增量更新的新实践https://mp.weixin.qq.com/s/hCqQW1F8FngPPGZAisAWUg 前端遇上Go: 静态资源增量更新的新实践 原创: 洋河 美团 ...
- 国内站点经常使用的一些 CDN 静态资源公共库加速服务
web开发人员们的福利来了..旨在为大家提供更快很多其它更好的静态资源库的CDN载入库方案! CDN公共库是指将经常使用的JS库存放在CDN节点,以方便广大开发人员直接调用. 与将JS库存放在serv ...
- 关于静态资源放在CDN上
https://www.netlify.com/ https://app.netlify.com/signup?_ga=2.194141613.1097457726.1543799087-101005 ...
- HappyAA服务器部署笔记2(nginx的静态资源缓存配置)
我近期对服务器进行了少量改进,虽然之前使用了nginx反向代理之后性能有所提高,但仍然不够,需要使用缓存来大幅度提高静态资源的访问速度. 服务器上的静态资源主要有这些:png, jpg, svg, j ...
- Spring MVC 访问静态资源
当我们不通过控制器,想直接访问网站上的静态资源时,由于DispatcherServlet的url-patten的通配符的限制,导致系统会认为你访问的是个url映射,这时需要配置一个东西就可以解决问题了 ...
- Spring Boot 静态资源处理
spring Boot 默认的处理方式就已经足够了,默认情况下Spring Boot 使用WebMvcAutoConfiguration中配置的各种属性. 建议使用Spring Boot 默认处理方式 ...
- 关于web项目中静态资源加载不了的一些解决思路
问题的产生: <!--springMVC前端控制器加载--> <servlet> <servlet-name>springmvc</servlet-name& ...
- 转转hybrid app web静态资源离线系统实践
一.前言 目前的转转app是一个典型的hybrid app,采用的是业内主流的做法: 客户端内有大量业务页面使用webview内加载h5页面承载. 其优点是显而易见的,即:web页面上线频度满足快速迭 ...
- 在Salesforce中使用静态资源
静态资源 静态资源是Salesforce中默认的一种数据类型,用户可以上传各种文件,比如zip文件.jpg文件.css文件.图像文件等. 在Visualforce页面.Lightning框架的开发过程 ...
随机推荐
- tensorflow基本操作(1)
import tensorflow as tf import numpy as np 点乘,支持broadcasting 乘号* 和 multiply等价 mul已经废弃不用了 matmul 是矩阵相 ...
- mysql驱动表与被驱动表及join优化
驱动表与被驱动表 先了解在join连接时哪个表是驱动表,哪个表是被驱动表:1.当使用left join时,左表是驱动表,右表是被驱动表2.当使用right join时,右表时驱动表,左表是驱动表3.当 ...
- Nginx跨域问题
Nginx跨域无法访问,通常报错: Failed to load http://172.18.6.30:8086/CityServlet: No 'Access-Control-Allow-Origi ...
- mybatis使用map传递多参数报错:A query was run and no Result Maps were found for the Mapped Statement
在使用mybatis进行多参数传递时,报错: A query was run and no Result Maps were found for the Mapped Statement 'xx.xx ...
- dp基础√
1.重叠子问题 2.能从小问题推到大问题 Dp: 设计状态+状态转移 状态: 1.状态表示: 是对当前子问题的解的局面集合的一种(充分的)描述.(尽量简洁qwq) ◦ 对于状态的表示 ...
- 【WPS/Visio】WPS word无法复制或编辑Visio对象
前言 Win10,WPS2019,Visio2016. 好像是有一次设置 .vsdx 的默认打开方式为Visio,之后每次在WPS里复制Visio对象,或双击编辑WPS word中以前的Visio对象 ...
- jquery导航栏高亮(二级菜单点击一级保持高亮)
<script type="text/javascript"> var urlstr = location.href; var urlstatus=false; $(& ...
- centos7使用kubeadm搭建kubernetes集群
一.本地实验环境准备 服务器虚拟机准备 IP CPU 内存 hostname 192.168.222.129 >=2c >=2G master 192.168.222.130 >=2 ...
- 05: 常用反扒机制 & 解决方法
1.1 常用反扒机制 参考博客:https://blog.csdn.net/python36/article/details/90174300 1.header 浏览器的请求头 header中添 ...
- TApplication,TForm,TControl,TComponent,TWinControl研究(博客索引)good
TApplication,TForm,TControl,TComponent,TWinControl研究 http://blog.csdn.net/suiyunonghen/article/detai ...