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 »
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
Nazwa padła ofiarą szantażystów, inni polscy hosterzy też zagrożeni?
22
Darmowy Internet od Aero2. Jak go zdobyć i jakie są prawdziwe koszta? Instrukcja krok po kroku
11
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
17
Premiera Diablo 3 wzbudziła dyskusję na temat gier, które zawsze chcą być online
19
Nowy problem z Windows 8: bootuje się za szybko
10
Amerykańscy rodzice straszeni „e-narkotykami” dostępnymi w Sieci
21
Anonymous upubliczniają 1,7 GB danych wykradzionych Departamentowi Sprawiedliwości USA
12
Blueseed: libertariańska sztuczna wyspa przyciągnęła już ponad sto startupów z całego świata
8
Rewolucja w Firefoksie, nowa łatka czterokrotnie ograniczyła zużycie pamięci
20
Darmowy Internet od Aero2. Jak go zdobyć i jakie są prawdziwe koszta? Instrukcja krok po kroku
11
CVDazzle: makijaż jest w stanie pokonać automatyczne systemy ulicznego monitoringu
3
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
17
Ubuntu 12.04 LTS już dostępny: stabilna dystrybucja na następne pięć lat?
28
Zostań webmasterem polskiego rządu, zarobisz na komfortowe życie dla siebie i swojej rodziny
33
Społeczność
xyz @bartez® : Uważasz, że Apple nie ogranicza programistów? buahahaha
anga star za droga ludzie wy myślicie!?Jestem 4 klasistką rodzice się nigdy nie...
Jan Zwyczajnych filmów tak kręcić się nie da co najwyżej krótkie scenki jak w...
piotrek____ @asdfgh - yup, też tak sądzę.
Tak jak wtedy ten przeciek o żołnierzu...
gonzales Javowcy pozdrawiają dotnetowców xD
kaziks Galaxy S II - u mnie po aktualizacji Firefox działa strasznie zacina się...
Doniek Szkoda że strona z demo nie działa - non stop się przeładowuje
- Najdmen.pl: Konta www z wyłączonym licznikiem transferu od IONIC.pl (1)
- 2BE.PL: [Oferta] Promocja jak złoto w 2BE.PL (1)
- 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)
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