Siedrix

RSS Twitter

Php Headers

Cuando Apache procesa un archivo de Php lo primero que se llega a imprimir son los headers de un archivo de HTML para que el browser pueda entender que el archivo es una pagina de Internet. Estos headers nos permiten controlar la manera de que un archivo es almacenado en cache o no.

El uso de headers es una herramienta bastante poderosa por que nos permite redireccionar una pagina de Internet a otra utilizando:

header("Location: http://www.destination.com/somethingelse");

Al complementar este header con un el header de 301 redirect nos permitirá controlar la manera que nuestro sitio es indexado en los buscadores y evitar tener url que no existan en nuestro sitio.

header("HTTP/1.1 301 Moved Permanently");

Algo muy importante es el hecho de que cambiando el header podemos hacer que nuestro archivo de php no sea interpretado como XML, json, javascript o CSS, lo cual nos permite hacer querys y cargar información de un usuario dentro de estos archivos, utilizar ciclos o cualquier cosa que se nos ocurra.

Por ejemplo, podríamos tener un archivo index.html como este:

<html>
<head>
<script src="test.php" type="text/javascript"></script>
</head>
<body>
... un poco de html...
</body>
</html>

Estamos incluyendo un script de javascript que tiene terminación de .php, deberemos de empezar con un header de javascript y podremos generar un archivo que sea interpretado como javascript por nuestro navegador.

header("Content-type: application/x-javascript");
?>
alert('');

Al entrar a la pagina index.html podremos ver como apache procesa nuestro archivo test.php y envía la alerta “hola”.

Related posts:

  1. Como crear un bookmarklet
  2. Usando librerias de jQuery…
  3. Jugando con Server Side Javascript
  4. HTML Scrapping con jQuery y Node.js
  5. Mis primeros pasos en Extensiones de Chrome

3 Comments to Php Headers

  1. April 7, 2010 at 12:40 pm | Permalink

    La funcion principal de los headers es modificar digamos los metadatos de una peticion HTTP, PHP al modificar un header se le idica al servidor(apache) las cabeceras(headers) que devera de responder a la peticion, el cliente http por lo generar un web browser interpreta estos headers y define como tratara el archivo que esta recibiendo, por defecto PHP se utiliza para servir paginas web HTML’s.

    A nuestro explorador nunca llega un PHP si no el resultado del proceso el cual por lo general es un HTML, aunque bien esto es por lo general se puede servir cualquier tipo de archivo que se nos ocurra, por ejemplo al ultilizar la libreria GD podemos hacer quen nuestro PHP envié como respuesta al servidor una imagen jpg y este a su ves lo envie al cliente.

    El explorador antes que nada recibe las cabeceras en las que se indica el tipo de archivo que se esta recibiendo si este esta entre los mimes que soporta o de los plugins que tiene agregado lo mostrara o llamara al puglin en cuestión esto ya es como trata las respuestas el browser, si no conoce el tiempo mime indicado en el header regularmente se llama al cuadro de dialogo guardar para iniciar la descarga.. (asì es como se forza la descarga de archivos como html o imágenes)

  2. December 25, 2011 at 4:22 pm | Permalink

    Que tipo de headers se pueden usar para enviar archivos grandes con php al cliente?

    gracias

Deja tu Opinión

Puedes agregar tags de HTML como: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">