HTTP-protokolla tukee varsin helppoa ja järkevää tapaa pakata siirrettävää dataa siten, että serveri vetää lähtevän sivun zippiin ja selain purkaa sen. Oudointa on se, että selaimet tukevat tätä. Tai no okei, vielä oudompaa on se, että käyttö on silti niinkin harvinaista (ja työvälineet niinkin ankeita). Hyödyt ovat nimittäin aika huikeat: Html ja teksti yleensäkin on varsin hulppeaa pakkautumaan. Tässä pari pointteria asiaan liittyen.
Hyviä pakkausratkaisuja löytyy sekä IIS:lle että Apachelle. IIS:llä olen testaillut httpZipiä, mutta myös PipeSpeediä on kehuttu. IIS5:n sisäistä pakkausta ei ole kovin ruusuisesti arvosteltu, kutosessa on kuulemma otettu jo muutama askel eteenpäin. Apachella mod_gzip hallitsee.
Client-päässä selaimet hoitavat homman hyvin itsekin, ainakin kunhan pöydällä on riittävän uusi selain. IE 4+ hoitaa homman Windowsilla (Macilla täytyy mennä 5.x-sarjaan), Netscape 6+ (tai 4.06+, jos pari bugia ei kirpaise) ja Opera 5+ tukevat pakkausta (tai oikeastaan purkua) suoraan. Selaintukea voi testata Http-trace-sovelluksella, joka näyttää selaimen lähettämät otsakkeet. Jos "Accept_Encoding"-kohdassa on gzip tai deflate, pakkausta tuetaan.
Erillistä softaa tarvitaan asiakaspuolelle oikeastaan vain silloin, kun rakennellaan omia koneellisia hakusysteemeitä. Tämä problematiikka riippuukin sitten ihan ympäristöstä. Microsoftin .netillä malliratkaisut ovat yleensä aika SOAP-orientoituneita, mutta voi niitä käyttää muutenkin. Täytyy jonain päivänä tehdä oikeasti siisti ja dokumentoitu toteutus tuosta, mutta siihen asti tyydyn postaamaan nämä kaksi linkkiä: zhttp ja Retrieving Data from Web Services using Standard HTTP 1.1 Compression. Ja kiroamaan sitä, miten tuo pakkauksen tuki Http-haussa on jäänyt Microsoftilta niin kesken.
Posted by Jouni Heikniemi at 01.02.04 10:08