使用しても安全ですか @
ユーザーの一部としてシンボルですか?たとえば、可能なURLはですhttp://example.com/@dave
。
今日では、ユーザーは一般に「@user」と呼ばれているので、ユーザーページを「@username」にしてみませんか?
使用しても安全ですか @
ユーザーの一部としてシンボルですか?たとえば、可能なURLはですhttp://example.com/@dave
。
今日では、ユーザーは一般に「@user」と呼ばれているので、ユーザーページを「@username」にしてみませんか?
回答:
@
文字をパーセントエンコードすると、HTTPURIパスでその文字を使用できます%40
。
多くのブラウザはそれをまだとして表示しますが@
、たとえば、URIをコピーしてテキストドキュメントに貼り付けると、になります%40
。
パーセントエンコードする代わりに、@
HTTPURIパスで直接使用できます。
URIのパスの構文を参照してください。種々の無関係の句はさておき、パスは、の文字からなっていてもよいsegment
、segment-nz
またはsegment-nz-nc
セット。セット の文字segment
でsegment-nz
構成pchar
され、次のように定義されます。
pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
ご覧のとおり、@
は明示的にリストされています。
segment-nz-nc
セットも示しています@
明示的に文字を:
segment-nz-nc = 1*( unreserved / pct-encoded / sub-delims / "@" )
したがって、このようなHTTPURIは完全に有効です。
http://example.com/@dave
ウィキペディアのページの例を次に示します。
http://en.wikipedia.org/wiki/%22@%22_%28album%29
あなたが見ることができるように、"
、(
、および)
文字はパーセントエンコードされているが、@
そして_
直接使用されます。
@
もうURLで、まだ古いプロファイルのURL仕事(?):パーセントエンコードを持つ例@
(んではない!仕事)対の使用例@
を直接は(ありません動作します!)。
@
ではありません予約されていません。したがって、消費者はそれを想定し%40
て@
はならず、同等です。
Many browsers would display it still as @, but e.g. when you copy-and-paste the URI into a text document, it will be %40.
これはChromeには当てはまりません。
URLで@記号を使用できますか?-はい、できます!
@文字、16進値40、10進値64は、URI用に予約されている文字であることに注意してください。mailto:
たとえば、URIのメールアドレスなどに使用されます。mailto:username@somewhere.foo
や、URIでユーザー名とパスワードの情報を渡すために使用されます(これは悪い考えですが、可能です)。http://username:password@somewhere.foo
パスに@記号が含まれるURLが必要な場合は、いわゆる「URLエンコード」を使用してエンコードする必要があります。たとえば、次のようになります。http://somewhere.foo/profile/username%40somewhere.foo
最近のすべてのブラウザはこれをhttp://somewhere.foo/profile/username@somewhere.fooとして表示し、@-signで入力されたものをに変換します%40
ので使いやすいです。
多くのWebフレームワークは、自動的に、またはヘルパー関数を使用して、URLエンコードされたURLとの間で変換するのにも役立ちます。
だから、要約すると:はい、あなたは使用することができます@ -symbolをURLに、しかし、あなたが使用することはできませんとして、あなたは、それがコード化されますことを確認する必要があり、@ -characterを。
@
文字はURLのパス部分(greenbytes.de/tech/webdav/rfc3986.html#path)でエンコードする必要はありません
基本的にはありません。
@
は予約文字であり、本来の目的にのみ使用する必要があります。
参照:http://perishablepress.com/stop-using-unsafe-characters-in-urls/およびhttp://www.ietf.org/rfc/rfc3986.txt
エンコードして使用することもできますが、それはあなたが求めていたものではないと思います。
どうやら最近のブラウザはこれを処理します。ただし、これが安全かどうかを尋ねました。RFCの仕様によれば、意図された目的でない限り、(エンコードされていない)使用しないでください。