Há algum motivo para eu não usar um asterisco ( *
) em um URL?
Fundo:
Com asteriscos, eu poderia fornecer esses URLs agradáveis e amigáveis (ou o que você acha?):
example.com/some/folder/search-phrase*
significa procurar páginas com nomes começando com "frase de pesquisa", localizada em / some / folder / .example.com/some/**/*search-phrase*
significa procurar por qualquer página com "frase de pesquisa" em qualquer lugar do nome .example.com/some/folder/*
significa listar todas as páginas em / some / folder / (em vez de mostrar a página / some / folder / index) .
Respostas:
Sobre o uso do Asterix em URLs
Usar um Asterix no seu URL provavelmente não é uma ótima idéia, principalmente porque:
Sobre o uso de asteriscos em URLs
Usar um asterisco (*) em uma URL (e, sim, eu sei que é isso que você quis dizer o tempo todo) também não é uma ótima idéia. Por ser um personagem reservado, não é usado em nenhum outro lugar; mesmo que seu esquema de URL pareça fácil para você, poucos pensam em experimentá-lo e provavelmente fornecerá resultados imprevisíveis porque é difícil discernir o significado de caracteres curinga nos URLs. (Eu não sabia dizer o que todos os seus exemplos significavam até ler suas descrições.)
Não apenas isso, mas pode haver algumas maneiras mais semânticas / significativas de fazer o que você descreve. Por exemplo, você pode anexar uma string de consulta e usar a variável 'find' e 'where' para informar ao seu método o que encontrar onde:
Encontre páginas que começam com 'frase de pesquisa' em
/some/folder/
:example.com/some/folder/?find=search-phrase&where=start
Encontre páginas com 'frase de pesquisa' em qualquer lugar:
example.com/some/?find=search-phrase&where=anywhere
Para mostrar todas as páginas, eu usaria um método separado chamado 'all' em vez de uma string de consulta ou sintaxe curinga:
example.com/some/folder/all
A sintaxe da string de consulta é muito mais comum que os asteriscos - procure na barra de endereços na próxima vez que você fizer uma pesquisa no Google, por exemplo - e provavelmente também será mais fácil codificar.
Por fim, se você não gostar da aparência das seqüências de consulta, você pode acrescentar um nome de método chamado 'search' e, em seguida, usar os próximos dois blocos como variáveis 'find' e 'where'. por exemplo, em vez de:
example.com/some/folder/?find=search-phrase&where=start
Você pode ter:
example.com/some/folder/search/search-phrase/start
Então, você só precisa verificar a palavra-chave 'search' no seu caminho de URL e acionar o método de pesquisa usando os próximos dois segmentos de caminho como variáveis.
ATUALIZAÇÃO: Encontrei meu primeiro asterisco em um URL hoje. A nova interface archive.org está usando exatamente como você descreve (como parte de um recurso de pesquisa), no lugar de uma palavra-chave 'all'. por exemplo:
http://wayback.archive.org/web/*/http://google.com
ao invés de
http://web.archive.org/web/20040214050058/http://www.google.com/
O primeiro exemplo retorna listagens arquivadas de todas as datas para google.com, em vez de apenas páginas de uma determinada data (segundo exemplo). Curiosamente, não posso vincular a página ao vivo aqui, porque o site do Stack Exchange codifica o
*
caractere como%2a
quando ele aparece nos URLs, o que resulta em um 404 do archive.org. (Talvez outro motivo para não usar asteriscos nos URLs.)Ainda acho que não é tão claro como 'todos', mas, se você estiver procurando por exemplos de outros sites adotando asteriscos em seus URLs, esse é o primeiro que eu já vi.
fonte
Sim, porque é um personagem reservado.
A partir daqui: http://www.w3.org/Addressing/URL/4_URI_Recommentations.html
EDITAR:
A partir daqui: http://labs.apache.org/webarch/uri/rfc/rfc3986.html#modifications
fonte
*
é um personagem reservado, sim. Mas é um sub-delimitador e, quando leio as especificações do URI, parece-me bom usar sub-delimitações de uma maneira específica de aplicativo, no componente de caminho do URI . - Isso não quer dizer que é OK para o uso*
(e também, por exemplo@
,:
,+
,,
) no caminho que eu fiz?