HTTP kompresija
HTTP kompresija predstavlja sposobnost koja se može implementirati u web server i web klijent kako bi se bolje iskoristio dozvoljeni propusni opseg (eng. bandwight, prim. aut.) i omogućila veća brzina prenosa podataka između njih.

HTTP podaci se kompresuju pre početka slanja sa servera: internet pretraživač objavljuje serveru koje metode kompresije podržava pre nego što preuzme odgovarajući format; pretraživači koji ne podržavaju odgovarajuće metode kompresije će preuzeti nekompresovane podatke. Najčešća shema za kompresiju podrazumeva gzip i deflate, dok celu listu dostupnih shema održava IANA (Internet Assigned Numbers Authority). Pored toga, drugi developeri prave nove metode kompresije i uključuju ih u svoje proizvode (npr. Google je napravio SDCH shemu i implementirao je u svoj Google Chrome pretraživač i još neke Google servere).

Klijent/Server shema za kompresiju 

U većini slučajeva, ne računajući SDHC, saradnja se odvija u dva koraka, što je opisano u .
 Web klijent ukljucuje "Accept-Encoding" polje u svoj HTTP zahtev, u kome se nalaze imena podržanih shema za kompresiju (tzv. content-coding tokens)odvojenih zapetama.

 GET /encrypted-area HTTP/1.1
 Host: www.example.com
 Accept-Encoding: gzip, deflate
 Ako server podržava jednu ili više shema za kompresiju, podaci koji se šalju mogu se kompresovati pomoću jedne ili više metoda koje podržavaju obe strane. U tom slučaju, server će dodati "Content-Encoding" polje u svom HTTP odgovoru u kome će stajati imena korisćenih shema, odvojenih zapetama. 

 HTTP/1.1 200 OK
 Date: Mon, 23 May 2005 22:38:34 GMT
 Server: Apache/1.3.3.7 (Unix)  (Red-Hat/Linux)
 Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
 Etag: "3f80f-1b6-3e1cb03b"
 Accept-Ranges: bytes
 Content-Length: 438
 Connection: close
 Content-Type: text/html; charset=UTF-8
 Content-Encoding: gzip

Web server nije u obavezi da koristi bilo koji metod kompresije - to zavisi od unutrašnjih podešavanja samog servera a može zavisiti i od unutrašnje arhitekture internet stranice o kojoj se radi.

U slučaju SDCH koristi se saradnja uz pomoć rečnika, što može uključiti i dodatne korake, kao na primer download potrebnog rečnika sa spoljnog servera.

Problemi koji sprečavaju upotrbu HTTP kompresije 

Clanak koji su 2009. godine objavili inženjeri Google- a Arvind Jain i Jason Glasgov navodi da se više od 99 godina izgubi svakog dana zbog povećanog vremena učitavanja stranice kada sadržaj koji korisnici prihvataju nije kompresovan. Ovo se dešava kada se anti- virus umeša u konekciju i onemogućava kompresiju, kada se koriste proksi serveri (kod preopreznih pretraživača), kada su serveri pogrešno konfigurisani i kada bagovi u pretraživaču onemogučavaju kompresiju. 
Internet Explorer 6, koji koristi HTTP 1.0 (bez dodataka kao što su HTTP kompresija ili pipelining), kada se koristi sa proksijem -uobičajena konfiguracija u korporativnom okruženju- bio je glavni krivac za korišćenje nekompresovanog HTTP-a.

Content-coding tokens 

 compress - UNIX "compress" metod za kompresiju
 deflate - zlib kompresija () bi trebalo da se koristi (u kombinaciji sa deflate kompresijom ()) kao što je opisano u . Međutim, implementacija u praksi varira između zlib kompresije i čiste deflate kompresije. Zbog toga se gzip pokazao kao pouzdaniji metod od martu 2011.
 exi - W3C XML format za kompresiju
 gzip - GNU zip format (opisan u ). Ovaj metod je najpodržaniji od marta 2011.
 identity - Nije potrebna nikakva transformacija. Ovo je podrazumevana vrednost za kodiranje sadržaja.
pack200-gzip - Format za Java Arhive 
 SDCH - Google-ov metod za kompresiju (Shared Dictionary Compression for HTTP)
 bzip2 - besplatan i open source algoritam za kompresovanje sadržaja bez gubitaka.
 PeerDist - Majkrosoftov metod za keširanje i vraćanje sadržaja (opisan u MS-PCCRPT)

Serveri koji podržavaju HTTP kompresiju 
 SAP NetWeaver
 Microsoft IIS: ugrađen ili koristi nezavisni modul
 Apache HTTP Server, preko mod_deflate (nasuprot imenu trenutno podržava samo gzip) ili mod_gzip
 Cherokee HTTP server - gzip i deflate kompresije
 Hiawatha HTTP server
 Oracle iPlanet Web Server
 Zeus Web Server
 lighttpd - preko mod_compress i novijeg mod_deflate (1.5.x)
 nginx - ugradjen
 Aplikacije zasnovane na Tornado web serveru - ako je "gzip" polje postavljeno na True u podešavanjima aplikacije
 Jetty web server
 GeoServer
 Apache Tomcat
 IBM Websphere

Kompresija HTTP-a može se postići i korišćenjem jezika za serversko skriptovanje kao što su PHP ili programskih jezika kao sto je Java.

Reference

Spoljašnje veze 
 : Hypertext Transfer Protocol - HTTP/1.1
 HTTP Content-Coding Values by Internet Assigned Numbers Authority
 Apache: mod_deflate & mod_gzip
 Compression with lighttpd
 Coding Horror: HTTP Compression on IIS 6.0 
 HTTP Compression: resource page by the founder of VIGOS AG, Constantin Rack
 Using HTTP Compression  by Martin Brown of Server Watch
 Using HTTP Compression in PHP 
 check http compression
 Dynamic and static HTTP compression with Apache httpd
 Browser HTTP Compression Test

Развој интернет софтвера
HTTP
Веб развој

de:Hypertext Transfer Protocol#HTTP-Kompression
HTTP kompresija predstavlja sposobnost koja se može implementirati u web server i web klijent kako bi se bolje iskoristio dozvoljeni propusni opseg ( eng. bandwight , prim. aut . ) i omogućila veća brzina prenosa podataka između njih . HTTP podaci se kompresuju pre početka slanja sa servera : internet pretraživač objavljuje serveru koje metode kompresije podržava pre nego što preuzme odgovarajući format ; pretraživači koji ne podržavaju odgovarajuće metode kompresije će preuzeti nekompresovane podatke . Najčešća shema za kompresiju podrazumeva gzip i deflate , dok celu listu dostupnih shema održava IANA ( Internet Assigned Numbers Authority ) . Pored toga , drugi developeri prave nove metode kompresije i uključuju ih u svoje proizvode ( npr . Google je napravio SDCH shemu i implementirao je u svoj Google Chrome pretraživač i još neke Google servere ) . Klijent / Server shema za kompresiju U većini slučajeva , ne računajući SDHC , saradnja se odvija u dva koraka , što je opisano u \. Web klijent ukljucuje " Accept-Encoding " polje u svoj HTTP zahtev , u kome se nalaze imena podržanih shema za kompresiju ( tzv. content-coding tokens ) odvojenih zapetama . GET / encrypted-area HTTP / 1.1 Host : www.example.com Accept-Encoding : gzip , deflate Ako server podržava jednu ili više shema za kompresiju , podaci koji se šalju mogu se kompresovati pomoću jedne ili više metoda koje podržavaju obe strane . U tom slučaju , server će dodati " Content-Encoding " polje u svom HTTP odgovoru u kome će stajati imena korisćenih shema , odvojenih zapetama . HTTP / 1.1OK Date : Mon,May22:38:34 GMT Server : Apache / 1.3.3.7 ( Unix ) ( Red-Hat / Linux ) Last-Modified : Wed ,Jan23:11:55 GMT Etag : " 3f80f-1b6-3e1cb03b " Accept-Ranges : bytes Content-Length : Connection : close Content-Type : text / html ; charset=UTF-8 Content-Encoding : gzip Web server nije u obavezi da koristi bilo koji metod kompresije - to zavisi od unutrašnjih podešavanja samog servera a može zavisiti i od unutrašnje arhitekture internet stranice o kojoj se radi . U slučaju SDCH koristi se saradnja uz pomoć rečnika , što može uključiti i dodatne korake , kao na primer download potrebnog rečnika sa spoljnog servera . Problemi koji sprečavaju upotrbu HTTP kompresije Clanak koji su godine objavili inženjeri Google- a Arvind Jain i Jason Glasgov navodi da se više odgodina izgubi svakog dana zbog povećanog vremena učitavanja stranice kada sadržaj koji korisnici prihvataju nije kompresovan . Ovo se dešava kada se anti- virus umeša u konekciju i onemogućava kompresiju , kada se koriste proksi serveri ( kod preopreznih pretraživača ) , kada su serveri pogrešno konfigurisani i kada bagovi u pretraživaču onemogučavaju kompresiju . Internet Explorer koji koristi HTTP0 ( bez dodataka kao što su HTTP kompresija ili pipelining ) , kada se koristi sa proksijem -uobičajena konfiguracija u korporativnom okruženju- bio je glavni krivac za korišćenje nekompresovanog HTTP-a . Content-coding tokens compress - UNIX " compress " metod za kompresiju deflate - zlib kompresija ( ) bi trebalo da se koristi ( u kombinaciji sa deflate kompresijom ( ) ) kao što je opisano u \ . Međutim , implementacija u praksi varira između zlib kompresije i čiste deflate kompresije . Zbog toga se gzip pokazao kao pouzdaniji metod od martu exi - W3C XML format za kompresiju gzip - GNU zip format ( opisan u ) . Ovaj metod je najpodržaniji od marta identity - Nije potrebna nikakva transformacija . Ovo je podrazumevana vrednost za kodiranje sadržaja. pack200-gzip - Format za Java Arhive SDCH - Google-ov metod za kompresiju ( Shared Dictionary Compression for HTTP ) bzip2 - besplatan i open source algoritam za kompresovanje sadržaja bez gubitaka . PeerDist - Majkrosoftov metod za keširanje i vraćanje sadržaja ( opisan u MS-PCCRPT ) Serveri koji podržavaju HTTP kompresiju SAP NetWeaver Microsoft IIS : ugrađen ili koristi nezavisni modul Apache HTTP Server , preko mod_deflate ( nasuprot imenu trenutno podržava samo gzip ) ili mod_gzip Cherokee HTTP server - gzip i deflate kompresije Hiawatha HTTP server Oracle iPlanet Web Server Zeus Web Server lighttpd - preko mod_compress i novijeg mod_deflate5.x ) nginx - ugradjen Aplikacije zasnovane na Tornado web serveru - ako je " gzip " polje postavljeno na True u podešavanjima aplikacije Jetty web server GeoServer Apache Tomcat IBM Websphere Kompresija HTTP-a može se postići i korišćenjem jezika za serversko skriptovanje kao što su PHP ili programskih jezika kao sto je Java . Reference Spoljašnje veze \ : Hypertext Transfer Protocol - HTTP / 1.1 HTTP Content-Coding Values by Internet Assigned Numbers Authority Apache : mod_deflate & mod_gzip Compression with lighttpd Coding Horror : HTTP Compression on IIS0 HTTP Compression : resource page by the founder of VIGOS AG , Constantin Rack Using HTTP Compression by Martin Brown of Server Watch Using HTTP Compression in PHP check http compression Dynamic and static HTTP compression with Apache httpd Browser HTTP Compression Test Развој интернет софтвера HTTP Веб развој de:Hypertext Transfer Protocol# HTTP-Kompression