URLにアスタリスクを使用できますか?


12

*URLにアスタリスク()を使用しない理由はありますか?

バックグラウンド:

アスタリスクを使用すると、これらのすてきで使いやすい(またはあなたはどう思いますか?)URLを提供できます。

  • example.com/some/folder/search-phrase*
    / some / folder /にある「search-phrase」で始まる名前のページを検索 することを意味します

  • example.com/some/**/*search-phrase*
    名前に「search-phrase」が含まれるページを検索 することを意味します

  • example.com/some/folder/*
    / some / folder /のすべてのページをリスト することを意味します(/ some / folder / indexページを表示するのではなく)



1
同様のSOの質問がもう1つあります。URLにアスタリスクを付けることはできますか?。私はそれらが見つかりませんでした、なぜなら私は修正されるまでアスタリスクでアスタリスクを綴ったからです:
-KajMagnus

@KajMagnus今日、URLにアスタリスクを使用したサイトを初めて見つけました。以下の更新された回答を参照してください。
ニック

回答:


16

URLでAsterixを使用する場合

URLでAsterixを使用することは、おそらくそれほど素晴らしいアイデアではないでしょう。その主な理由は次のとおりです。

  1. 現在、UTF-8もASCIIもAsterixを示すことができません。
  2. 彼は、標準のブラウザのアドレスバーの汚れに過ぎません。
  3. 私は彼がそれをとても望んでいるとは思わない。そして彼にはかなり大きな友人がいます。
  4. それはただ奇妙です。

URLでアスタリスクを使用する場合

URLでアスタリスク(*)を使用すること(そして、もちろん、それがあなたがずっと意味していたことを知っています)も、それほど素晴らしいアイデアではありません。予約文字であるため、他の場所では使用されません。URLスキームはユーザーにとって使いやすいように見えますが、試してみる人はほとんどいません。URLのワイルドカードの意味は見分けにくいため、予測できない結果をもたらす可能性があります。(あなたの説明を読むまで、あなたの例のすべてが何を意味するかわかりませんでした。)

それだけでなく、あなたが説明したことを行うための意味論的/意味のある方法がいくつかあるかもしれません。たとえば、クエリ文字列を追加し、「find」変数と「where」変数を使用して、どこで何を検索するかをメソッドに伝えることができます。

で「検索フレーズ」で始まるページを検索/some/folder/

example.com/some/folder/?find=search-phrase&where=start

「検索フレーズ」を含むページをどこでも検索:

example.com/some/?find=search-phrase&where=anywhere

すべてのページを表示するには、クエリ文字列またはワイルドカード構文の代わりに、「all」という別のメソッドを使用します。

example.com/some/folder/all

クエリ文字列の構文はアスタリスクよりもはるかに一般的です(たとえば、Google検索を次に実行するときにアドレスバーを確認します)。また、コーディングも簡単になります。

最後に、クエリ文字列の外観が気に入らない場合は、「search」というメソッド名を先頭に追加し、次の2つのブロックを「find」変数と「where」変数として使用できます。例:代わりに:

example.com/some/folder/?find=search-phrase&where=start

あなたが持つことができます:

example.com/some/folder/search/search-phrase/start

次に、URLパスの「search」キーワードを確認し、次の2つのパスセグメントを変数として使用して検索メソッドをトリガーするだけです。


更新:今日、URLで最初のアスタリスクを見つけました。新しいarchive.orgインターフェースは、「すべて」のキーワードの代わりに、(検索機能の一部として)説明したとおりにそれを使用しています。例えば:

http://wayback.archive.org/web/*/http://google.com

の代わりに

http://web.archive.org/web/20040214050058/http://www.google.com/

最初の例は、特定の日付のページだけでなく、google.comのすべての日付からアーカイブされたリストを返します(2番目の例)。興味深いことに、Stack ExchangeサイトはURLに表示さ*れる%2aときと同じように文字をエンコードし、その結果archive.orgから404が生成されるため、ここでライブページにリンクできません。(おそらく、URLにアスタリスクを使用しない別の理由。)

私はまだ「すべて」ほど明確ではないと思いますが、URLにアスタリスクを採用している他のサイトの例を探しているなら、それは私が見た最初のものです。


Wrt Asterix:なんだ!「アスタリスク」を意味すると思いましたか?
-KajMagnus

Wrt Asterix:そういうわけで、StackOverflowやWebmastersに関連するページが見つかりませんでした。SOで2つの関連ページを見つけました。URLにアスタリスクを許可し、URLにアスタリスクを使用できますか? -ありがとう:-)
KajMagnus

エンドユーザーがアスタリスクをどのように認識するかについての情報をお寄せいただきありがとうございます。今では、代わりにクエリ文字列を好むでしょう。
-KajMagnus

(アステリックスへの言及について疑問に思う人がいる場合:アスタリスクのスペルを間違えた、私はそれがアステリックスだと思った:
KajMagnus

11

はい、予約文字ですから。

その他の予約文字

アスタリスク( "*"、ASCII 2A 16進数)および感嘆符( "!"、ASCII 21 16進数)は、特定のスキーム内で特別な意味を持つものとして使用するために予約されています。

ここから:http : //www.w3.org/Addressing/URL/4_URI_Recommentations.html

編集:

文字に関するセクション2は、一般的な構文で区切り文字として使用されていない場合でも、予約される文字、予約される文字、予約される理由を説明するために書き直されました。感嘆符( "!")、アスタリスク( "*")、一重引用符( "'")、開き括弧と閉じ括弧( "("および ")")を含む、通常はデコードするのに安全でないマーク文字、予約済みと未予約の区別を明確にし、できればスキーム設計者の最も一般的な質問に答えるために、予約済みセットに移動しました。

ここから:http : //labs.apache.org/webarch/uri/rfc/rfc3986.html#modifications


うーん、*予約文字です、はい。しかし、それはサブデリミタであり、URI仕様を読んだとき、URI のパスコンポーネントでアプリケーション固有の方法でサブデリムを使用するのが良いように思われます。- DOES使用しないように、この平均それのOK *(とも例えば@:+,)私がやった方法で?
-KajMagnus

特定のスキーム内で特別な意味を持つものとして使用するために予約されています」というフレーズに混乱しています。独自のアプリケーション固有のスキームを定義できませんか?サブアプリで、ウェブアプリがウェブアプリ固有の方法でそれらを使用することを意図できますか?
-KajMagnus

ここで、WikipediaはURLにアスタリスクを許可すると言い、他の人は大丈夫だと言います
-KajMagnus

技術的に可能かどうかではなく、使用するかどうかを尋ねました。一般的な考え方は、自分が何をしているかを正確に知らない限り使用しないことです。
アレックス

その一般的な答えに同意するかどうかはわかりません。新しいことを学ぶ方法は、それがどのように機能するかわからないことをすることです。それから、あなたは学び、見つけます。一般の人々が自分たちがどのように働いているかを正確に知っていることだけをやったら、私たちの未来はどうなるでしょうか?(これはプレアルファ版ですので、本番用ではありません:-))-とにかく情報とリンクをありがとう:-)
KajMagnus
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.