HTML Minifier: co można zrobić z "przerośniętym" kodem HTML?
Osoby zainteresowane zminimalizowaniem HTML-owych plików w swojej witrynie mogą zerknąć na nowe narzędzie hakera używającego nicka Kangax. HTML Minifier to webowa aplikacja, która powstała na bazie parsera HTML stworzonoego przez Johna Resiga i pozwala na znaczne skompresowanie kodu poprzez wycięcie z niego zbędnych elementów.
HTML Minifier ma być docelowo praktyczną realizacją manifestu, który Kangax opublikował na swoim blogu pod koniec zeszłego roku. Uznał wówczas, że stan narzędzi do minimalizacji kodu HTML jest raczej marny – sporo można znaleźć oprogramowania do kompresji kodu JavaScriptu i CSS, ale dla HTML nie ma niczego dobrego, a to co jest dostępne, nie działa zbyt sensownie, zamieniając np. znaczniki <strong> w <b> – mimo że nie są one wymienne.
Przyczyną niewielkiego zaangażowania deweloperów w kwestię minimalizacji HTML jest zwykle niewielka opłacalność takich działań – przynajmniej w porównaniu do tego, co osiąga się dla JS i CSS. „Minimalizacja taka musi być realizowana na żądanie i niesie ze sobą pewien narzut” – pisze Kangax. Jedynie wówczas, gdy narzut jest mniejszy niż różnica w rozmiarach dokumentu oryginalnego i zminimalizowanego, praktyka ta ma sens.
Mimo to haker zdecydował się rozpocząć testy napisanego w JavaScripcie systemu minimalizacji kodu HTML, który miałby wbudowany mechanizm typu lint – znane z uniksów narzędzie do analizowania kodu pod kątem podejrzanych instrukcji czy najczęściej popełnianych prostych błędów wynikających z przeoczeń.
Narzędzie zbudowane jest na bazie parsera HTML-u napisanego przez Johna Resiga. Parser ten radzi sobie z całkiem złożonymi dokumentami, ale niektóre kwestie mu umykają – np. prologi z deklaracjami typu dokumentu, czy atrybuty, których wartości zawierają w swoich nazwach znak dywizu. Pojawiają się też problemy z obsługą komentarzy i sekcji CDATA. Wszystkie te usterki zostały usunięte w HTML Minifierze.
Nad parserem znajduje się niewielki (mający raptem 250 linii) skrypt, który na wejściu przyjmuje kod HTML i obiekt konfiguracyjny. Kodem tym „karmi” parser i na wyjściu generuje zminimalizowany kod zgodnie z zadanymi opcjami. Eliminowane są m.in. komentarze, zbędne spacje czy atrybuty boole'owskie. Jednak to nie one przyczyniają się w największym stopniu do nadmiernych rozmiarów dokumentów HTML.
«poprzednia 1 2 następna »
Polecamy
Reklama
Komentarze
Aby dodać komentarz, musisz podać swój nick, treść komentarza oraz poprawnie przepisać oba słowa z obrazka
(słowa muszą być rozdzielone spacją).
W treści komentarza można używać języka formatowania BBcode.
Popularne
Pobieraczek.pl pozwie internautów, którzy nie chcą płacić abonamentu
1455
Debata w sprawie ACTA: internauci spodziewali się chyba czegoś innego
14
PHP 5.3.9 nie pozwoli hakerom zawiesić serwera. Pozwoli za to przejąć nad nim kontrolę
28
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
15
Źle się dzieje z Chrome, ze stabilnością coraz gorzej. Gdzie się podziała słynna izolacja procesów?
26
Internet w EU bez Facebooka i Google? Firmy nie mają wyboru: albo się dostosują, albo…
10
Zaktualizuj PHP do wersji 5.4, zyskasz za darmo nawet o kilkudziesiąt procent wyższą wydajność aplikacji
6
MSWiA zamówiło narzędzia do „złamania” Tora i podsłuchiwania internautów. Czy złamało przy tym prawo?
89
[Aktualizacja] Facebook zablokował Demotywatory.pl. W czym zawiniły?
36
FBI zamknęło Megaupload. Anonimowi dali się sprowokować. Teraz ich akcja uzasadni potrzebę SOPA?
17
Pobieraczek.pl pozwie internautów, którzy nie chcą płacić abonamentu
1455
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
15
„Donald matole, twój rząd dopadną kibole” – hakerska elita przyłącza się do walki z ACTA
23
Klamka jeszcze nie zapadła. Minister prosi Donalda Tuska, by wstrzymał się z podpisywaniem ACTA
24
Społeczność
pankracy ale dla piratów to i tak chyba niewiele wnosi ponieważ ściągając...
elodi dziwaczny melanż prawa rzymskiego, brytyjskiego Common Law i systemu...
krm a mógł otworzyć europejska siedzibę w Polsce, tu z pewnością byłby...
chrisgl "Streaming data from Blender into Three.js (WebGL+Websockets)"
Jest kilka...
skurg "skurg jeżeli będą zaszyfrowane to czemu nie ??"
A skąd wiesz że są...
Marek Polski Tak samo jak można powierzać komukolwiek pocztę elektroniczną, pieniądze...
adaks skurg jeżeli będą zaszyfrowane to czemu nie ??
- gardius: Dobra hurtownia sportowa (1)
- gardius: Tanie książki gdzie warto kupować? (1)
- Najdmen.pl: PROMOCJA, 500 DOMEN .EU ZA 1 PLN NETTO ! (1)
- VMLine: [Oferta] Serwery VPS Xen-HVM/OpenVZ z darmową administracją (2)
- Marek: Generowanie PDFa (2)
- Marek: problem z menu (2)
- Marek: Własne checkboxy w HTML,CSS (1)
Polecane książki
Praca
Czytaj Webhosting
Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.
Zarejestruj domenę
Sprawdź dostępność swojej domeny:
| .pl: | 0 zł | .com: | 19.90 zł | |
|---|---|---|---|---|
| .com.pl: | 0 zł | .eu: | 19.90 zł |









#1 Peter Riley 2010-03-10 18:23:49 0
IP: 83.6.8.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.2 Safari/533.2
#2 eimi® 2010-03-10 19:10:35 0
IP: 95.160.206.[...] Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2) Gecko/20100213 Firefox/3.6
#3 BOM 2010-03-10 23:53:48 0
IP: 82.160.211.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2) Gecko/20100115 Firefox/3.6
#4 Iwoldan® 2010-03-11 00:05:57 0
IP: 94.254.128.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)
#5 jan 2010-05-13 22:53:47 0
IP: 83.24.83.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.19) Gecko/2010031422 Firefox/3.0.19
#6 nerkyl 2010-06-11 20:16:06 0
IP: 83.31.168.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.19) Gecko/2010031422 AskTbUT2V5/3.8.0.12304 Firefox/3.0.19
#7 tert 2010-07-09 21:21:01 0
IP: 83.31.166.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.19) Gecko/2010031422 AskTbUT2V5/3.8.0.12304 Firefox/3.0.19
#8 marek zegarek 2010-10-03 20:08:23 0
IP: 83.6.254.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.19) Gecko/2010031422 AskTbUT2V5/3.8.0.12304 Firefox/3.0.19
#9 merkl 2011-02-20 20:31:05 0
IP: 83.31.166.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.13) Gecko/20101203 AskTbUT2V5/3.9.1.14019 Firefox/3.6.13
#10 meruska 2011-07-20 20:59:02 0
IP: 83.24.83.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.18) Gecko/20110614 Firefox/3.6.18