TE
Penggunaan
Header TE memungkinkan klien menyampaikan preferensi transfer encoding kepada server. Server menggunakan informasi ini untuk memilih pengodean yang sesuai bagi Transfer-Encoding dari badan respons.
Pada HTTP/1.1, transfer encoding chunked selalu didukung secara implisit dan tidak perlu dicantumkan dalam header TE. Header ini terutama melayani dua tujuan: mengumumkan dukungan terhadap algoritma Compression tambahan (gzip, deflate, compress) yang diterapkan pada tingkat transfer, dan menandakan dukungan terhadap field Trailer.
Nilai trailers sangatlah penting. Tanpa klien yang menyatakan TE: trailers, server tidak memiliki jaminan bahwa klien memproses field trailer, bahkan ketika responsnya menggunakan pengodean chunked. Field trailer membawa metadata seperti checksum atau tanda tangan digital yang dilampirkan setelah badan pesan.
Setiap direktif pengodean menerima nilai kualitas (q) opsional dengan rentang 0 hingga 1, di mana nilai yang lebih tinggi menyatakan preferensi yang lebih kuat. Ketika tidak ada nilai kualitas, server memperlakukan preferensi tersebut sebagai 1.
Catatan
Pada HTTP/2 dan HTTP/3, satu-satunya nilai yang diterima untuk header TE adalah trailers. Pengodean pada tingkat transfer ditangani oleh lapisan framing protokol.
trailers
Direktif trailers menandakan bahwa klien menerima field Trailer dalam transfer encoding chunked. Nilai ini tidak ikut serta dalam pemeringkatan nilai kualitas.
gzip
Direktif gzip menunjukkan bahwa klien mendukung pengodean Lempel-Ziv (LZ77) dengan CRC 32-bit pada tingkat transfer.
deflate
Direktif deflate menunjukkan bahwa klien mendukung data terkompresi zlib pada tingkat transfer.
compress
Direktif compress menunjukkan bahwa klien mendukung kompresi Lempel-Ziv-Welch (LZW) pada tingkat transfer.
q (nilai kualitas)
Parameter q menetapkan bobot relatif bagi setiap preferensi pengodean. Nilainya berkisar dari 0 (tidak dapat diterima) hingga 1 (paling disukai). Server menggunakan nilai kualitas untuk memilih transfer encoding terbaik.
Contoh
Sebuah klien mengumumkan dukungan terhadap field trailer dan transfer encoding deflate. Nilai kualitas 0,5 memberi deflate prioritas yang lebih rendah dibandingkan nilai bawaan implisit 1 untuk pengodean lain yang dicantumkan.
TE: trailers, deflate;q=0.5
Sebuah klien lebih menyukai transfer encoding gzip dan juga menerima transfer compress dengan prioritas lebih rendah.
TE: gzip, compress;q=0.7
Sebuah klien hanya menandakan dukungan trailer. Ini adalah bentuk standar yang digunakan pada koneksi HTTP/2.
TE: trailers