Baseline Widely available
La cabecera Transfer-Encoding
especifica la forma de codificación utilizada para transferir de forma segura el cuerpo de carga útil al usuario.
Nota: HTTP/2 prohÃbe todos los usos de la cabecera Transfer-Encoding que no sean los especÃficos de HTTP/2: "trailers"
. HTTP 2 proporciona sus propios mecanismos más eficientes para la transmisión de datos que la transferencia fragmentada y prohÃbe el uso de la cabecera. El uso de la cabecera en HTTP/2 puede dar como resultado un error de protocolo
especÃfico, ya que el protocolo HTTP/2 prohÃbe su uso.
Transfer-Encoding
es una cabecera salto por salto, que se aplica a un mensaje entre dos nodos, no a un recurso en sà mismo. Cada segmento de una conexión de múltiples nodos puede usar diferentes valores de Transfer-Encoding
. Si desea comprimir datos en toda la conexión, use la cabecera de extremo a extremo Content-Encoding
en su lugar.
Cuando está presente en una respuesta a una solicitud HEAD
que no tiene cuerpo, indica el valor que se habrÃa aplicado al mensaje GET
correspondiente.
Transfer-Encoding: chunked
Transfer-Encoding: compress
Transfer-Encoding: deflate
Transfer-Encoding: gzip
// Se pueden enumerar varios valores, separados por una coma.
Transfer-Encoding: gzip, chunked
Directivas
chunked
Los datos se envÃan en una serie de fragmentos. La cabecera Content-Length
se omite en este caso y al comienzo de cada fragmento debe agregar la longitud del fragmento actual en formato hexadecimal, seguido de '\r\n
' y luego el fragmento en sÃ, seguido de otro '\r\n
'. El fragmento de terminación es un fragmento regular, con la excepción de que su longitud es cero. Le sigue el avance, que consiste en una secuencia (posiblemente vacÃa) de campos de cabeceras de entidad.
compress
Un formato usando el algoritmo Lempel-Ziv-Welch (LZW). El nombre del valor se tomó del programa de compresión UNIX, que implementó este algoritmo. Al igual que el programa de compresión, que ha desaparecido de la mayorÃa de las distribuciones de UNIX, esta codificación de contenido no es utilizada por casi ningún navegador en la actualidad, en parte debido a un problema de patente (que expiró en 2003).
deflate
Usando la estructura zlib (definida en la RFC 1950), con el algoritmo de compresión deflate (definido en la RFC 1951).
gzip
Un formato usando la codificación Lempel-Ziv (LZ77), con un CRC de 32 bits. Este es originalmente el formato del programa gzip de UNIX. El estándar HTTP/1.1 también recomienda que los servidores que admiten esta codificación de contenido deben reconocer como un alias x-gzip
, para fines de compatibilidad.
La codificación fragmentada es útil cuando se envÃan grandes cantidades de datos al cliente y el tamaño total de la respuesta puede no conocerse hasta que la solicitud se haya procesado por completo. Por ejemplo, al generar una tabla HTML grande como resultado de una consulta a la base de datos o al transmitir imágenes grandes. Veamos un ejemplo de una respuesta fragmentada:
HTTP/1.1 200 OK
Content-Type: text/plain
Transfer-Encoding: chunked
7\r\n
Mozilla\r\n
11\r\n
Developer Network\r\n
0\r\n
\r\n
Especificaciones Compatibilidad con navegadores Véase también
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4