¿Por qué el navegador agrega o reemplaza el juego de caracteres de tipo Contenido con UTF-8 al realizar una solicitud XMLHttpRequest?

“Charset = binary” es un valor de juego de caracteres no válido (juego de caracteres).

En la última edición del algoritmo de método de envío (cuerpo) XMLHttpRequest Standard, el encabezado de solicitud ‘Content-Type’ se establece automáticamente a partir de la naturaleza del valor del cuerpo enviado

Documento:

Si body es un documento HTML, establezca Content-Type en ` text/html , y configure Content-Type en ` application/xml contrario. Luego agregue ` ;charset=UTF-8 8` a Content-Type .

Cuerda:

Si el cuerpo es una cadena, establezca la codificación en ` UTF-8 8` .

Establezca el cuerpo de la solicitud y el Tipo de contenido en el resultado de extraer el cuerpo.

cuando la forma en que se extrae el cuerpo ahora se define en el Estándar API Fetch

  • Blob utiliza el tipo de contenido del blob (por defecto application / octet-stream)
  • Form-data generará un ‘multipart / form-data’ con UTF-8 para charset
  • URLSearchParams generará ` application/x-www-form-urlencoded;charset= UTF-8 application/x-www-form-urlencoded;charset= .
  • USVString generará ` text/plain;charset=UTF-8 8`.

luego

Si Content-Type no es nulo y los encabezados de solicitud de autor no contienen encabezado llamado ` Content-Type Type`, agregue ` Content-Type Type` / Content-Type a los encabezados de solicitud de autor.

De lo contrario, si el encabezado llamado ` Content-Type Type` en encabezados de solicitud de autor tiene un valor que es un tipo MIME válido , que tiene un parámetro ` charset cuyo valor no es una coincidencia entre mayúsculas y minúsculas para la codificación, y la codificación no es nula, luego establezca todos los parámetros ` charset cuyo valor no sea una coincidencia entre mayúsculas y minúsculas para la codificación del valor de ese Content-Type ` Content-Type Type` a codificación.

El método setRequestHeadet (nombre, valor) combina el encabezado proporcionado con los encabezados de solicitud del autor.

Más sobre charsets en la web

El valor de conjunto de caracteres predeterminado de HTML 3.2 era ISO Latin 1, también conocido como ISO-8859-1

El valor predeterminado de HTML 4.01 charset era ISO10646 también conocido como UCS (primer soporte predeterminado para Unicode)

Desde HTML5, se convirtió en UTF-8 , que es más liviano para el transporte que UTF-16.

Tenga en cuenta que en tiempo de ejecución en JavaScript, la cadena se convierte en UTF-16 o UCS-2.

Ver: https://mathiasbynens.be/notes/j…

UTF-8 e ISO-8859-1 son idénticos a ASCII para los valores de 0 a 127.

UTF-8 e ISO-8859-1 no utilizan los valores de 128 a 159.

UTF-8 e ISO-8859-1 son idénticos a ANSI para los valores de 160 a 255.

UTF-8 continúa desde el valor 256 con más de 10 000 caracteres diferentes.

More Interesting

Cómo ejecutar la misma aplicación Node.js que una aplicación de consola y también una aplicación de navegador

¿Cuáles son las mejores plataformas para aplicaciones web de bases de datos?

¿Cuál es la mejor pila de tecnología para una aplicación web en el dominio de finanzas?

¿MEAN stack es una buena dirección / aprender si quiero construir una aplicación web?

¿Cuál es el mejor marco en PHP para desarrollar el sistema ERP?

¿Cuáles son los ejemplos de pequeñas aplicaciones web o proyectos que los principiantes pueden hacer?

¿Qué son los componentes de la banda de polímero?

¿Qué algoritmos / herramientas de programación se utilizan para aplicaciones web basadas en análisis de texto como 'I Write Like' o '750Words'?

¿Cuál es la mejor aplicación que puede publicar en Facebook, Twitter, Google+, Tumblr y Pinterest al mismo tiempo?

Para la aplicación de rieles complejos, ¿cuál es el enrutamiento de recursos de patrón de aplicación de elección correcta o: controller /: action /: id?

¿Qué necesito aprender para crear un sitio de reserva de restaurante simple como toptable?

¿Cuál es la diferencia entre bit.ly y j.mp?

¿Cuáles son las aplicaciones web más impresionantes creadas por los estudiantes mientras asisten a escuelas de codificación como Flatiron School, Fullstack Academy, DigitalCrafts, MakerSquare, Hack Reactor, Dev Bootcamp, etc.?

Mi cliente me ha pedido que cree una aplicación personalizada para administrar su escuela. Esa aplicación debe sincronizar los datos con los servidores en línea siempre que Internet esté disponible. Sé algo de programación, un poco de PHP. ¿Qué lenguaje y herramientas pueden ayudarme a realizar la tarea rápidamente?

¿Qué servidor web utiliza HostGator para el alojamiento compartido?