[1] IPv4 アドレスは、IPv4 において通信の当事者を識別する番地です。 IPアドレスの一種です。
[17] インターネット・ホスト表でのIPv4アドレスの表記は、
1オクテットを表す10進整数を4つ、.
で並べたものとして定義されていました。
BNF では
<address> ::= <octet> "." <octet> "." <octet> "." <octet> <octet> ::= <0 to 255 decimal>... と表されていました。 >>18
[9] SMTP (RFC 2821 → RFC 5321) では IPv4アドレスは次のように ABNF で定義されています。
IPv4-address-literal = Snum 3("." Snum) Snum = 1*3DIGIT ; representing a decimal integer ; value in the range 0 through 255
[14] RFC 2821 の前の RFC 821 でも同じような定義でした。
<dotnum> ::= <snum> "." <snum> "." <snum> "." <snum> <snum> ::= one, two, or three digits representing a decimal integer value in the range 0 through 255
[38] URL 仕様は歴史的に緩い定義で、任意の十進整数を4つ .
で並べたものをIPv4アドレスとしてきました。
IPv4address = 1*digit "." 1*digit "." 1*digit "." 1*digit... と ABNF で定義しており、本文中でも同様の説明となっています。 RFC 1630 と RFC 1738 も異なる BNF で同じように定義しています。
[3] RFC 2373 は IPv6アドレスの文字列表現を定義していました。 IPv4アドレスはIPv6アドレスの一部分として用いられることがあるため、その定義も包含していましたが、 IPv4アドレスの表現は自明のことのように扱われており、明記はされていませんでした。
IPv4address = 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT... となっていました。
[7] 1つ前の版である RFC 1884 には ABNF はなく、また次の版である RFC 3513 からもなぜか削除されています。文章による定義は以前も以後も含まれていますが、 >>3 の通り、IPv4アドレスについては明記されていません。
[8] RFC 2732 は URL における IPv4アドレスの定義を RFC 2396 の元のものから RFC 2373 のものに変更しており、10進数の桁数が高々3桁とより厳密になりました。
[26] SIP も同じ定義をコピペして使っていました >>28 が、 RFC 5954 でより厳密な定義 (>>20) になっています (>>23)。
[20] RFC 3986 は RFC 952 (>>17) を参照しつつ、同じことを文章と ABNF で定義しています。ABNF では
IPv4address = dec-octet "." dec-octet "." dec-octet "." dec-octet dec-octet = DIGIT ; 0-9 / %x31-39 DIGIT ; 10-99 / "1" 2DIGIT ; 100-199 / "2" %x30-34 DIGIT ; 200-249 / "25" %x30-35 ; 250-255... と表されています。
[23] RFC 5954 は SIP における IPv4address
の定義を >>20 に改めています。これに伴い、
任意の3桁以内の10進整数が認められていたものがオクテットを表すもののみに厳密化しています。
>>25
[75] フィッシング対策協議会 Council of Anti-Phishing Japan | ニュース | 緊急情報 | URL に特殊な IP アドレス表記を用いたフィッシング (2023/11/14), , https://www.antiphishing.jp/news/alert/ipurl_20231114.html
[76] メール中のURLに特殊なIPアドレス表記を用いたフィッシングに、フィッシング対策協議会が注意喚起 - INTERNET Watch, 株式会社インプレス, https://internet.watch.impress.co.jp/docs/news/1546968.html
[68] IPv4構文解析器は、 入力から得られるIPv4アドレスを返すか、 入力が誤ったIPv4アドレスだとして失敗を返すか、 入力がIPv4アドレスではないとしてそのまま返すかのいずれかです。
[2] IPv4 が最もよく用いられている IP である現在、 IPv4アドレスのことを単に「IPアドレス」と呼ぶことがほとんどです。 また、俗に、更に略して単に「IP」と呼ばれることすらあります。
[40] RFC 6021 - Common YANG Data Types ( 版) http://tools.ietf.org/html/rfc6021
[41] Manpage of INET ( ( 版)) http://archive.linux.or.jp/JM/html/LDP_man-pages/man3/inet_addr.3.html
[42] 変なIPに書き換えても繋がるかテスト ( ( 版)) http://abc.s65.xrea.com/1/
[45] RFC 6943 - Issues in Identifier Comparison for Security Purposes ( ( 版)) http://tools.ietf.org/html/rfc6943#section-3.1.1
[46] RFC 7249 - Internet Numbers Registries ( ( 版)) http://tools.ietf.org/html/rfc7249#section-2.2
[47] IRC logs: freenode / #whatwg / 20141014 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20141014
[49] CSP2/CSP3: Drop literal IPv4 support. · c39f73a · w3c/webappsec ( 版) https://github.com/w3c/webappsec/commit/c39f73a5fd93dd68de228a2e8914734c8e14a16c
[51] [whatwg] IPv4 parsing (Anne van Kesteren 著, 版) https://lists.w3.org/Archives/Public/public-whatwg-archive/2015Jun/0092.html
[52] Define an IPv4 parser that is compatible with Chrome · whatwg/url@9043740 ( 版) https://github.com/whatwg/url/commit/904374077513ac73d4e8ed2a8a76a460bb369735
[53] Bug 26431 – Define IPv4 parsing ( 版) https://www.w3.org/Bugs/Public/show_bug.cgi?id=26431
[54] Re: [whatwg] IPv4 parsing (Anne van Kesteren 著, 版) https://lists.w3.org/Archives/Public/public-whatwg-archive/2015Jul/0000.html
[55] Off-by-one error in IPv4 parser. Fixes https://twitter.com/Zalathar/s… · whatwg/url@94e9e60 ( 版) https://github.com/whatwg/url/commit/94e9e60b968a73640a622a0b643879ed17a57b41
[56] IPv4 serializer reversed order of IPv4 addresses accidentally. Also d… · whatwg/url@e7d85d6 ( 版) https://github.com/whatwg/url/commit/e7d85d64a0abedeb39765ddfe97f2828ed0c992b
[57] Handle "0" as input in the IPv4 number parser. Fixes #50. · whatwg/url@8848692 ( 版) https://github.com/whatwg/url/commit/884869260417fbdc0738c286d8e8d9cdec026b47
[58] Apparently 0x is an IPv4 number. Fixes #50 (again). · whatwg/url@1eab2ab ( 版) https://github.com/whatwg/url/commit/1eab2abb3806158fc7a550ac5b7deb2d6fff5602
[59] RFC 1918 - Address Allocation for Private Internets ( 版) https://tools.ietf.org/html/rfc1918
[60] If IPv4 parser finds empty labels, return input as domain. Fixes #51. · whatwg/url@990295a ( 版) https://github.com/whatwg/url/commit/990295a481ba5b9ababf2e0c37dcd4b1d577e41a
[61] Report all IPv4 syntax violations. · whatwg/url@c1b8970 ( 版) https://github.com/whatwg/url/commit/c1b8970133eb54aa86feaa407dc2db2fdedc8096
[69] Editorial: cleanup host similarly to URL (annevk著, ) https://github.com/whatwg/url/commit/7f9c5fd9236f9a329c48615bce5d25b50f276738
[70] Parse IPv4 number "0x0a" correctly (annevk著, ) https://github.com/whatwg/url/commit/620fa90a8c6c06980a608382b4bd0810353834d9
[71] Editorial: typo in IPv4 parser (italoacasas著, ) https://github.com/whatwg/url/commit/90e567b5252be925fcdbac3908228f3c5bcb4a42
[72] IPv4 parser: handle the empty string (annevk著, ) https://github.com/whatwg/url/commit/cb146b945fb95e93bcc7c942d0eac4572a60f48f
[73] Attempt to explain valid input better (annevk著, ) https://github.com/whatwg/url/commit/50cb9ab9d8f70cc2bc72e91976bfaea0ad0fd330