Github pages, HTTP headers
GithubHttp HeadersGithub PagesGithub Problem Overview
I serve some of my files from my Github pages account. But when I check my "js" files' headers, I saw following:
Last-Modified:Sun, 10 Feb 2013 14:00:46 GMT
Expires:Sun, 10 Feb 2013 14:13:23 GMT
Cache-Control:max-age=600
This file was commited 14 days ago. But I don't plan these files so frequent. So I need to make much bigger max-age value and change Last-Modified value to last commited date.
Is it possible to change headers of Github pages?
Github Solutions
Solution 1 - Github
I asked this to Github admins, and they told me that "it is not possible" to change headers. They added this issue to wishlist.
Solution 2 - Github
The answer is no, however we can stimulate html header on html pages using <meta http-equiv>
tag.
<meta http-equiv="last-modified" content="Sun, 10 Feb 2013 14:00:46 GMT " />
<meta http-equiv="cache-control" content="Private" />
<meta http-equiv="Expires" content="600" />
You can embed these snippets into the HTML page.
Solution 3 - Github
This is for all the people still having this problem and coming here from google.
Had the same problem recently. Actually it is possible if you are stubborn enough and wish to use some extra, third party services. What you need to do, is to use free tier heroku app with custom nginx buildpack. This buildpack would work as a proxy pass, which can add/remove HTTP headers as you please.
You will lose GitHub CDN though, so it may be good idea to leverage another service - cloudflare to do just that (and SSL as a bonus).
I wrote an article with detailed setup how to do this, if somebody is intereseted: https://www.rzegocki.pl/blog/custom-http-headers-with-github-pages/ - the setup is pretty cumbersome but it works.
Solution 4 - Github
It's currently not possible in Github Pages. You can use Github with Netlify. They let you change headers. They also have nice features like forms, prerendering and more. Which all are missing in Github Pages.