質問: `/etc/hosts` の一覧において ``` 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost ``` とあり、 `127.0.0.1` が ローカルホストを意味する IPアドレスであることはインターネット上のルールとして知っていますが `::1` はなぜ ローカルホストにループバックするのでしょう? `::1` がIPとして有効なのか確かめるためにブラウザのアドレスバーに と入力しましたがローカルホストには接続できませんでした。 初歩的な質問ですがどなかたわかる方いらっしゃいますか?
回答: IPv4上の `127.0.0.1` と同様、`::1` はIPv6上でlocalhostを表すループバックアドレスです。 IPv6アドレスは128ビットを8つに分けて16進数で表記されるので `0000:0000:0000:0000:0000:0000:0000:0001` ですが、各ブロック先頭の0を省略できる、連続した0のブロックは`::`で省略できるという決まりがあるため、 `::1` と表記できます。 IPv4アドレスと異なり、IPv6アドレスの区切り文字であるコロンは、URLにおいてはホスト名とポート番号の区切りにも使われています。そのため、URLに書く際は `[]` で囲むルールになっています。 よって、 と入力すればブラウザでもアクセスできるかと思います。 参考 IPv6アドレス - Wikipedia