href 属性のコンテンツに対して何をすべきか: HTML または URL エンコーディング?
<a href="???">link text</a>
一方では、href 属性に URL が含まれているため、URL エンコーディングを使用する必要があります。一方、この URL を HTML に挿入しているので、HTML エンコードする必要があります。
この矛盾を克服するために私を助けてください。
ありがとう。
編集:
ここに矛盾があります。URL に「<」と「>」の文字が含まれている可能性があるとします。URL エンコーディングではエスケープされないため、href 属性内に予約済みの HTML 文字が含まれ、標準に違反します。HTML エンコーディングは「<」および「>」文字をエスケープし、HTML は有効になりますが、その後 URL に予期しない「&」文字が含まれます (これは URL の予約文字であり、クエリ文字列パラメーターの区切り文字として使用されます)。 .
予約済みの URL 文字は、URLではなく HTML 用に予約されている「<」と「>」を除いて、予約済みの HTML 文字のスーパーセットを形成します。
編集2:
私は '<' と '>' 文字について間違っていました。実際には URL エンコーディングによってパーセント エスケープされています。なら、この場合は URL エンコーディングで十分ですよね。