web-dev-qa-db-ja.com

URLで使用できる文字は何ですか?

/category/subcategory/sub-subcategoryのようなURLのすべてのパラメーターを受け取るアプリケーションがあります。 page-2/order-descのように、URLの最後に追加のパラメーターを指定できるようにしたい。これにより、URL全体がcat/subcat/sub-subcat{delimiting-character}page-2/order-descになります。

私の質問は、どの文字を{delimiting-character}として使用できるかということです。私は「:」を好む傾向があります。これは、他の場所には表示されないことは確かですが、標準に準拠するかどうか、または少なくとも将来問題が発生しないかどうかはわかりません。

私が覚えているように、vimeoは次のようなものを使用しました:vimeo.com/video:{code}しかし、彼らはこれを変更したようです。

13

英数字に加えて、特殊文字「$ -_。+!* '()」を使用できます。詳細はこちら: http://www.ietf.org/rfc/rfc1738.txt

また、URLが2000文字を超えないように注意してください

12
andrew

最新のURI仕様はRFC3986です。 URIのどの部分でどの文字が許可されるかについての詳細は、 ABNF を参照してください。

絶対パス部分の形式は次のとおりです。

  path-absolute = "/" [ segment-nz *( "/" segment ) ]
  segment       = *pchar
  segment-nz    = 1*pchar
  pchar         = unreserved / pct-encoded / sub-delims / ":" / "@"
  pct-encoded   = "%" HEXDIG HEXDIG
  unreserved    = ALPHA / DIGIT / "-" / "." / "_" / "~"
  sub-delims    = "!" / "$" / "&" / "'" / "(" / ")"
                      / "*" / "+" / "," / ";" / "="
5
McDowell

http://www.ietf.org/rfc/rfc1738.txt を参照してください。

基本的に、すべてのアファヌメリックと$ - _ . + ! * ' ( ) ,が許可されます

1
James L

ダッシュまたはアンダースコアを使用できます(これらは頻繁に使用されます)。任意の文字を使用できますが、たとえば、スペースはURLで%20に変わるため、見た目も悪くなります-いいですね。

0
alexyorke