Peramban mana yang menangani `Penyandian Konten: gzip` dan yang mana dari mereka yang memiliki persyaratan khusus mengenai kualitas penyandian?

44

Saya membuat server "buatan tangan" HTTP 1.0, 1.1. Saya baru-baru ini mengintegrasikan zip lib jadi sekarang saya dapat mengalirkan data gzip yang disandikan masuk dan keluar. Saya ingin tahu browser utama mana (yang hidup - IE6-IE10, Chrome, FF, dll) yang dikirim Accept-Encoding: deflate, gzip, ...dan dapat ditangani Content-Encoding: gziphari ini? Siapa di antara mereka yang mengirimkan harapan kualitas? Yang mana dari mereka yang dapat mengirim permintaan posting yang di-encode gziped dan data multi-form / form ke server saya?

pengguna1049847
sumber
1
Bukankah seharusnya Anda mengandalkan header Accept-Encoding? Atau Anda hanya bertanya karena penasaran?
Flimzy
@Flimzy Jika Anda menyimpan file yang telah dikodekan sebelumnya (yang mungkin Anda lakukan untuk mengurangi beban CPU, mengurangi penggunaan ruang disk, meningkatkan tingkat kompresi, atau karena Anda melayani file dari server yang sepenuhnya statis) , maka Anda tidak benar-benar memiliki kemewahan untuk mematuhi header Terima-Pengkodean. Jika Anda dapat mematuhi tajuk, tentu saja Anda harus melakukannya, tetapi mengingat dukungan yang hampir universal dari gzip saat ini, tidak masalah untuk membangun situs web Anda untuk memerlukan dukungan gzip.
Hayden Schiff
1
@haydenschiff tentu saja Anda masih dapat menghormati tajuk terima. Jika Anda menyimpan data yang di-gzip, Anda sudah siap untuk unzip untuk menyajikannya jika tajuk terima menentukan.
Flimzy

Jawaban:

49

Pada dasarnya setiap browser saat ini mendukung deflate / gzip. Halaman ini mencantumkan banyak browser dan nomor versi. Berikut ringkasan dan beberapa peramban yang lebih baru:

  • Netscape 6+ (Netscape 4-5 melakukannya, tetapi dengan beberapa bug).
  • Internet Explorer 5.5+ (Juli 2000) dan IE 4 jika diatur ke HTTP / 1.1.
  • Opera 5+ (Juni 2000)
  • Lynx 2.6+ (beberapa waktu sebelum 1999)
  • Firefox 0.9.5+ (Oktober 2001)
  • Chrome sejak selamanya
  • Safari sejak selamanya (sejauh yang saya tahu)

Seperti yang Anda lihat: selama hampir 15 tahun, ada dukungan penuh, dan tidak ada yang menggunakan browser yang berusia lebih dari 15 tahun.

oezi
sumber
1
+1 Saya agak bingung, karena ini sepertinya masalah yang tidak ada. @ user1049847 mungkin Anda perlu memperluas pertanyaan Anda di atas?
Su '19
3
Dan untuk menambahkan ini, tidak ada browser yang akan mengirim permintaan terkompresi gzip tetapi hampir semua menerima respons terkompresi gzip. Lihat " Mengapa browser tidak dapat mengirim permintaan gzip? " Di StackOverflow.
Marco Miltenburg
2
@Su 'benar - browser apa pun yang mendukung gzip akan mengirim header Terima-Pengkodean sehingga Anda tidak perlu peduli dengan browser mana yang mendukung ini. Kirim gzip ketika mereka memberi tahu Anda bahwa mereka dapat menerimanya.
DisgruntledGoat
12
Pertanyaannya relevan. Jika Anda menyajikan file statis dari Amazon S3, MS Azure, dan lainnya (seperti yang dilakukan banyak orang), Anda tidak akan dapat merespons secara dinamis tajuk penerimaan-enkoding. Mengompresi dengan cepat juga menambah beban pada CPU.
QFDev
1
@QFDev jika Anda menyajikan file statis, Anda dapat membuat satu versi yang di-gzip dan yang tidak dan memeriksa accept-encoding / gzip dan mengubah file statis yang disajikan sesuai.
JordanReiter