Considere o código Node.js apresentado a seguir:Considere, a...
Considere o código Node.js apresentado a seguir:
Considere, ainda, que a aplicação foi endereçada com a seguinte url (considere a url correta):
http://example.com:8080/a.b?c=d&e=f&g
O resultado obtido será:
Comentários
Veja os comentários dos nossos alunos
Logo no início do código está pegando a biblioteca http e url e está criando um servidor passando um comportamento para esse servidor. Esta certando o res. como resposta e escrevendo e o resultado é text/html veja abaixo:
res.writeHead(200, {'Content-Type': 'text/html'});
Depois faz um parse da url e depois pegas os query parametes veja abaixo:
var querystring = url.parse(req.url, true).query
Os query parametes são valores que ficam depois da interrogação (?), veja abaixo:
http://example.com:8080/a.b?c=d&e=f&g
Depois intera sobre os query parametes dessa linha res.write("< p>" + i + ": " + querystring[i] + "< /p>"); // Esta linha está escrevendo um parágrafo com cada query paramete. Observe os dois pontos (:) na hora de imprimir os parágrafos e o primeiro valor depois da interrogação (?) que é o c.
1º Parágrafo c: d
2º Parágrafo e: f
3º Parágrafo g:
Explicação da questão em video começa em 3:36 horas https://www.youtube.com/watch?v=GsXhQr54K8Q
Letra E
Na URL http://example.com:8080/a.b?c=d&e=f&g, a parte example.com:8080 representa o host e a porta do servidor. Já a parte ?c=d&e=f&g é a query string, que contém os parâmetros de consulta.
Quando você vê o retorno example.com: 8080, isso está mostrando o host e a porta, mas não faz parte dos parâmetros de consulta. Os parâmetros de consulta são apenas c=d, e=f e g (com valor vazio).
Como g não tem um valor associado, ele é considerado um parâmetro vazio. Isso pode ser útil para a lógica da aplicação, que pode verificar a presença de g e agir de acordo.
example.com: 8080 não aparece no retorno da query porque ele não é um parâmetro de consulta, mas sim a identificação do servidor e da porta onde a aplicação está rodando.
Estrutura da URL
Protocolo: http
Host: example.com
Porta: 8080
Caminho: /a.b
Query String: c=d&e=f&g
Query Parameters
c tem o valor d
e tem o valor f
g está presente, mas vazio
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo