2016-03-23 7 views
2

Я смущен, почему файл CNAME также необходим в моем репозитории страниц github? Почему CNAME нужно делать дважды на моих доменах и github-страницах?Зачем нужен файл CNAME в репозитории страниц github, даже если у меня есть запись CNAME у поставщика DNS?

Как все работает вместе?

ответ

0

Я немного подумал, я думаю, что ответ glglgl не отвечает на мой вопрос. Потому что в моем доменном провайдере: я добавил запись CNAME: enter image description here
Когда запрос поступает в github, github должен иметь достаточно информации, чтобы знать, какую страницу github пользователя поставить, не так ли? Очевидно, что запрос состоит в том, чтобы получить страницу github xxuser.

Тогда зачем сайту github нужен дополнительный файл CNAME? Причина, по-моему, заключается в том, что он дает владельцу права хранилище возможность контролировать, какой пользовательский домен разрешен для ссылки на веб-сайт репозитория. Если пользовательский домен, который не находится в файле CNAME, ссылается на страницу github, в github будет отображаться 404 страницы ошибок. Это означает, что может быть связан только пользовательский домен, который владелец, помещенный в файл CNAME, может быть связан, что, очевидно, будет доменом, принадлежащим владельцу репозитория.

1

Когда приходит запрос HTTP, заявляя, что запрос предназначен для mygithub.mypage.com, github должен знать, от чьего имени этот запрос, так чью страницу он должен доставить.

Это то, что нужно для настройки в github.

Чтобы быть точным, на каком сервере GitHub видит это запрос HTTP, как

GET/HTTP/1.1 
Hostname: mygithub.mypage.com 

Там нет понятия о mypage.github.io. Они могли бы выполнить DNS-запрос, чтобы узнать, где указывают mygithub.mypage.com, но они решили использовать эту версию.

+0

Но я добавляю запись cname у своего провайдера домена, которая указывает xx.yy.zz на myuser.github.io, недостаточно, чтобы сказать, что мне нужны страницы из 'myuser.github.io'? почему github даже нужно знать? Мое понимание github-страницы размещено на http-сервере, который когда-либо запрашивает 'http: // myuser.github.io', он вернет страницу index.html, это правильно? –

+0

@AaronShen См. Мой обновленный ответ. – glglgl