私のgithubページリポジトリにCNAMEファイルも必要なのは混乱していますか?ドメインプロバイダとgithubページでCNAMEを2回実行する必要があるのはなぜですか?DNSプロバイダにCNAMEレコードがあっても、githubページリポジトリにCNAMEファイルが必要ですか?
どのように物事が一緒に機能しますか?
私のgithubページリポジトリにCNAMEファイルも必要なのは混乱していますか?ドメインプロバイダとgithubページでCNAMEを2回実行する必要があるのはなぜですか?DNSプロバイダにCNAMEレコードがあっても、githubページリポジトリにCNAMEファイルが必要ですか?
どのように物事が一緒に機能しますか?
もう少し考えましたが、私はglglglの答えが私の質問に答えないと思います。私のドメインプロバイダのために:CNAMEレコードを追加しました:
リクエストがgithubに来ると、githubはどのユーザーのgithubページを配信するのかを知るのに十分な情報が必要ですか?要求がxxuserのgithubページを取得することは明らかです。
なぜgithubページに追加のCNAMEファイルが必要なのですか?その理由は、リポジトリの所有者に、カスタムドメインがリポジトリのWebサイトにリンクすることを許可する権限を与える権限を与えるからです。 CNAMEファイルにないカスタムドメインがgithubページにリンクすると、githubから404エラーページが表示されます。つまり、所有者がCNAMEファイルに入れたカスタムドメインのみをリンクすることができます。これは明らかにリポジトリの所有者が所有するドメインになります。
httpリクエストが届くと、リクエストはmygithub.mypage.com
であり、githubはこのリクエストの代理人であることを知っている必要があります。そのページは配信する必要があります。
githubの設定がこれです。 githubののサーバが見るものを、正確には
はmypage.github.io
についての概念はありません
GET/HTTP/1.1
Hostname: mygithub.mypage.com
ようなHTTPリクエストです。彼らはmygithub.mypage.com
がどこにポイントしているかを知るためにDNSクエリを行うことができましたが、彼らはこのバージョンを使用することを選択しました。
しかし、ドメインプロバイダでxname.yy.zzがmyuser.github.ioになっているcnameレコードを追加しましたが、これは 'myuser.github.io'のページを必要としているとは言えませんか?なぜgithub知る必要がありますか?私の理解のgithubページは、http:// myuser.github.ioを要求するhttpサーバ上でホストされています。これはindex.htmlページを元に戻します。 –
@AaronShen最新の回答をご覧ください。 – glglgl