HTTP consta de una serie de comandos mediante los cuales hace posible la conexión y la transacción. Yo les mostraré los 2 principales y los más importantes: GET y POST
Funcionamiento de un navegador
Para comenzar con la explicación primero tenemos que entender cómo funciona un navegador, que es la aplicación que nos permite conectarnos a un sitio web y ver su contenido.Antes de presentarnos el contenido tal como lo vemos, el navegador realiza una "traducción", o más bien una interpretación del código HTML de la página para convertirlo en contenido legible para nuestra vista.
El código HTML consta de una serie de etiquetas encerradas entre < y > que cumplen diferentes funciones como darle un color, un estilo, un tamaño o una posición específica a una palabra, una imagen o algún otro objeto.
El navegador, mediante una serie de comandos (GETs y POSTs), se conecta al servidor de dicha web y le realiza una petición para que este le envíe el código HTML que es leído de los archivos .html que están dentro del sitio web (host). Entonces, si los comandos enviados son correctos, el servidor web accede a enviarle el código HTML. Y allí es cuando el navegador realiza su función de "traductor", intepretando las etiquetas HTML y conviertiendo el contenido que sea legible para nuestra vista.
Entonces es mediante estos comandos que el navegador interactúa con el servidor web para requerirle una página.
GET
Principalmente mediante este comando el navegador le pide al sitio que le envíe el código HTML para interpretarlo.Aquí un ejemplo del comando GET que envía al servidor web:
Código:
GET / HTTP/1.1
Host: sitioweb.com
POST
Este comando es utilizado para enviar datos al sitio web.Los datos que se envían al sitio web son intepretados o procesados por funciones PHP, o de algún otro lenguaje de programación del lado del servidor, declaradas junto con el código HTML o en páginas aparetes dentro del sitio web.
Aquí un ejemplo del comando POST:
Código:
POST / HTTP/1.1
User-Agent: Mozilla/4.0
Host: sitioweb.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 29
user=usuario&pass=contrasenia
·POST / HTTP/1.1 Indica que se va a postear o enviar datos a la página principal del sitio web. También podría colocar /mensaje.php si fuera a enviar datos al archivo PHP llamado "mensaje.php" que se encuentre en la carpeta raíz del sitio. HTTP/1.1 indica la versión del protocolo http.
·User-Agent: Mozilla/4.0 Indica el navegador que estoy usando para conectarme. En este caso es la versión 4.0 de Mozilla Firefox. Podría colocar cualquier otro o inventarme uno.
·Host: sitioweb.com Indica el host, es decir la dirección del sitio web. Es necesaria.
·Content-Type: application/x-www-form-urlencoded Está indicando el tipo de contenido que voy a enviar. En este caso estoy enviando datos a un formulario (form), los cuales serán procesado por PHP.
·Content-Length: 29 Es el tamaño de los datos que estoy enviando. En este caso son la cantidad de letras que estoy enviando.
·user=usuario&pass=contrasenia Esto son los datos que estoy enviando. Los datos son "usuario" y "contrasenia", lo que declaré delante de estos son los nombres de las variables, por así decirlo, que el sitio me pide para procesar los datos dentro de estas. Los nombres de estas "variables" (user y pass) son declarados en el formulario creado en HTML (lo veremos más adelante).
En pocas palabras, lo que aquí le estoy diciendo al servidor web es que a "user" le doy el valor "usuario" y a "pass" le doy el valor "contrasenia", y el sitio luego procesará estos datos o variables para realizar las acciones correspondientes con estos. Lo formularios utilizados para registrarte dentro de un sitio web cumplen con esta función.
Ejemplo
Aquí un ejemplo de un formulario creado con código HTML:Código
Ejemplo de conexión usando GET mediante telnet:
Código:
telnet sitioweb.com 80
GET / HTTP/1.1
Host: sitioweb.com
[ENTER]
Ejemplo de conexión usando POST mediante telnet:
Código:
telnet sitioweb.com 80
POST /mensaje.php HTTP/1.1
User-Agent: Mozilla/4.0
Host: sitioweb.com
Content-Type: application/x-www-form-urlencoded
Content-Length:
nombre=eduardo&mensaje=hola%20soy%20eduardo&mail=eduardito%40hotmail%2ecom
[ENTER]
Nota: Aquí termina el tutorial. Las dudas las pueden consultar por mensaje privado o envianome un mail. Lamento los errores de ortografía. Espero que les sirva.