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: 6.246 ]

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

Compilação e instalação do Vim e habilitando a copiar e colar com o mouse

Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla

Instalação do PostgreSQL, Apache2 e PHP8 no Debian Buster 10 e no Stretch 9

Instalar e Configurar o Slackware Linux em 2025

Como ter o ChatGPT no seu site em PHP

Leitura recomendada

Ninguém planeja fracassar, mas muitos fracassam por não planejar

Migração de dados no Joomla

Gráficos em PHP Highcharts

Desenvolvendo um componente de calendário dinâmico em PHP

Instalação do MediaWiki em uma Project web do SourceForge

  
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