Request: Cadenas de encabezado sensibles a mayúsculas y minúsculas

Creado en 24 mar. 2017  ·  3Comentarios  ·  Fuente: request/request

Hola,

Encontré un servidor web integrado en uno de mis dispositivos "IoT", que no se autentica mientras se usa el módulo de "solicitud" dentro de iobroker.javascript.

El problema es que esa solicitud envía el campo de encabezado de autorización en minúsculas. No sé, si está definido en RFC si el encabezado tiene que distinguir entre mayúsculas y minúsculas.

¿Es posible cambiar el archivo auth.js (y tal vez también otros) para que los campos de encabezado comiencen con letras mayúsculas y continúen con minúsculas como

Autorización

por ejemplo. Hay algunos otros ejemplos de este comportamiento, como el encabezado del host, etc.

| software | versión
| ---------------- | -------
| solicitud | 2.79.0
| nodo | 4.5.0
| npm | 3.10.8
| Sistema operativo | Ubuntu 14.04.5 LTS con kernel 3.16.0-44-generic # 59 ~ 14.04.1-Ubuntu

Saludos cordiales Uwe

Comentario más útil

Respetuosamente, creo que esto merece ser revisado. Es cierto que el RFC especifica encabezados que no distinguen entre mayúsculas y minúsculas, pero la realidad es que la mayoría de las personas no realizan pruebas con nada más que con los navegadores web comunes. El manejo de casos de los servidores http a menudo está fuera del control de los usuarios de esta biblioteca.

La mayoría de los navegadores utilizan encabezados en mayúsculas y minúsculas, lo más útil que podría hacer esta biblioteca sería emular las cadenas más utilizadas, por ejemplo, Host: not host: , Cookie: not cookie: . De esta manera, funcionará en todos los lugares donde funcionen nuestros navegadores. Unirse a la manada traerá una mejor compatibilidad (correcta o incorrectamente) y también tiene beneficios de privacidad.

Feliz de trabajar en un parche si es probable que sea aceptado, ¿piensas? Se podría marcar una característica para preservar la compatibilidad para las personas que prefieren minúsculas.

Todos 3 comentarios

Según las especificaciones de RFC, los encabezados HTTP no distinguen entre mayúsculas y minúsculas. Tendrá que configurar esos encabezados manualmente con la opción headers .

Un poco más sobre esto, porque surge mucho.

@simov es correcto, su servidor no cumple con las especificaciones. La especificación HTTP deja muy claro que los encabezados no deben distinguir entre mayúsculas y minúsculas.

En la solicitud, de forma predeterminada, en minúsculas para los encabezados que genera la solicitud, pero cuando establece los encabezados manualmente, preservamos la carcasa de esos encabezados para que pueda tratar con servidores que no cumplen con las especificaciones.

Deberá generar los encabezados de autenticación usted mismo y configurarlos con las funciones headers o setHeader en la solicitud si desea una carcasa específica. No es razonable que la solicitud cambie sus valores predeterminados para servidores que no cumplen con las especificaciones porque simplemente no hay forma de que ganemos, siempre habrá un servidor al que no le gusta un valor predeterminado en particular y no cumple con las especificaciones.

Respetuosamente, creo que esto merece ser revisado. Es cierto que el RFC especifica encabezados que no distinguen entre mayúsculas y minúsculas, pero la realidad es que la mayoría de las personas no realizan pruebas con nada más que con los navegadores web comunes. El manejo de casos de los servidores http a menudo está fuera del control de los usuarios de esta biblioteca.

La mayoría de los navegadores utilizan encabezados en mayúsculas y minúsculas, lo más útil que podría hacer esta biblioteca sería emular las cadenas más utilizadas, por ejemplo, Host: not host: , Cookie: not cookie: . De esta manera, funcionará en todos los lugares donde funcionen nuestros navegadores. Unirse a la manada traerá una mejor compatibilidad (correcta o incorrectamente) y también tiene beneficios de privacidad.

Feliz de trabajar en un parche si es probable que sea aceptado, ¿piensas? Se podría marcar una característica para preservar la compatibilidad para las personas que prefieren minúsculas.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

Guymestef picture Guymestef  ·  3Comentarios

ghost picture ghost  ·  3Comentarios

xin7c picture xin7c  ·  3Comentarios

mlegenhausen picture mlegenhausen  ·  4Comentarios

codecowboy picture codecowboy  ·  3Comentarios