Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET

Explanações sobre o que é URI, URL, URN e conferindo na prática algumas diferenças entre POST e GET com PHP e HTML. Também tem um teste que verifica algumas diferenças entre POST e GET, um teste simples dos limites de caracteres que alguns navegadores suportam na barra de endereços e um teste simples de velocidade das solicitações POST e GET.

[ Hits: 3.949 ]

Por: Buckminster em 30/04/2024


Códigos dos Testes



Com os códigos dos dois arquivos a seguir podemos ver algumas diferenças entre os métodos POST e GET quando submetemos um formulário HTTP.

A tag "method" do HTML suporta somente os métodos GET e POST, para os demais métodos você deve criar as requisições via outras linguagem de programação (PHP, Java, etc).

Não entrarei aqui em detalhes sobre validação e sanitização de dados, pois não é o escopo, além disso, não se faz necessário para os presentes testes.

filtro.html:

<!DOCTYPE html>
<html>
    <head>
        <meta lang="pt-br" charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Filtro</title>
    </head>
    <body>
        <form action="filtro.php" method="post" id="iform" name="iform">
            <input type="text" id="usuario" name="usuario" placeholder="Username" autofocus="autofocus">
            <input type="password" id="senha" name="senha" placeholder="Password">
            <button type="submit" id="botao" name="botao">Login</button>
        </form>
    </body>
</html>

filtro.php:

<?php
if(filter_input(INPUT_SERVER, 'REQUEST_METHOD')==='POST'):
    echo 'filter_has_var: INPUT_SERVER campo REQUEST_METHOD corresponde',PHP_EOL,PHP_EOL;
    echo '<pre>';
        //print_r($_SERVER);
        print_r(filter_input_array(INPUT_SERVER));
        //print_r(filter_input(INPUT_SERVER, 'REQUEST_METHOD'));
        echo '</pre>';
    $usuariop = filter_input(INPUT_POST, 'usuario', FILTER_UNSAFE_RAW);
    $usuariog = filter_input(INPUT_GET, 'usuario', FILTER_UNSAFE_RAW);
    //$senhap = filter_input(INPUT_POST, 'senha', FILTER_UNSAFE_RAW);
    //$senhag = filter_input(INPUT_GET, 'senha', FILTER_UNSAFE_RAW);
    echo 'var_dump(usuariopost)-corresponde: ';var_dump($usuariop); echo '<br>';
    echo 'var_dump(usuarioget)-corresponde: '; var_dump($usuariog); echo '<br><br>';
    echo 'echo usuariopost-corresponde: ' . $usuariop . '<br>';
    echo 'echo usuarioget-corresponde: ' . $usuariog . '<br><br>';
else:
    echo 'filter_has_var: INPUT_SERVER campo REQUEST_METHOD não corresponde',PHP_EOL,PHP_EOL;
    echo '<pre>';
        //print_r($_SERVER);
        print_r(filter_input_array(INPUT_SERVER));
        //print_r(filter_input(INPUT_SERVER, 'REQUEST_METHOD'));
    echo '</pre>';
    $usuariop = filter_input(INPUT_POST, 'usuario', FILTER_UNSAFE_RAW);
    $usuariog = filter_input(INPUT_GET, 'usuario', FILTER_UNSAFE_RAW);
    //$senhap = filter_input(INPUT_POST, 'senha', FILTER_UNSAFE_RAW);
    //$senhag = filter_input(INPUT_GET, 'senha', FILTER_UNSAFE_RAW);
    echo 'var_dump(usuariopost)-não corresponde: ';var_dump($usuariop); echo '<br>';
    echo 'var_dump(usuarioget)-não corresponde: '; var_dump($usuariog); echo '<br><br>';
    echo 'echo usuariopost-não corresponde: ' . $usuariop . '<br>';
    echo 'echo usuarioget-não corresponde: ' . $usuariog . '<br><br>';
endif;
// Fora do if-else
$usuariop = filter_input(INPUT_POST, 'usuario', FILTER_UNSAFE_RAW);
$usuariog = filter_input(INPUT_GET, 'usuario', FILTER_UNSAFE_RAW);
echo 'var_dump(usuariopost)-final: ';var_dump($usuariop); echo '<br>';
echo 'var_dump(usuarioget)-final: '; var_dump($usuariog); echo '<br><br>';
echo 'print_r post: ';print_r($usuariop); echo '<br>';
echo 'print_r get: ';print_r($usuariog); echo '<br><br>';

Na próxima seção temos as execuções dos arquivos.

Página anterior     Próxima página

Páginas do artigo
   1. Entendendo o que é URI, URL, URN
   2. POST e GET
   3. Códigos dos Testes
   4. Execução dos Testes 1
   5. Execução dos Testes 2
   6. Código do Teste de Tempo
   7. Tempo de Solicitação 1
   8. Tempo de Solicitação 2
   9. Conclusão
Outros artigos deste autor

VMD no Debian - Instalação e configuração

Manual do IPtables - Comentários e sugestões de regras

Atualizar o macOS no Mac - Opencore Legacy Patcher

Instalar OBS Studio e VLC no Slackware 15

Como ter o ChatGPT no seu site em PHP

Leitura recomendada

A simples classe Date Operations

Gerando gráficos com PHP e highcharts.com

Lista de extensões preferidas para Joomla!

Uma introdução à biblioteca GD

Requisições assíncronas em PHP usando AJAX - Parte I

  
Comentários
[1] Comentário enviado por maurixnovatrento em 23/06/2024 - 23:35h

Excelente artigo e bem completo.

______________________________________________________________________
Inscreva-se no meu Canal: https://www.youtube.com/@LinuxDicasPro
Repositório GitHub do Canal: https://github.com/LinuxDicasPro
Grupo do Telegram: https://t.me/LinuxDicasPro
Meu GitHub Pessoal: https://github.com/mxnt10


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts