GitHub PagesとContent-Typeヘッダー

GitHub Pagesでは未知のファイルはapplication/octet-streamで配信される。未知のファイルとは未知の拡張子を持つファイルと拡張子を持たないファイルの二つに分けられる。例えばこのウェブサイトのRSSフィードは拡張子なしのfeedというファイルのため、適切なContent-Type (application/rss+xml)で配信されていない。

Content-Typeの制御はファイルの拡張子でのみ行うことにGitHub Pagesではなっている。RSSならば.rss、Atomなら.atomという拡張子である必要があるということだ。バックエンド(Fastly?)でそうなっているためな気がするが、ちょっと不自由なところがある。

ごく一部のRSSリーダーは適切なContent-Typeが返ってこない場合に購読できなかったり新着が読めなくなったりするようだ。Content-Typeを無視しろとまでは思わないが、せめてapplication/octet-streamは解釈を試みて欲しいと思う。


今のところURLを維持したまま直す方法がないのでこのままにしておく。Content-Type以外にもCache-Controlといったパフォーマンスに直結するヘッダーも変更したいと感じることも多く、ホスティング自体は静的ファイルのみだが、.htaccess的なものは使えるレンタル・サーバーが欲しいなという気持ちが強まってきた。