Pergunta

são URLs do formulário http://asdf.com/something.do ? param1 = true? param2 = false válido?

Eu não acho que o segundo? é permitido em URLs válidos e que deve, em vez ser um comercial (&), mas eu sou incapaz de encontrar qualquer coisa sobre isso no HTTP 1.1 RFC. Alguma idéia?

Foi útil?

Solução

Não é válida para usar? novamente. ? deve indicar o início da lista de parâmetros. & Deve separar os parâmetros.

A partir RFC 3986 :

URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]

A partir RFC 1738 :

Uma URL HTTP toma a forma:

http:// <host> : <port> / <path> ? <searchpart>

onde <host> e <port> são como descrito na Seção 3.1. Se :<port> é omitido, o padrão de porta para o nome de usuário ou senha 80. Não é permitido. <path> é um seletor HTTP, e <searchpart> é uma consulta corda. O <path> é opcional, como é o <searchpart> e sua anterior "?". Se nem <path> nem <searchpart> estiver presente, o "/" também podem ser omitidos.

Dentro dos componentes <path> e <searchpart>, "/", ";", "?" estão reservado. O caractere "/" pode ser usado dentro de HTTP para designar um estrutura hierárquica.

O procurar part / consulta é descrito aqui .

Outras dicas

uso e para o segundo e terceiro

i. http://asdf.com/something.do?param1=true¶m2=false

application / x-www-form-urlencoded

Este é o tipo de conteúdo padrão. Formulários enviados com este tipo de conteúdo deve ser codificado como segue:

  1. nomes e valores de controle são escapou. caracteres de espaço são substituídos por +, e os personagens, então reservados são escapados como descrito em [RFC1738], secção 2.2: caracteres não alfanuméricos são substituídos por %HH, um sinal de porcentagem e dois dígitos hexadecimais que representam o código ASCII do caractere. Quebras de linha são representadas como pares "CR LF" (ou seja, %0D%0A).
  2. Os nomes de controlo / valores são listados na ordem em que aparecem no documento. O nome é separado do valor por = e pares nome / valor são separados um do outro por &.

- application / x www-form-urlencoded

Como mencionado, não é válido para usá-lo novamente. No entanto, se você tem a? caráter como parte de um valor de parâmetro, você pode codificá-lo como% 63 (assim como o caractere de espaço que fica codificados como% 20).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top