• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:なぜWebサービスのリンクは「&」のままなのか?)

なぜWebサービスのリンクは「&」のままなのか?

このQ&Aのポイント
  • 「&」を使ったWebサービスのリンクの理由
  • 不明な実体参照とは何か
  • 「&」を「&」に変換する必要性

質問者が選んだベストアンサー

  • ベストアンサー
  • think49
  • ベストアンサー率59% (285/482)
回答No.2

t_ohta さんが指摘された「Authors should use "&amp;"」は HTML 4.01 から引用したものだと思われますが、その手前に「また、著者は、「&」の代わりに「&amp;」(ASCII十進38)を用い、文字参照の冒頭――文字実体参照の開始区切り子――と誤解されるのを避けるべきである。」ともあります。 http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/charset.html#h-5.3.2 http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/charset.html#h-5.3.2 HTML5 ではブラウザ間の互換性問題を吸収する為か "&amp" も "&" を参照するように変更されました。 https://html.spec.whatwg.org/multipage/syntax.html#named-character-references 従って、次のように解釈されることになります。 <a href="http://example.com/?hoge=foo&=piyo">http://example.com/?hoge=foo&=piyo</a>  ↓ <a href="http://example.com/?hoge=foo&=piyo">http://example.com/?hoge=foo&=piyo</a> この挙動はWeb製作者の期待通りではないでしょうし、既存の Named Reference と一致しない名前を使用するように一つずつ HTML 仕様書をチェックするのは現実的ではありません。 また、将来的に Named Reference が増える可能性も踏まえると、HTML文字実体参照になってしまうリスクを負うのはよろしくないと思われます。 また、http://validator.w3.org/ で "&" がHTML文字実体参照でないHTMLをcheckすると warning ではなく、Errors として判定されます。 すくなくとも、Markup Validator では RFC2119 の "MUST NOT" に近い意味がこめられていると思われます。 結論としては「開発者にHTMLの知識がない」が正解だと思います。 # Re: mureimonoさん

その他の回答 (1)

  • t_ohta
  • ベストアンサー率38% (5292/13827)
回答No.1

XHTMLでは厳格な規定がありますが、HTMLの場合は「Authors should use "&amp;"」(&amp;を使用すべき)といった曖昧な表現になっているので、実体参照を使用しなくても完全な規定違反とは言えません。

関連するQ&A