¿Cuál es el tipo de contenido JSON correcto?

Content-Type es un encabezado HTTP que se usa para indicar el tipo de medio del recurso y, en el caso de las respuestas, le dice al navegador cuál es realmente el tipo de contenido del contenido devuelto. En caso de requests POST o PUT, el cliente le informa al servidor sobre el tipo de datos enviados.
Para saber sobre el tipo de contenido que el navegador va a encontrar, hace un olfateo MIME. MIME o Multipurpose Internet Mail Extension es una especificación para archivos adjuntos de correo electrónico que no son de texto. Permite que el cliente de correo o el navegador web envíe y reciba diferentes formatos de archivo como un archivo adjunto en el correo electrónico. Para recibir una solicitud JSON, es importante mencionar o informar al navegador sobre el tipo de solicitud que va a recibir. Así que configuramos su tipo MIME mencionándolo en el tipo de contenido. Podemos hacer lo mismo de dos maneras:  

  • Tipo MIME: aplicación/json
  • Tipo MIME: aplicación/javascript

Tipo MIME: application/json 
Se utiliza cuando no se sabe cómo se utilizarán estos datos. Cuando la información se va a extraer solo del servidor en formato JSON, puede ser a través de un enlace o de cualquier archivo, en ese caso se utiliza. En esto, el lado del cliente solo obtiene los datos en formato JSON que se pueden usar como un enlace a los datos y se pueden formatear en tiempo real mediante cualquier marco de front-end. 
 

  • Ejemplo: en este ejemplo, el tipo MIME es application/json , ya que solo extrae el diccionario de esa variable, lo pone en formato JSON y lo muestra. 
     

php

<?php
// Setting the header
header('Content-Type:application/json');
 
// Initializing the directory
$dir =[
    ['Id'=> 1, 'Name' => 'Geeks' ],
    ['Id'=> 2, 'Name' => 'for'],
    ['Id'=> 3, 'Name' => 'Geeks'],
      ];
// Shows the json data
echo json_encode($dir);
?>
  • Producción: 
     
[{"Id":1, "Name":"Geeks"}, {"Id":2, "Name":"for"}, {"Id":3, "Name":"Geeks"}]

Tipo MIME: application/javascript 
Se utiliza cuando el uso de los datos está predefinido. Lo utilizan las aplicaciones en las que hay llamadas de las aplicaciones ajax del lado del cliente. Se utiliza cuando los datos son de tipo JSON-P o JSONP. La notación de objetos JSONP o JavaScript con relleno se usa cuando la API está envuelta en una llamada de función. La función se define en el código JavaScript del lado del cliente y la API se le pasa como un parámetro y, por lo tanto, actúa como un código JavaScript ejecutable.
 

  • Ejemplo: en este ejemplo, el tipo MIME es aplicación/javascript, ya que solo extrae el diccionario de una variable, lo extrae en formato JSON y luego lo envía como parámetro a una llamada de función en el lado del cliente. 
     

php

<?php
 
// Using application/javascript
header('Content-Type:application/javascript');
$dir =[
    ['Id'=> 1, 'Name' => 'Geeks' ],
    ['Id'=> 2, 'Name' => 'for'],
    ['Id'=> 3, 'Name' => 'Geeks'],
      ];
 
// Making a function call to the client side 
// using Function_call()
// Sending JSON data as a parameter to client.
echo "Function_call(".json_encode($dir).");";
 
?>
  • Producción: 
     
Function_call([{"Id":1, "Name":"Geeks"}, {"Id":2, "Name":"for"}, 
{"Id":3, "Name":"Geeks"}])

Se recomienda usar application/json en lugar de application/javascript porque los datos JSON no se consideran un código javascript. Es un estándar y, por lo tanto, recibe un tipo de contenido separado como, por ejemplo, application/json
 

Publicación traducida automáticamente

Artículo escrito por piyush25pv y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *