Rozmiar odpowiedzi wygenerowanej przez serwer internetowy i przesyłanej do przeglądarki klienta bezpośrednio przekłada się na czas, jaki upływa od kliknięcia do załadowania strony - a więc jest jednym z głównych czynników wpływających na zadowolenie użytkowników witryny. Nie bez znaczenia jest także wielkość obciążenia łącza generowanego przez każde żądanie HTTP.
Tworzenie aplikacji internetowych generujących niewielkie odpowiedzi nie jest zadaniem łatwym, jednak zastosowanie się do niżej wymienionych wskazówek z pewnością ułatwi optymalizację stron i pozwoli zapoznać się z dostępnymi środkami:
- Tworząc dynamiczne strony internetowe z wykorzystaniem ASP .NET i technologii Web Forms, należy oszczędnie posługiwać się mechanizmem ViewState. Mechanizm ten pozwala na wygodne przekazywanie stanu interfejsu użytkownika pomiędzy poszczególnymi przeładowaniami strony – dzięki temu programista nie musi dbać o np. wypełnianie pól tekstowych danymi wpisanymi przez użytkownika przed wysłaniem nowego żądania do serwera. Rozwiązanie to ma jednak swoją cenę – jest nią właśnie rozmiar odpowiedzi serwera. Cały stan interfejsu użytkownika jest zapisywany w ukrytym polu formularza, które może wyglądać np. w ten sposób: <input type="hidden" name="__VIEWSTATE" value="dDw2Mjk4NzIyMzA7Oz4M3tSAw+1M29Fs2+rEvMKIlI7szw==" />. W skrajnych przypadkach dane te mogą zajmować nawet kilka-kilkanaście KB, dlatego należy dbać, aby nie przechowywać stanu elementów, dla których nie jest to konieczne. W tym celu należy ustawić dla tych elementów wartość atrybutu EnableViewState na false. Należy na to zwracać uwagę zwłaszcza w przypadku komponentów zawierających dużą ilość danych – takich jak np. DataGrid.
- Należy zadbać o to, aby jak najwięcej elementów związanych z formatowaniem stron – takich jak czcionki, kolory, odstępy, format tabel – było zdefiniowanych w zewnętrznym arkuszu stylów (CSS), a nie w treści strony. W niektórych przypadkach, zwłaszcza gdy na stronie występują bogato formatowane tabele, można uzyskać w ten sposób zmniejszenie objętości rzędu nawet 50%.
- Należy unikać zbędnych plików graficznych lub postarać się, aby te same detale graficzne były używane konsekwentnie w całym serwisie. Dzięki temu przeglądarka internetowa nie będzie pobierać nowych elementów graficznych przy pobieraniu nowych stron.
- porady/iiscompression.gif>
porady/iiscompression-sm.gif border=0 align=right style="border:solid 1px black">Dodatkowo można włączyć kompresję HTTP. W tym celu należy uruchomić Internet Information Services Manager, kliknąć prawym przyciskiem myszy na węźle Web Sites i wybrać polecenie Properties. Następnie, na zakładce Service należy uaktywnić opcje Compress application files oraz Compress static files. Dodatkowo można wybrać folder - cache, w którym będą przechowywane tymczasowe pliki po skompresowaniu. Należy pamiętać jednak o tym, że kompresja HTTP zwiększa nieco obciążenie procesora – zwłaszcza w przypadku plików aplikacji, które są kompresowane za każdym razem i nie są przechowywane w cache.