HTTP/Recursos/Negociación de contenido

  • Content Type negotiation
  • Se especifica de como interpretar la información
  • Poder evaluar las múltiples representaciones de la url
  • Esta no solo se encarga de saber en que idioma te está pidiendo el requisito sino también de evaluar los tipos de lenguajes y que esta te traiga lo que buscaste sin importar que no sean del mismo formato

lenguajes idiomas

editar
  • html *ingles
  • pdf * francés
  • texto *español
  • los clientes podrán especificar los tipos que el aceptara, también escogen el tiempo medio de ser escogidos.

las páginas web o web server tienen que manejar todo este tipo de negociaciones ya que constantemente se están haciendo transacciones en muchos lenguajes

Ejemplo: tú con una petición en Javascript puedes traer algo en una representación JSON

Creamos un fichero json de prueba “datos.json” con el siguiente contenido:

{
"dato": "Esto es un dato simple",
"primos": [ 1, 2, 3, 5, 7, 11, 13 ]
}

Ponemos el fichero en la raíz del servidor, para que sea accesible mediante la url “/datos.json”. A continuación, lo leemos con una función “lee_json()” que hace uso del método getJSON de la librería JQuery:

<html>
<head>
<title>Prueba de lectura de datos en formato JSON</title>
<script type="text/javascript" src="/control/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
function lee_json() {
    $.getJSON("/datos.json", function(datos) {
        alert("Dato: " + datos["dato"]);
        $.each(datos["primos"], function(idx,primo) {
            alert("Numero primo: " + primo);
        });
    });
}
</script>
</head>
<body onload ="lee_json();">
</body>
</html>

Como vemos, en el ejemplo también estamos haciendo uso del método “each” para recorrer el array presente en el fichero leído.