被什么蹬鼻子上脸?

GitHub Pages 是 GitHub 不知道在哪一年推出的网站托管服务。用户将网站内容放在一个 GitHub 仓库中(无论仓库是公共还是私有的),然后喝口水的功夫,网站就建立起来了。

GitHub Pages 有如下几个好处:

  1. 不要钱(以这种寒酸网站为基准)
  2. 方便,一键部署,一键 TLS
  3. 使用 GitHub CDN,不容易炸
  4. 炸了也是 GitHub 背锅

用户可以通过如下的几种方式部署 GitHub Pages:

  1. 使用名为 <username/org name>.github.io 的仓库作为网站的根目录 (webroot)
  2. 使用一个仓库的 mastergh-pages 分支作为网站的根目录
  3. 使用一个仓库的 master 分支的 docs/ 文件夹作为网站的根目录

在方式 1 下,默认可以通过<username/org name>.github.io 访问建立的网站;而在方式 2 和 3 下,默认通过 <username/org name>.github.io/<repo name> 进行访问。

除了给定的域名,GitHub Pages 还提供了自定义域名的选项,支持 example.comwww.example.com 形式的域名。具体看 wiki 。

被 GitHub Pages 怎么上脸?

通常来说,建一个博客需要如下几个部分:

  1. IP
  2. 域名
  3. 服务器
  4. 内容

使用网页托管服务,相当于用户交出了对服务器的完全控制,这有其两面性:用户可以不管什么阿帕奇,什么引擎X,但用户在服务器层面上能有多大的自由,完全取决于托管服务商的支持。

在 GitHub Pages 为例,用户失去了:

  1. HTTP redirect 的能力,具体来说,用户只能用一个 meta 标签做重定向,而不是返回 HTTP 301/302 进行重定向。
  2. 个性化错误页面,只能按照 GitHub Pages 的要求指定一个网页作为 404 页面(虽然大多情况下这就够了)。

你说的我都明白,所以这又怎么了?

其实没怎么。

由于上一篇博客中做的修改,现在的 RSS 变成了一个到中文 RSS Feed 的 HTTP 重定向。用 GitHub Pages 会使得无法重定向,导致 RSS 订阅会掉。

另外一个没有提及的问题是 GitHub Pages 的罪恶连锁:

不使用 .github.io -> 自定义域名不能使用 CNAME -> 自定义域名使用 A 记录 -> 每次部署的时候报警

以及

不使用 .github.io -> 自定义域名不能使用 CNAME -> 自定义域名使用 A 记录 -> 随机 302

其中第二个问题是由于 GitHub 方面需要平衡负载而导致的。

下一步?

再说。

Comment and share

go L337

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Comment and share

Author's picture

NoirGif

A progamer.


Student(probably)