Помогни ни да направим Uroci.net по - богат! Добави урок

Намалете трафика и времето за зареждане на вашия сайт

thelordofweb   трудност:    видян: 7887

Знаете ли, че може да архивирате страницата преди да я изпратите към браузера, а той да я разархивира и изведе точно така, както сте му е подали? По този начин ще намалите обема на данните, които изпращате, времето за зареждане на сайта и трафика си. Единствено трябва да се притеснявате, дали даден браузер поддържа „deflate” или „gzip”, но в днешно време почти всеки има тази поддръжка. Също така php трябва да е с включено zlib разширение.

 

По подробно, какво ни е нужно?

 

Gzip - Алгоритъм за намаляване на размера, откривайки дублиращи се данни, използуван от GZIP, Zip, Zlib. С отворен код е. Има поддръжка в почти всички браузери.

 

Deflate – Алгоритъм за компресия подобен на Gzip, комбинация между алгоритъма LZ77 и кодиране на Huffman. Поддържа се от повечето браузери.

 

Zlib – Това е библиотека за компресиране на данни с отворен код, не обременена с лицензи. Писана е така, че е да може да се използва на всеки вид хардуер и операционна система. Поддръжката на zlib в php не е по подразбиране и ако искаме да включим тази библиотека, ще трябва да компилираме php със клаузата „-with-zlib[=DIR]”. Във уиндоус версията на php е включена.

 

Mod_deflite също върши работа, но за него няма да говорим в тази статия. Повече информация за него ще откриете на този адрес - http://httpd.apache.org/docs/2.0/mod/mod_deflate.html

 

Как става това?

 

Когато скрипта се изпълнява, може да отделим заглавната част от тази на тялото. Заглавната част не е изпратена веднага, но чака своя ред и затова може лесно да я модифицираме. Веднъж изпратена, повече не може да се модифицира и при опит ще изведе съобщение за грешка. След нея трябва да изпратим тялото на документа.

 

Ключа е във функциите на PHP за контрол на изхода. Когато задействаме буферирането на изхода, не се изпраща HTTP заглавната част веднага. Така ние имаме възможност да е променим или добавим нови клаузи към нея. Най-хубавото е, че когато скрипта приключи работата си, автоматично изпраща заглавната част и тялото на документа.

 

Основните функции, които ни трябват са:

 

  • ob_start() – Задейства буферирането на изхода
  • ob_end_flush() – Изпращаме буфера с данните към изхода и прекратяваме буферирането
  • ob_end_clean() – Почиства изходния буфер без да изпраща нищо към изхода
  • ob_get_contents() – Връща съдържанието на буфера
  • ob_gzhandler –Функция компресираща изходния буфер

 


Страници: 1 2 3 »

Регистрирайте се, за да добавите коментар


Калдейта ЕООД - © 2003-2010. Всички права запазени.
Препоръчваме: Национален Бизнес | Bomba.bg | IT Новини | Диплома.бг | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | Фото Форум | Spodeli.net | Фото-Култ | Atol.bg | Elmaz.com | MobileBulgaria.com | Казанлък.Com