 ᢮ ᠩ

⮤ ᪮ ⨬樨 -࠭
 ମ,    ।⠢,   ⨬ ࠢ? ⢮ 樨  ࠭ ॢᨫ  ᫨  ᫨ ࠭,      ?  ࠭ ⪨  ⭨ ⨭,  ॢ襫 ᠬ ᥡ,  ⥯   㦠 譮 ?    ࠧ  ⨬  ⢮ 㣨 ஡, 易  ᪮ ந⥫쭮.

4 1.  ⠪ ᪠ ⨬?7 2. 襭 ࠧ17 3. ஢45 4. 襭 ᫠ ᮢ55 5. ࠫ ᮥ84 6. CSS ⨬110 7. ⨬ JavaScript128 8. ਫ169祭207





 ⮩   ஥ webo.in

 ᪮ 㧪 -࠭ ਢ   -ࠧࠡ稪 㦥 祭  - ࠪ᪨  ⮣ ,   HTML-㬥  ⨭  -࠭ 諨  ஢ ⢨  짮⥫ﬨ,   ⮫쪮 ।⠢  室 ଠ樨.

 ᫥ 10  㦥 ⭮  ᠬ 室  ᮧ ᠩ⮢.   㧥   ࠭祭 㯠    묨 ᯥ⠬ ᪮ ந⥫쭮 (⢥饩  ᪮ 㧪  ࠡ -࠭) 뫨 ᪮७ ।   ᪮७ ⮡ࠦ    ᯮ짮 ஢ ⠡  ࠭.  筮 ⪥  ᥬ᪮ ࠧ⪥ ⮣   㬠.

  .  । -࠭ 㦥 ࠩ 殮 뢠  ⠭ - ࠬ <㧪  10 ᥪ㭤  >.  ।   ᯮ ⪨ ࠧ ꥪ⮢,   ᥣ  ⮫쪮 ⨭. ꥬ 䠩 ਯ⮢, ᯥ稢 ⢨ 짮⥫  -࠭楩, ᥩ 㦥  ॢ蠥 ࠧ ।⠢塞  ⮩ ࠭ ଠ樨.     ஭ ᫮ ⢨ 祫  設,     .

  ࠥ ꥤ  ᥡ  ᮢ६ 室  ஥ ᮪ந⥫ -ਫ   -ᠩ⮢,   㦠.   ਠ  㦥 뫠 㡫  2008   ᠩ Web Optimizator ( http://webo.in/ ),   뫨 ⮡࠭  㠫  ஢७  ࠪ⨪ 襭,   諨  ᭮ ⮩ . 

஬ ⥮᪨ ᯥ⮢ ந⥫쭮 ਢ ⠪ 讥 ⢮ ࠪ᪨ ४権, ਬ஢ 䨣樮 䠩, ࠧ ਥ  ஠஢ ᪮쪮 ᮪頥 ᮢ.  ।祭,   ஭,  ᫥⥫쭮 㦥   ᪮ ⨬樨 -ࠧࠡ稪  ஢.  㣮 ஭,  讬  ਪ ᮢ⮢,  ⠢ ᢮ 楫  ⮫ ࠢ筨 ⨬.



Web Optimizator

 ࣠ ,  饭 ⥮᪨ ᯥ⠬ ⨬樨 ६ 㧪 -࠭, ⠪  ।騩 online-㬥  ⮩ ᠬ ⨬樨,  ᫥ 㦤  ७樨 ClientSide'2007 ( http://client2007.ru/ ),   䮭 饣   ஭⮩ ஡ 뫠   ᮢ  ᬮ७  ࠪ᪨ 砥.

 ᭮ online-㬥 뫨  ⥫ ਬ  Web Site Optimization ( http://www.websiteoptimization.com/ ), OctaGate SiteTimer ( http://www.octagate.com/service/SiteTimer/ )  Pingdom Tools ( http://tools.pingdom.com/fpt/ ), ⪨   ਢ  쬮 .   ࢨ  묨  । 筮 ப ᯥ 㬥⮢   ᪮ 㧪 ᠩ.  ᪮筮 ࢨ     뫮,  뤠 ଠ  﫠 筮 筮. ⮬ ᭮ ⫨稥   㬥⮢ ⠫ 稥 ᨬ쭮 ⠫ ᮢ⮢   㥬 -ᠩ, ,  ,   -ࠧࠡ稪 ।ਭ  ⢨  襭 ⢠ ᢮ த.

  ⮩ 楫   ᮧ Web Optimizator ( http://webo.in/ ).



୮

  㢨  ᢥ  , ᮢ⮢  ४権 ஬ ⢠ .     -    ਠ, ⮬      㯮 ,   ᢮   ᮧ ⥩  ࠧ⨥ , 饭 ᪮ ⨬樨, - ᫨   ।⠢ .       ᪠ ⤥쭮 ᯠᨡ   砭  প.

-,  ᪠ ᮭ ୮ ⠫ ᮢ  ᪮쪮 祭 ᢮६ 砭 ⭮⥫쭮 ந⥫쭮 CSS-  㧥,      ஡  㡮  ᮢ 騩    㭪樮஢   㧥஢.

-,   㯮  ਥ   ⥫ ॢ ᪨ ᮢ⮢  㯯 ࠧࠡ稪 Yahoo! ( 1, http://webo.in/articles/habrahabr/15-yahoo-best-practices/ ),  㦨 ࠢ 窮  ⨬樨 ᪮ 㧪    -ࠧࠡ稪.

⥫   த  <稢> JavaScript  ⭮ ᮢ⨬  ࠡ -ᠩ⮢ ( 짮⥫  ⢮  ࠭楩   ⪫祭 JavaScript  CSS)  ᥭ ਥ  ( http://kpumuk.info/ ), ॥ 㡠 ( http://covex.in.nnov.ru/ ), ॥ 㬨 ( http://jsx.ru/ ),  ୨ ( http://lusever.ru/ ),  讬 ( http://dpp.su/),   ( http://pepelsbey.net/ )  ⥬ ॣ㡥 ( http://arty.name/ ).     ᭮  ⥩  .

 室 㯮  ⥯饢 ( http://bolknote.ru/ ), ।襣 ୠ⨢ data:URI-室  Internet Explorer,     ⮤   㧥஢  ⠢ ॠ ७ CSS Sprites.  ᠭ  ( http://abrdev.com/ ),  ᬮ  ६   ।⥫  㪮 ᢮ 砭ﬨ  ᯮ짮 ࠧ 㬥⮢    ⮬⨧樨 ᪮७ 㧪.

⢥,      ⭨  ᨩ᪮  Web Standards Group ( http://web-standards.ru/ ).      ᨮ প, ᢥ ⠪ ᫮   ⥬,  ᪠ ⨬, 뫮  쬠 .

஬ ⮣ ⮭  ( http://anton.lobovkin.ru/ ),  㧭殢 ( http://q-zma.com/ ),   ( http://kuklaora.blogspot.com/ ),  ⨭ ( http://ivan-nikitin.spaces.live.com/ ), ᥩ  ( http://alexey-bass.blogspot.com/ ),   ( http://blogs.gotdotnet.ru/personal/XaocCPS/ ),  ᮢ ( http://zencd.livejournal.com/ ), ⥬ ࠯ ( http://kurapov.name/ ), ᥩ .( http://lynn.ru/ ), ⠭⨭ ୠ ( http://bkonst.livejournal.com/ ), Timur Vafin ( http://timurv.ru/ ),  ஡쥢 ( http://alfa.1nsk.ru/ ), ᥩ  ( http://core.freewheel.ru/ ),   ( http://ilive.in.ua/enej/ ),  ୮ᮢ ( http://www.mzz.ru/ )  - 㣨  묨 ⮤, ਬࠬ 䨣樮 䠩   業묨 ᮢ⠬,    ⠪ ஬ ᯠᨡ.

 筮, 易⥫쭮    짮⥫ Web Optimizator ( http://webo.in/ )  ⥫  ᪠ ⨬ ( http://habrahabr.ru/blogs/client_side_optimization/ ).   ࠫ쭮 প     稭     뫠  㡫.




 1.  ⠪ ᪠ ⨬?


1.1.    ⨬樨

 -࠭ ⮨  ᭮ HTML-䠩   譨 ᮢ.   ࠧ ࠭ ( ᠩ), 祭     ࠧ  ࢮ 䠩, , ⢥, ୮.



.1.1.   ࠧ ࠭  ᫠ ꥪ⮢  ᠩ⮢, ஢塞 १ Web Optimizator  2008 

 饥 ६   ࠭ 뢠 ᪮쪮 ⪮ 譨 ꥪ⮢,  ࠧ 室 䠩 ⠢   5%  饣 ࠧ.   ᫥ ᫥, ࠧ -࠭  ᫥ 5  㢥稫 ஥,  ᫮ ꥪ⮢   -    ࠧ.  ⮬ ⥬  । ய᪭ ᯮᮡ      ⥫. ᫨ 뢠 ᫮ 짮⥫  ᪮ 㯠,  ६ 㬥 ᫮ 짮⥫, ॢ ⨬ ண   1-5%, ⠢ ਬ   ᫮  । 孮.

⢥,  孮   ࠭稢 ᦠ⨥ ⥪⮢ (HTML, CSS, JavaScript) 䠩  ஭ ࢥ.  ᫮ , ᭮  譨 ꥪ⮢  ࠭ ⠢ ࠦ  ⨬ 䠩.    ⮦  ᢮ ⮤ ⨬樨.



᭮  ⨬樨

᫨  ⪮,   뤥 3 ᭮  ᪮ ⨬樨:

⨬ ࠧ 䠩.

⨬ থ  㧪.

⨬ ⢨  짮⥫.



⪨  孮

 ⮬  ᭮ ⮤  ࠧ  6 㯯 (        ).

襭 ࠧ ꥪ⮢.  䨣 ᦠ⨥  ⮤ ⨬樨 ࠦ, ஡  ⮬    ன .

ᮡ ஢,  ᯮᮡ न쭮 㬥 ᫮ ᮢ   饭, 뢠  쥩 .

ꥤ ꥪ⮢. ᭮묨 孮ﬨ  ᫨ﭨ ⥪⮢ 䠩, ਬ CSS Sprites  data:URI  ࠦ. ⮬ 饭 ⢥  .

ࠫ쭠 㧪 ꥪ⮢,   䥪⨢ ६   䠩.  ⮩   ⮣ ਢ ਬ ஢ ᮢ  ஭ ᪮ ਫ.

⨬ CSS-ந⥫쭮,    ᪮  ࢮ砫쭮 ⨭  㧥 짮⥫  ᪮  쭥襣 .  CSS-ந⥫쭮 ᪠뢠  .

⨬ JavaScript.  筮  ஡   JavaScript,   室   ஥஢ ᫮ -ਫ.  ᥬ ⮬    ᥤ쬮 .

 ⬥, , ᬮ   ᫮ ࠣ ⥬, ࢮ砫쭮 ᪮७ 㧪 -࠭    ᪮쪮 祭  蠣.  ⮬  ᮪ ६  -࠭  ᪮쪮 (筮  2-3) ࠧ.

 ᮢ   㯮冷祭  㢥祭 ᫮ ७  㬥襭  먣  㧪 ࠭.   -஥⮢  ࠭ ⮫쪮 祭 ஢  娢஢ (gzip  deflate).  ᫮   , ᯮ CSS Sprites  data:URI,   ᪮쪮 ⮢  㧪 ࠦ.  ᮪㦥 ஥⮢ (   ஠஢   쬮 ) 㦭 뢠  ᯥ ᪮ ⨬樨  ᠬ 砫  ஥஢  ਬ  ᫥⥫쭮  ⨦ 襣 १. 



1.2. 宫᪨ ᯥ ந⥫쭮
᭮ ᫥ ᫥ 짮⥫᪮ ࠧࠦ ᨫ쭮 ⠥, ᫨ ᪮ 㧪 ࠭ ॢ蠥 8-10 ᥪ㭤  类 㢥 짮⥫   㧪. ᫥ ࠡ  ⮩  ,  짮⥫  ப 㯮   ௨  প  㧪 -࠭  ࠢ  짮⥫ﬨ   㧪 .  ஢  2007   뫮 ⠭,  33% 짮⥫ ᪮⭮ ᮥ     㧪 ࠭  4 ᥪ㭤,  ⮬ 43% 짮⥫    6 ᥪ㭤.   砥   ,  짮⥫  設⢥ 砥  ᠩ, ᫨  祭 5-10 ᥪ㭤 㤥     ࠭  㧥.


௨ ६ 
 ᫥, ஢  2004 , 뫮 ⠭,  ௨ ६   ࠡ 뫮 ( ⭮ 裡) 室  5  8 ᥪ㭤.   㢥 짮⥫   㧪 (⭮ 裡), ਬ,  㧪, ⠪ ६  㢥稫  38 ᥪ㭤. । ६   ⮪   ࠡ騥 뫪  ᨬ  ࠩ 23 ᥪ㭤 (  - ஢, 뢠,  ࠭ 㦠     㯭). ࠧ,  ,   95% 짮⥫ ६  ⢥  ࠡ饣 ᠩ ⠢   8 ᥪ㭤. ᫨  ६ 짮⥫  ᠩ ୮,  ᫥ த஢ ࠩ  ( ࠢ ) ᫮ 짮⥫,   10 ᥪ㭤.


䥪  ᪮ 㧪
   ६ 㧪   ⥫ ᫥⢨. ,  Google ( http://www.google.com/ ) 㢥祭 ६ 㧪  ࠭  10 ᪮묨 १⠬  0,4 ᥪ㭤   0,9 ᥪ㭤  ࠭  30 १⠬ ᪠  㬥襭 䨪  ४ 室  20% ( ᮮ⢥⢨  ᫥ﬨ, ஢묨  2006 ).   ࠭ Google Maps ( http://maps.google.com/ ) 㬥訫  ꥬ  100   70-80 , 䨪 㢥稫  10%  祭 ࢮ     25%  ᫥騥   (  2006 ).஢  2007   Amazon  祭  १:  100  㢥祭 ६ 㧪  Amazon.com 㬥蠫 த  1%. ᯥਬ Microsoft  Live Search ( http://www.live.com/ ) ,    㧪 ࠭  1 ᥪ㭤 ⢮ 襭 ᪮ ᮢ ᫮  1%  ᫮   ४ 㬥訫  1,5%.  㢥祭 ६ 㧪 ࠭  १⠬   2 ᥪ㭤 ⢮ 襭 ᪮ ᮢ ᫮  2,5%  ᫮   ४ 㬥訫  4,4%.


 ६ ⢥ ᠩ   짮⥫ 宫
짮⥫ ,  ᠩ,  㦠 ,     ⢥.  砥, ᫨ 㤥ন ६ 㧪  । <௨>, 짮⥫   ࠧ  㤮⢮७  饭 ᠩ, । ᫮ ᬮ஢ ࠭ , 㢥  ⥫  ᭨ ᫮ ⪠. ,   㦠, ⠪  짮⥫  묨  ਢ⥫묨.<௨> ६ 㤥 ᨫ쭮   㤨ਨ,    筮  ஢:  ⮣ 㦭 ⥫쭮 (ਬ,  2-3 ࠧ) 㢥 ( 㬥) ६ প   ࠭  ᬮ  ᫮ ⪠ (᫮ 짮⥫,  ࠭ ࠧ ᫥ 室  ᠩ)   ᫮ ﭭ ⥫. ᫨  ᨫ쭮 㢥祭 ( 㬥襭) প  㧪 ᠩ ⢮ 짮⥫ ࠪ᪨  , , ࠭ 㦥 㦠  ⨬ . ᫨  ᫮ 짮⥫ ௥  , , ᫥⥫쭮,  ६ 㧪 ᠩ 㦭 - .짮⥫ ப᭮ 㯠  襩 ᪮ 㧪,  ⮬ 짮⥫   ᪮ 㯮 室  ࠧ .   ⮣  ᮪᪮⭮  ஭  ,  ⠪  ࠧ ࠭. 짮⥫ 뢠 宫᪨  䨧᪨ ஡  ⢨  <묨> -࠭栬,  ࠧࠦ, ᫨    ᢮ ,  襢  ࠡ  묨 ᠩ⠬. 


1.3. ⠤ 㧪 ࠭



.1.2. ⠤ 㧪 ࠭
 ⢥ ᭮ ஡   㧪 ࠭  -  뤥  祢 .।㧪 -  ࠭  㧥 짮⥫. ᫥ ண ६  㧪  室  -  짮⥫  㧥 ⮡ࠦ ᮢ ࠭.   , ⭮,  ࠭  㭪 , ᪮॥ ᥣ,   㭪樮 JavaScript-.
ࠪ⨢ 㧪 -  ࠪ⨢ ( 樨)  㦥 -࠭. 筮  ᪠  ⢨ 㯭 ࠧ ᫥ ࢮ砫쭮 㧪 ࠭ (⠤ 1),     (     ) প ⮩   ( ,  ᠬ )  뢠  ६   ᭮ ⨭  㧥 짮⥫. 
 㧪 ࠭. ࠭    㧥,   ।⠢   ଠ,   ࠪ᪨ ⮢  쭥訬 ⢨ 짮⥫.
-㧪 ࠭.   ⠤  㦥 ࠭  (   짮⥫ ०) ⢫ 㧪  ஢  ᮢ  ⮢.   ॡ 짮⥫   室  㣨 ࠭  ᠩ, ⠪   ⮡ࠦ - 樮 䥪⮢   㭪樮 ࠤ 㤮⢠ ᯮ짮.

 設⢠ ᠩ⮢    ⮨ ࠧ ⮫쪮 ।㧪 (   㬮砭 砥 ࠪ⨢ 㧪)   㧪 ࠭. -㧪,  , ᥩ ᯮ ࠩ .


⠢塞 ਮ
⨬ ᪮ 㧪 -࠭ ।祭   祢 ᯥ: ᪮७ ।㧪  ᪮७ ᭮ 㧪.  ᭮ ⮤ 䮪஢   ⮬, ⮬  <㧪> -࠭ ਭ 짮⥫ﬨ   室饥 ।   ⠤.  㧪 ࠭  짮⥫  稢 ࠧ ᫥ ।㧪,   ⮣ 쬠 ᫮,  ࠢ      . ஡  ⮤ ६쭮 ⨬樨 㤥 ᪠   ⢥⮩ .


 
ࢠ   ⠤ 㧪   ஡묨 ᯥ⠬   ந⥫쭮.   ⭮: 㧪 ࢮ砫쭮 HTML-䠩, ࠢ   CSS-/JavaScript-䠩    ⮪, -   ࢮ  室 㬥襭 ᫠ ᮢ  㧪. ⮫쪮 㧪  ८ ( ,     -⢥ 䠩,  砥 짮⥫)   㧥 ࠭ ⮡ࠧ,    訢  ࢥ  ⠫ .  ,       ⪮ ⥫ ᮥ ( ⮣ , ᪠뢠  ⮩ ),   㧥 㦥 ந諮 ᮡ⨥ ⮢ 㬥  쭥訬 ⢨.   ந  ஢, ᫥⥫ 㧪 JavaScript-㫥   -㧪 ⨫ ࠢ.   㦥 㤥 ᫠ ࠦ  䠪᪮ ᪮ ࢮ砫쭮 㧪: 짮⥫  ࠭  㧥,    ⢮ (  ᭠砫     ꥬ),    㦥 㧨 (ࠢ, ⮫쪮  宫᪮,    孨᪮ ஭).    ਥ   ᪮ 㧪 ᫥  짮⥫ ࠭, ⠪  㯮冷 ᠬ -㧪.   ⮣ 䥪   । 䠩     ⠤ﬨ 㧪 ࠭, ᪠  ⢥⮩ .


1.4. ᪠  ࢥୠ ⨬: 室⢮  ࠧ
᪠ ⨬   ᭮묨 ਭ樯:     ᮥ.    ਭ樯  㬥 㧪  ᠬ ࢥ.  ᬮਬ,   ந室   ७  ࢥ୮ 㧪  ᪨ 㧥.


஢   㣫
ࢥ  ࠢ ﭨ  ᪮ 㧥, -, १  Cache-Control (  ਡ max-age, pre-check, post-check),   㪠뢠  ஬⮪ ६,  祭 ண ᮮ⢥騩 䠩 ᫥ ࠭  ᪥   訢  ࢥ.    ᪨ 䠩 ⠢ ᨬ쭮 ६    ஢    짮⥫ १  URL  (  RewriteRule  GET-ࠬ).-, ﭨ ᪮   ࠢ १  ETag  Last-Modified,  ⠢  ᮮ⢥⢨  䠩 㭨 䨪, 騩   䠩, - ᢮ࠧ ஢   .  ⮬ ࢥ 㦭  뫠 䠩 ,   ⢥ - 304   㧥, ᫨ 䠩     ᫥ .  ⮣ ᠬ 䠩  뫠, ᮥ ( ᮪) ᢮ ॥,   ࢥ ⠪ .஡  ஢ ᪠뢠  쥩 .


 ᮢ -  ࢥ
ᯮ ꥤ 䠩,   ⠢塞 ࢥ   㧥஬   ।, ਬ, ᪮쪨 ⠡ ⨫ - ࠧ 筥 㤥  ꥤ  .  ⮬ 㧥 ॥   室 ଠ  ॥ ᢮ ⠪  ,  ᮥ.  ꥤ ⥪⮢ 䠩  ⮨ ७ॣ  ꥤ ⨭. ᫨ 뢠,  ᮢ६ 㧥  ⠭ ᪮쪮 ⪮ ६ ᮥ  ࢥ஬  祭 ᪨ 䠩 ( 80%   -   ⨭),    ᯮ짮 CSS Sprites, Image Map  data:URI 室 뢠 祭 .    㤠 㬥 ᫮ ᮥ 㧥  ࢥ஬  㧪  HTML-࠭  8-10 ࠧ.ꥤ 䠩 ᬠਢ  ⢥⮩ .


娢஢  ஢  ࢥ
  ஢ ᫥, gzip-ᦠ⨥ ⥪⮢ 䠩 < >  95-98% 砥  ᮪ ६  । 䠩 㧥. ᫨ ࠭ 娢஢  䠩  ࢥ (  proxy-ࢥ    ᪥),  ᮥ  饬 砥 㤠 ᢮  3-4 ࠧ ॥. 砥 ᮪㦥 ࢥ஢  ᪨ HTML-䠩 gzip ⠪   ਬ.  ⮨ ਥ஢   ⥯ ᦠ,   প  ⮬  ,  ࠧ 㬥蠥  䬨᪨. ᦠ⨨ ᪠뢠 ᫥ .


    㦡?
᫥ ஢  孮  ,  ᪠ ⨬   ⠢饩  ࢥ୮.    ⠪:  ஥ ᮪ந⥫ -ਫ  ⢮  ᪨,  ࢥ 室.  ⮬ 砥    ᥪ饩  ⢥⢥,     ॢ஢    㣮.  室  ⢨ <-ࢥ>, 㦭    ᯥ ⨬樨.   ᪮ ⠢饩  ᢮, 뤥  ⢥⢥.  室   㧥 -  -࠭,  㦠  짮⥫   ன  .


1.5. ਬ  ࠧࠡ⪥ ਫ

짮⥫ 筮  ,  室 ਬ  ࠧࠡ⪥,  ஥ ࢥ,  ᪨  ࢥ ।⢠ ࠧࠡ⪨ ᯮ.    , ᪮쪮 ᠩ , 㤮  .   -ࠧࠡ稪 砥  ⮬, ⮡  ⠢ 짮⥫ 譨 㤮, ࠤ   ⥬ ᠬ ⨬㫨஢ த, 騥 १ ᠩ,  ᫮ ४     .

 ᪠뢠,   ࣠ ᮧ -ਫ, ਥ  ᠬ  ᯥ ᪮ ⨬樨.



⠯ 1: ⠢ ଠ樨  ଫ

 ⮬ ⠯ ࠧࠡ稪  ᤥ  , ⮡   ᪮ 㧪 ࠭. ᪨    ᪮७ ࢮ ⠤ 㧪.  묨 ⮤   ᦠ⨥ (gzip) ⥪⮢ 䠩  ꥤ 䠩 ⨫ (CSS).  CSS-  JavaScript-䠩  ਬ ᪮ 娢஢ ( 室 娢஢  ࠧ  䠩 < >; ⮬ 饭  ).

 㧪 ࠭ 㧥   CSS-䠩,   head ࠭, ᫥⥫쭮. ⮬  䠩  প  㧪, ࠢ ६   ࢥ ( ᫨ ।,  ⠭ ᮥ keep-alive    㦭 ᮢ  TCP/IP-楤, -  ⨢ 砥   ࠧ ).  䠩 ਯ⮢ ४ ਬ  ⠪ ꥤ,   뭥   -㧪 (஡  ⮬ ᪠  ᥤ쬮 ).

⮣ ࢮ ⠯ -  ⠢  ଫ HTML.  প  ⠢ JavaScript ᢥ   ( ⮬ ⠯  ⮫쪮 蠥, ᪮  ⮡ࠦ ᭮ ᮤন ࠭). ६  砫  襭 㧪 ⠪ ࠭  祭  몫祭 JavaScript ( 뭥ᥭ   -㧪) 䠪᪨ 㤥 .   㤥 먣襬  ᪮ 㧪!



⠯ 2: ஢ 䠩 ଫ  ࠫ 

  ⠯ ࠧࠡ稪  ᯥ  㧪 㣨 ࠭ ᠩ (᫨ ⥫  㤠 ३).  ⠯  室 ࠫ쭮  . ன   筮 ਢ쭠. ᪮쪮 ᫮   ࠧࠡ⪨  ᢮६  .    뢠  쥩 .

  ᪮쪮 ⥫ ઠ  뤠 ᪨ ᮢ  ࠨ  䨣樨,     奬 㡫樨  ࠧ ᫮. 筮   㦥 ᫥ ࠧࠡ⪨ ⮢ ࠭. ᫮ ⥫ ⮢ ᫥   ᫠ ᪨ 䠩 (筮 ⨭), ⮬  ।    ⠯ ⮬⨧樨  㡫樨.  ࠫ  ᪠뢠  ⮩ .

CSS Sprites 筮 㤮  ⮬᪮ <᪫>, ⮬   筮  ࢮ ⠯ ( ᮧ  ࠭).  ᯮ짮 ⮤ data:URI  ࢮ ⠯    , ⮬  ⮬⨧஢ 襭   ॠ樨   ॡ  ⠫騪 ⤥ 孮᪨ .  ⮬    ⢥⮩ .



⠯ 3:  ᫥ 㧪 ࠭

  ⠯  ᮧ ࠧ ࠡ稪 ᮡ⨩,   ⢮  짮⥫.     ᯫ뢠騥 ᪠,  㧪   ࢥ,   .     <> ࠭.

,   <ࠬ   ࠬ > -   ࠧ  JavaScript.      ॠ 堭, 騥 ⢨ 짮⥫;  ᤥ  ࠧ 㠫 䥪⮢, ન ଫ, 㤮⢮   ᠩ ( 䠪᪨ - ᨫ  䮪஢  ࠡ,  த ࠧࠡ稪  । ⠯).

 ⮬     ଫ HTML-࠭,  ன  뫪   易 ࠡ  JavaScript ( ⮣ ,  ⤥ ।⠢ ࠭   㭪樮஢, ᪠뢠  ᥤ쬮   ࠧ  <稢> JavaScript).

    ⮢ ࢥ 䥩  AJAX-ᮢ;  ࠭   ⠪, ⮡   ᪮ HTML-  室 ॠ뢠 ,    ᪨ JavaScript-. ॥ ᥣ,   ᮧ 蠡 ࠭,  ,  㤥 룫拉 ࠭ ᫥ - ⢨ 짮⥫ (筮 ᯥ樠  㤮 ᯮ짮 ᮧ ).

⮡  㬥 ᪮ ⠢ ⥭  ଫ, JavaScript-䠩 ( ᥣ, 筮,  JavaScript-䠩; ᪮쪮 䠩  ᯮ짮 ⮫쪮  让 ᫮ ᪮ 䥩)   祭 । ⨥ ⥣ body (   - 뭥ᥭ   -㧪).

  ᯥ祭 ⢨ 짮⥫  䥩ᮬ ᠩ ᢮  믮 ᫥ ⢨:
 DOM-, ॡ騥 <> ( - );।,    ;ᯥ 祭 室  JavaScipt;᫥  । 祭 䠩;  ᪮쪨 㧮  䠩.
   ᫥  楯樨 <稢> JavaScript,  ᠭ  ᥤ쬮 .

 室 DOM-⮢    ᯨ᮪  JavaScript-⮢.  ⮢  筮 ᮮ⢥⢮  䠩  ࢥ,   ᮤন   .     㧨  ⥫ CSS-ࠢ   ⮢ ( 砥 讣 ⢠ CSS- ࠧ㬭 㤥    ᭮ 䠩) ࠤ - 㠫 䥪⮢,   ய  ࢮ ⠯ 㧪. ਬ,  䥪  ᬥ ࠦ    ᯥ稢 १ CSS-ࠢ  孨 CSS Sprites.

᮪    ꥤ     ࢥ.  ⮣  ⠤ -㧪  ⢫   䠩  static.site.net/jas/componentName1.css;componentName2.css  static.site.net/jas/componentName1.js;componentName2.js.

  室   ⪠:

  /jas/ ( , ਬ, ᯮ㥬  ஢   ਠ⮢ 祭 㫥) १ ஥ ६   祭  䠩,  ⥮᪨  㬥 ६ 㯠    ࢥ.

  ࠭   祭  , 祬 ⠪ ,    訢 ꥤ 䠩 ॢ   䠩 ⥬ (ਬ, 255 ᨬ  Ext3) -  ⮬ 砥 ॡ ࠧ    ᪮쪮 ᫥⥫.



⠯ 4: ।० ⢨ 짮⥫

᫨ ᫥ 饭  ࠭ 設⢮ 짮⥫   ᠩ,  筮 㤥 ᫥  㧪  ࠭ 訢 ⨫  ਯ, ਬ塞  㣨 ࠭ ᠩ.  짮⥫    讥 㢥祭 䨪 ( ᯮ짮 ᦠ ⥪⮢ ଠ ⠢ 10-20%  ꥬ 䨪),    ⭮ ᪮७ 㧪 ᫥ ࠭.

筮  ᬮ  ।㧪    ᯮ㥬 ⨭,     ࠭,  ⥫ JavaScript-㫥,  ਬ  ⥪饩 ࠭  ⥫쭮 㭪樮   訢  ࢮ 㧪 ࠭ (ਬ, ⢥  ࢮ砫쭮  ).

⢥,   ஢ 쥩  ⢥⮩ ⠤ ⢥砥 㦥 JavaScript-ࠧࠡ稪  ஭⥭-⥪ -     ⢥⢥ ᫥ 室 ᪮ 㧪 ࠭.




 2. 襭 ࠧ


2.1. ᪮쪮 ᮥ 娢஢ HTML
娢஢ (gzip-, deflate-ᦠ⨥) 㦥    ⭮ 孨 ⨬樨.  ਬ  -० ⠪  ।,   10  .   ᨬ쭮 ஡ ᢥ ஡ ᯥ ᯮ짮 ᦠ  ࢥ  ।  ⮤  襭.⨥ -ᮤন ।⢮ gzip (GNU zip) -   쭮  孮.   ᢮  ⮬,  ᮤন । ࠢ 짮⥫ ᦨ  ⭮ ᥬ  zip.  ᯥ䨪 gzip ᠭ  RFC1952 ( http://tools.ietf.org/html/rfc1952 ),  4.2 ன   1996 .  ᥣ譨    㧥  -ࢥ ন ᦠ⨥ ।⢮ gzip. 


প  ᯮ짮 mod_gzip
稭  ᨨ ⮪ HTTP/1.1, - 㪠뢠,  ⨯ ᦠ  ন, ⠭  Accept-Encoding  HTTP-:Accept-Encoding: gzip, deflate᫨ -ࢥ  ⠪   ,   ਬ ᦠ⨥ ⢥   ⮤, ᫥ ⮬.  뤠 ⢥ ।⢮  Content-Encoding ࢥ 㢥   ⮬,  ⮤ ᦨ ⢥:Content-Encoding: gzip। ⠪ ࠧ   ࢮ砫 ਬ୮  5 ࠧ,   ⢥ ᪮  ⠢.   ᬮਬ ᫥騩 :  ᪮ gzip-ᦠ⨥   த⢨ ࢥ? ⠡쭮   mod_gzip/mod_deflate  ᮪㦥 ஥⮢?     娢஢    ᯮ짮? 


ଠ 
 砫 㦭 뫮 - ࠧ ⠭ প  ᠬ 娢஢. 奬筮   室  ।⠢ ਬ୮  ᫥饬 :gzip = ⥭/   + 樠 ⥪ + ᮧ 娢।,    ⠢騥    ࠧ 䠩 ( ᫥ ⢮ 䠩  500 ⮢  128 ),   - ﭭ묨 ( ࠢ  ᫥ ᫠). ,  , ࠡ  䠩 ⥬   ࠧ.  ⮬  ஡ ᪠뢠 .⢥,   , 室騥  <ᮧ 娢>,   ਬ୮ 묨  ࠧ 䠩 ( ਡ  譮  , 祬 ⠫ ।), ⮬ १ 㫠 ਬ ਬ୮ ⠪ :gzip = FS + LI + K*size FS - প  䠩 ⥬, LI - প  樠 ⥪   㣨 ﭭ প, 騥  ॠ樨 gzip,  K - 樥 ய樮쭮 ࠧ 䠩 㢥祭 ६  娢஢.


 ⮢
⠪,  ஢ન ⥧  ⠭ ⨭ 樥⮢  ॡ 2  ⮢:  ᦠ⨥:    祭 <size - gzip>  :    祭 <size - FS>祬  2 -    প  樠 娢஢,  ? ⮬   ⠪ 砥    ⥬ () ࠢ,     2  (樥 ய樮쭮  ᪨ প)  ।⠢ ᫮.  ८। ⥬  뢠 譨 ࠧ  譮 ७  ॡ: ᪨ ⮤ 譮  ⠪ ᢮  . ஢    HTML-䠩 (⮡ ᫮ ᨬ쭮 ᮮ⢥⢮ ॠ). ⥬   뫨 १  500, 1000 ... 128000 ⮢.  稢訥 䠩  ࢥ ᭠砫  横 娢஢ 㦭 ᫮ ࠧ, ⥬ 뢠  ஢  䠩 ⥬ -   ஥ ।  Linux (cat, gzip), ⮡   ⥫ থ - <譥> 몠 ணࠬ஢.


 ஢
 ᦠ  祭 ᫥騩 䨪.  ⭮,    䠩 ᭮ প  ࠡ⮩  䠩 ⥬,   娢஢.     ६ 㪠  ᥪ㭤. ஢ ਨ ⮢  10000 権.. 2.1. 䨪 থ  gzip-ᦠ⨥  ࠧ 䠩  ᫥  ࠡ  䠩 ⥬, ⥬    থ  稬 ᫥ ⨭.. 2.2. 䨪 থ  gzip-ᦠ⨥  ࠡ  䠩 ⥬প  ⨥, , ⨥ 䠩   ன ⥯  ࠧ,    蠥  ந  ᨬ ᫨⥫쭮 㧪  ࠧ 䠩 (।,      ).  १ 稬 ᫥饥 (. 2.3).. 2.3. 䨪 ॠ   থ  gzip-ᦠ⨥


 ᫮  䠩 ⥬
: 祬 㦭 ⥫   ந⥫쭮 䠩 ⥬,  㦥  ࠪ୮ ६, 室饥  gzip-ᦠ⨥ । ࠧ஢ 䠩?⢥: -,  -ࢥ  ⠪  䠩  䠩 ⥬  娢 㦥  ,  ⮬   ᮪.  ६ 㦥 ⥭  ⠭ ᮥ  ࢥ஬  祭 ࢮ .   㦭 , ᪮쪮  㢥, ᫨ ࢥ ந   樨  묨  ⨢ .-,   ࢥ  אַ  ᪠.  ᮪㦥 ⥬  ப-ࢥ஢ (ਬ, 0W, squid, nginx, thttpd)   ࠭ אַ  ⨢ , ⮬ ६ 㯠   ⢥ , 祬  䠩 ⥬. ⢥⢥,   㦭 ᪫  祭 १⮢.


 ॥: gzip  ?
  பᨬ 祭 , ⮬ ਬ   ᭮  ᫥ ᫥.  㦭,  ᠬ , ⠭, ᪮쪮  প  ᦠ⨥ ॢ室 (, , ) থ  । ᦠ⮩ ଠ樨.  ⮣  ந  䨪, ਭ  ⠫ 祭 樥  ୮ ᦠ  Dual Xeon 2,8 .   짮⥫᪮ ஭ 室 ஥ ६  ᯠ 娢,  ࠭稬  ६ ᦠ  設  CPU  1 .  ࠭祭 ᢥ: ⢥,  ᯠ 筥 ᦠ,   짮⥫᪨ 設    । 魥, 祬 1 .   㦭   ⢥  (࠭祭 ᭨), ⮬ ࠭稬 ⠪ ஢ 筮.⠪,  ਢ প  । ⥫쭮 ⢠ ଠ樨 ( ᥪ㭤)   ࠧ  (100 /  1500 /)   ࠧ ࢥ஢ (280   1 ). ,  䨪  gzip  1000   ࠪ᪨ ஢  ।祩     1500 / (  ४뢠 ).. 2.4.  প  ᦠ⨥  । ଠ樨  100   1500   280   1000 


᫥ ⥯ gzip-ᦠ  㧪 

ᬮਬ , ᪮쪮 ᨫ쭮 প  gzip   ⥯ ᦠ,    ண஢  ⮬  ⠫ ࠬ஢.   ⮢ 뫠 ࠢ  ⠭ ᨬ  ⥯ ᦠ, 묨 প  㬥襭 ࠧ 䠩, ⮡  ᭮   ந   , । 樮쭮 ᯮ짮 娢஢ < >.

  ࠭,  ࢥ ஢ ਨ ⮢  10000 権  . 﫮 ६ ࠡ gzip  ࠧ ⥯ ᦠ. ⥬  ।﫮  ਨ,    ⠫ প  ࠡ  䠩 ⥬.  﫮 ⨣⮥ 㬥襭 ࠧ 䠩.  ᨬ <୮ ६ - ⥯ ᦠ>  祭 ᫥騩 䨪.     ⥯ ᦠ,   न - 祭 ६ (।  ਨ).



. 2.5. প  gzip  ⥯ ᦠ

 䨪 䥪⨢ 祭 ᦠ ( %  ਣ쭮 ࠧ 䠩)  ⥯ ᦠ.



. 2.6. 䥪⨢ ࠧ ⥯ gzip-ᦠ



⥫ 뢮
⢥, 䨪  ᠬ  ᥡ. ᫨   HTML-䠩  ।  4 ,   ⨬ 먣  設⢠ 짮⥫  祭 gzip  ࢥ ( ᫨  ࢥ 室  쬠 <᫠쪮> 設).  砥 쪨 䠩 ()   ᫥ ࢥ, 饣, ,  ஬ , 㤥 筥  ᦨ 䠩. ⠪    , , ⤠ 짮⥫  ॥ (१ gzip-ᦠ⨥),  ⥬ ᠬ ᢮  ࢥ ᮢ,    ⢥ ᯮ쥬  ᮪㦥 ஥⮢. 饬 砥 gzip-ᦠ⨥  ⢥ ᪮ ⠢ HTML-䠩 짮⥫,  㢥稢 㧪  ࢥ. ᫨  ᯮ짮 ᪮ 娢஢ (⮢ 娢 ࠭  ࢥ   ⮫쪮  砥 室),  룮  祢.


䨣㥬 Apache 1.3
 ᬮਬ,   ந  ࢥ  뤠 ⥪⮢ ᮤঠ   娢.  ਢ ⮪ 䨣樮   Apache 1.3, 騩  gzip-ᦠ⨥. ᭮ ४⨢   ﬨ.<IfModule mod_gzip.c># 砥 gzipmod_gzip_on          Yes# ᫨ 冷  訢 䠩  ᦠ   ७ .gz,  # 㤥 ⤠  ,  CPU 室  mod_gzip_can_negotiate    Yes# ᯮ㥬  ᪮ 娢஢ ७ .gzmod_gzip_static_suffix    .gz# ⠢塞  Content-Encoding: gzipAddEncoding       gzip .gz# ⠢塞  ࠧ  ᦨ 䠩mod_gzip_minimum_file_size  1000#  ᨬ ࠧ 䠩mod_gzip_maximum_file_size  500000# ⠢塞 ᨬ ࠧ 䠩, ᦨ אַ  mod_gzip_maximum_inmem_size  60000# ⠭  ⮪,  ன  ⤠ gzip-䠩 #   mod_gzip_min_http       1000# ᪫砥  ஡ 砨mod_gzip_item_exclude     reqheader "User-agent: Mozilla/4.0[678]"# ⠭ ᦠ⨥  㬮砭  䠩 .htmlmod_gzip_item_include     file    \.html$# ᪫砥 .css / .js 䠩 (  ஡  ᫥饬 ࠧ)mod_gzip_item_exclude     file    \.js$mod_gzip_item_exclude     file    \.css$# ⥫쭮 ᦨ 㣨 ⥪⮢ 䠩mod_gzip_item_include     mime    ^text/html$mod_gzip_item_include     mime    ^text/plain$mod_gzip_item_include     mime    ^httpd/unix-directory$# ⪫砥 ᦠ⨥  ⨭ (   䥪)mod_gzip_item_exclude     mime    ^image/# ⪫砥 'Transfer-encoding: chunked'  gzip-䠩, ⮡# ࠭ 室    ᪮mod_gzip_dechunk       Yes# 塞  Vary  ४⭮ ᯮ 㧥஢, # 室  묨 ப-ࢥࠬmod_gzip_send_vary      On</IfModule>


䨣㥬 Apache 2
 Apache 2 ᠭ ⢨ 룫 ࠧ .# 塞 Content-Type   䠩  ७ .gzAddEncoding gzip .gz# 砥 ᦠ⨥  HTML-  XML-䠩AddOutputFilterByType DEFLATE text/htmlAddOutputFilterByType DEFLATE text/xml#    ( ⮬  )AddOutputFilterByType DEFLATE image/x-icon# ⠢塞 ᨬ ⥯ ᦠ (᫨  ஡ # ࢥ୮ ந⥫쭮, ᫥ 㬥  7  1)DeflateCompressionLevel 9#  ᨬ ࠧ   娢஢DeflateWindowSize 15# ⪫砥 娢஢  <஡> 㧥஢BrowserMatch ^Mozilla/4 gzip-only-text/htmlBrowserMatch ^Mozilla/4\.0[678] no-gzipBrowserMatch \bMSIE !no-gzip !gzip-only-text/html# 塞  Vary  ४⭮ ᯮ 㧥஢, # 室  묨 ப-ࢥࠬ Header append Vary User-Agent#  頥 ஢ ᦠ 䠩   ப-ࢥ஢<FilesMatch .*\.(html|phtml|php|shtml)$>Header append Cache-Control private</FilesMatch> ⨬஢ 䨣樨  㪠 ࢥ஢ ਢ  쬮 .


2.2. CSS  JavaScript   娢
  ᬮਬ,  ࠧ  ᥣ 㤥 ⤠ CSS-  JavaScript-䠩  娢஢ .  ᯥ祭 ४⭮ 娢஢, -,  騩 室 㤥   믮  浪 ᫥ 㭪⮢:஢, 㬥   ਭ 䠩  ଠ gzip-encoded;ᯥ ᮮ⢥騩 뢮  ஭ ࢥ १ gzip-㭪樨  ࣠  ।⢥ १ -ࢥ (ਬ, Apache);ந 䨣樮 䠩 ( .htaccess), ⮡ ᯥ ४ Content-Type.  砥 ᦠ⨥  < >, ,  㤥  ⨬ 襭, ⮬  䠩 ⨫  ਯ⮢  筮 ।,   ⠢ ࢥ  ࠧ  ᦨ.     ᠬ ࢥ  娢樥 䠩   ࠢ.


᪮ 娢஢  ⢨
 ᯮᮡ   ன 祪  䨣樮 䠩 (httpd.conf  .htaccess, ࢮ ।⥫쭥), ᫨     ᠬ⥫쭮 娢஢  室 䠩. ।,     JavaScript-⥪ jquery.js  ࢥ. 娢㥬   jquery.js.gz (  7-zip   㣮 ⨫, ᫨  ࠡ ᯮ Windows).  ⮣,   䠩 jquery.js.gz.  㦭     ४  ࢥ,   室 䠩.᫨ ࠡ אַ  ࢥ १  ப,  筮 믮 ᫥ :gzip jquery.js -c -n -9 > jquery.js.gz -c ᮧ  䠩 (७ࠢ塞 ⮪ 뢮  jquery.js.gz), -n ᪫  䠩  娢 ( ⠬ ⮫쪮 譨  ),  -9 ⠢ ᯮ짮 ᨬ ⥯ ᦠ.  ࠧ,  稬 쭮  娢  ᪮ 䠩.


஡  Safari
 室 ॠ樨  襭  쪠,  ᠤ ⭮. Safari  㬥 ࠢ쭮 ࠡ뢠 䠩  ७ .gz:  ⮣ 㧥 ⨫  ਯ    ⠪ ७.    ? 室 筮 ⮩  祢. 㦭   娢 ⠭ ࠧ,   ⮬  娢஢   ⭮ ᮢ⨬ (ਬ,  ⥫ 䨪ᮬ nogzip). ⮬  ⮢ 䠩   㦭   (jquery  ᯮ ⮫쪮  ⢥ ਬ):cp $src/jquery.js $dst/jquery.nogzip.jsgzip $dst/jquery.nogzip.js -9 -n -c > $dst/jquery.js $src - ४,  ன ࠭ 室 䠩,  $dst - 䨭쭠 ४  㡫樨. 砫  㥬 䠩  䨭쭮  ᫮樨,  ⮬  娢㥬  <ࠢ> .


䨣㥬 Apache
  Konqueror ,   㧥   娢஢ 䠩 (CSS  JavaScript), ⮬ ⮡ 㡥   業 ⥫  थ筮 㯠 (  㢨 ᠩ  ᮮ⢥ ⨫), ⮨      ࠢ. 筮  <> 㧥ࠬ (  㪠뢠,    娢) ⤠ 娢஢ ᮤঠ.<IfModule mod_rewrite.c>RewriteEngine On# ७ࠢ塞 Konqueror  < 㧥>RewriteCond %{HTTP:Accept-encoding} !gzip [OR]RewriteCond %{HTTP_USER_AGENT} KonquerorRewriteRule ^(.*)\.(css|js)$ $1.nogzip.$2 [QSA,L]</IfModule> 㪠  <> ᫮   ࢥ 祭 mod_rewrite. ᫨  ,   ࠧ ⠭    㧥 (⠭ ⮡ࠦ ⨫  ࠡ뢠 ਯ).  Apache   ᬮ , . . RewriteEngine  㤥 .⥫쭮    室 ⠢    ⤠ 䠩.  ⭮, Vary  Cache-control   ப ࢥ஢,    ஢  䠩,  ய᪠    짮⥫,  १  ⮬  User-Agent (  ࢥ   㧭,   ⤠ 娢஢  䠩  ).<IfModule mod_headers.c>Header append Vary User-Agent# ⠢塞   css/js 䠩 Content-Encoding<FilesMatch .*\.(js|css)$>Header set Content-Encoding: gzipHeader set Cache-control: private</FilesMatch># 뢠 Content-Encoding  ⮬ 砥, ᫨ ⤠  娢<FilesMatch .*\.nogzip\.(js|css)$>Header unset Content-Encoding</FilesMatch></IfModule> ⮣   䠩,   ⤠  娢, ⥫쭮  Content-Encoding,    娢஢    뢠.   ⨣  ࠡᯮᮡ  襭.


쪨 <>
⢥ 㤮⢮, ஥  : 㦭   ࠧࠡ⪥ ଠ ᨨ,   㡫樨   -  娢஢  २뢠.  ஬諥 室  ࠧࠡ⪥   ⢨ ⮬⨧,   ୮ - 㤮  ⠪ ⢥  ࠢ  㢥祭 ᪮ 㧪 ᠩ (᫨, 筮,  ᮡ ஥ אַ   ᠩ,   娢     䠩).⠪, 䨭  ⢨ ( 稨  ࢥ mod_headers;   ᯮ짮 䨣樥, ਢ  쬮 )   ᫥騬:塞 ᠭ  樨 ( )  䨣樮 䠩 Apache .htaccess㥬 䠩 (  7-zip  gzip)      (७  䠩   ०, .css  .js). ਬ, ᫨    䠩 anyname.css,  ᫥ 㯠 砥 䠩 anyname.css.gz; २뢠  ⭮  anyname.css    ࢥ.  gzip   :gzip -c -9 -n anyname.css > anyname.css.gzmv anyname.css anyname.nogzip.cssmv anyname.css.gz anyname.css冷  ᦠ묨 䠩  䠩  ७ nogzip.css  nogzip.js,  ᮤঠ 娢஢ . ਬ, ᫥  ᦠ⮣ 䠩 anyname.css 㦭 ᮧ  ࢥ   䠩 anyname.nogzip.css,    ᦠ⮣ 䠩.  gzip  ஢ 㦥 ந   ன ப  ⨭.


 ᫮  nginx
 ࠡ⠫  ⨬ ࢥ஬, ୮, 㦥 㬠:    ngx_http_gzip_static_module,    冷  䠩  ᦠ   ⥫ ७ .gz   ࠪ᪨   ᠭ ஡ ( 㭪樮    Apache 1.3).  ᮦ, ᮬ  襭 㤥 ⪫祭 ᦠ    䠩  㧥,   ন    (  ன).,    ⠪ 砥 -  業, ⮬ ᫨   ஥    । 頥, 㪠  ( ᮢ㯭  ngx_http_gzip_module)  ८   < >. ஡ 䨣  nginx  Apache ਢ  쬮 . 쥩  ᪠뢠,   襭       .   ३   ஡ ᬮ७ ⮤ ᦠ CSS-  JavaScript-䠩 -      ⮫쪮 娢஢.


2.3.   ᦠ⨨ CSS
஡ 㬥襭 CSS-䠩  ࠧ ⢨⥫쭮 㠫쭠,  ⥫   १ ᫥ ⭮  ⠪ ⨬樨. , ᮡ⢥,  ਢ . ୥ 뫮  5 ࠧ 㬥⮢  樨 CSS-;   ࠡ뢠 ᪮쪮 ਬ஢,  ⥬ ࣠   娢஢.  ।⠢   䨪.


㬥
CSSMin ( http://code.google.com/p/cssmin/ ). ⥪ ஢  ⥩   CSS-䠩 (㤠 㦭 ᨬ)  ᪫    ப.Minify ( http://code.google.com/p/minify/ ) . ⥪,   CSS-, ⠪  JS-䠩. ஬ ⮣,   ᪫ ᪮쪮 䠩  ,  ⭮⥫   䮭 ⨭   ⪨  ᠬ⥫쭮 ⤠ 騥 .  饬,    ।饩.YUI ( http://developer.yahoo.com/yui/compressor/ ). YUI-compressor (ᯮ짮  2.2.5). ᪨,    ᠬ,   । ⥪.CSS Minifier ( http://www.artofscaling.com/css-minifier/ ).  ࠧࠡ⠫ ᮡ⢥  ᦠ (᫥     ᪮쪮 ࠡ⠭  CSS Tidy), ,   ᮡ⢥ ⢥ত, <  >.    ஢ਬ  .CSS Tidy ( http://csstidy.sourceforge.net/ ). ஥  樨 CSS-䠩   室 .   ஥, ७ᥭ  ᪮쪮 몮  ᯮ  ᪮쪨 ,  । 㬥਩  樨 CSS-䠩, ਬ,  www.codebeautifier.com.   ப ࠭  . ⢥ 室 䠩 ࠫ ⠡ ⨫   筮 ⨢ 頥 ᮢ.     ࣭ ⢨  ( Minifier ⥫쭮 䠩 ᪫   ப; ⭮,  ६  ⥪饩 ᨨ), ⥬ 娢஢. ४⭮ 樨  ஢﫠 ( ⨬   ᮡ ᨢ    ஡: CSS Tidy  ।묨 ன ॣ㯯஢뢠 ᥫ,    ).


᪨ १
 ࠦ  䨪? 뢥 먣 ( 業) ⭮⥫쭮 ᦠ⮣ 䠩 (  न ⫮ 業).    ⫮  䠩.  㯮冷祭  饩 ⥯ ᦠ.砫   㬥 - ⤥ 䨪: 뢥 ⥫  ⮩ 樨 䠩,  ⠪  樨  ᫥騬 娢஢.    䨪 뢠 ⥯ ᦠ ( 業) 䠩   ⮣ gzip.  㬥 ਢ   䨪 ( 娢஢). ⢨⥫쭮, ⥭  먣  Minifier.
. 2.7. 䥪⨢ ࠧ 㬥⮢  樨 CSS-䠩  ࠢ  gzip
 娢஢, ,    ᥡ ਬ୮ .


. 2.8. 䥪⨢ ࠧ 㬥⮢  樨 CSS-䠩   ⥫ 娢஢  ࠢ  gzip
 筥 ⨭  娢஢ ஢ 䠩 ⤥쭮 뫮 뤥  २⢮ ⭮⥫쭮 筮 娢஢.


. 2.9. 䥪⨢ ࠧ 㬥⮢  樨 CSS-䠩   ⥫ 娢஢, 㢥祭 ⠡
 㦥  ⫨,  CSS Tidy  ᥡ  楫  ⠫ ਯ⮢ (,  ᪫祭 । 砥, 먣  ॢ室 6% ⭮⥫쭮 筮 娢஢).


뢮
-, gzip  ⠪ 뢠 襥 ᦠ⨥ ( 81%), ⮬  設⢥ 砥  짮 ⮫쪮 .-,  <⪠ > (㤠  ᨬ,      ᯥ䨪樨 CSS)   娢஢  쬠 宩 १ (饥 ᦠ⨥  83%) ⭮⥫쭮 㣨 㬥⮢,   ⮬    ᥫ஢ (. . ⠪ ᦠ⨥ ᮫⭮ ᭮).-, 祭    䠩 讣 ࠧ.  易  ⥬,  gzip 砫쭮   ᦠ (⭮, - 쪮 室 ⥪ ᫮), ⮬    ᥡ  .  䠩 ⠪ ࠧ (浪 1 ) ⮨  ꥤ  㣨 䠩 (  ६  ⥫   ࢥ - ⠪   祭 樮쭮),    ᠬ HTML-䠩.      ⮨  쥧 ᭮  ⮣, ⮡ ⢨⥫쭮 ᯮ짮 -  ⮫쪮 - 먣  3-4%  ࠧ 室 䠩.-⢥, 砥,  ⥪,   ᥣ, ந뢠  㬥७ ᮯ୨  ⥫쭮 娢஢ १.  襬 砥 Minifier 㯠 CSS Tidy. 饬, ᫨   ⨬ ⥫쭮  ᥡ ,    娢஢ CSS-䠩 ( । 먣 79%)  ஢  < > । 娢஢ ( । 먣 82%). ᫨  ⨬  ⢥ ⮢,  ⮨  ⢨ CSS Tidy  Minifier ( ५ 砥  ⬥ ॣ㯯஢ ᥫ஢)  ᯮ짮 ,  ࠧࠡ ᮡ⢥ ਫ.


ࠪ᪨ ਬ
 ࠢ  JavaScript, ᦨ CSS ⭮⥫쭮 .  ᨫ ࠪ᪨  ⢨ ப, 祭  窨 ( ᭮    ⮢),   ⮦ ஡ 묨 ॣ묨 ࠦﬨ.    ⢨⥫쭮 砥  ப  窠,    ꥤ ⢥ ஡   (⠪    뢠 㦨   ⢥  祬 1  URL   ⮢). ⥩訩 ਯ  Perl  ᯥ   室 ८ࠧ:#!/usr/bin/perlmy $data = '';open F, $ARGV[0] or die " 砥  室 䠩: $!";$data .= $_ while <F>;close F;$data =~ s!\/\*(.*?)\*\/!!g;# 㤠塞 ਨ$data =~ s!\s+! !g;      # ᦨ ஡$data =~ s!\} !}\n!g;# 塞 ॢ ப$data =~ s!\n$!!;# 㤠塞 ᫥ ॢ ப$data =~ s! \{ ! {!g;# 㤠塞 譨 ஡  ᪮$data =~ s!; \}!}!g;# 㤠塞 譨 ஡  ᨭ⠪#  ᪮print $data;⠫ ண   CSS-䠩 १  ਯ, ⮡ ᦠ , ਬ ⠪:perl compress.pl site.source.css > site.compress.css⥬  ⥪⮢ ८ࠧ  㬥 騩 ꥬ ।    50% ( 먣 祭 ᨫ쭮   ⨫ ஢; 筮 㤥 祭  騩 १),  ᯥ   ࠡ ᠩ   짮⥫  ⮬ 砥, ᫨ gzip ਬ  㤠.


2.4. JavaScript:    ?
 ᬮਬ  ᦠ⨥ JavaScript-䠩  ஢     । ᪮ 樨 JavaScript-.  㦭,  , ⢥   ᭮ :   짮 - ஬ JavaScript-?  ।  㭨ᠫ쭮 ।⢮, 뢠饥 訥 १  饬 設⢥ 砥?᫨ ⠪ ।⢠ ,   ਨ ᯮ짮  㬥⮢?⠪,  ⠭  ࠧࠫ.  ३ ᮡ⢥  ᠬ 㬥⠬  䨪 ⥯ ᦠ 室    ਬ.


㬥  ⮤
ᥣ 㤠 㦨 5 न쭮 ࠧ ।  樨 JavaScript-䠩,   ࠡ  ⮭ ਫ (   ,    㤥  ᪠  ᮡ   ᯨᠭ, ਥ,  饬,  ⮬⨧  㡫樨 䠩  production-ࢥ).JSMin ( http://www.crockford.com/javascript/jsmin.html ).  ப ࠭ , ᭮뢠   ࠢ, ७ᥭ  ⢮ 몮,  ⮬ ᫥   ᠬ JavaScript.JavaScript::Minifier ( http://search.cpan.org/~pmichaux/JavaScript-Minifier-1.04/lib/JavaScript/Minifier.pm ). ⤥ <૮> ,  ⥯ ᦠ 祭   JSMin,   ⫨  ࢮ ᨭ⠪.Dojo ShrinkSafe aka Rhino ( http://dojotoolkit.org/docs/shrinksafe ). ࢮ砫쭮 ࠧࠡ뢠  Rhino, ⥬  祭  ⠢ Dojo. ᪠  JAR-.Dean Edwards Packer ( http://dean.edwards.name/packer/ ). 筮 ப  㬥    ⭮ Dean Edwards. ७ᥭ   모,  ⮬ ᫥  PHP4/5.YUI Compressor ( http://developer.yahoo.com/yui/compressor/ ).  ।⠢ ⠪  㦤 -    ᭮ ஢ ⨬ ᠩ⮢ Yahoo.   ᯮ짮  2.2.5. ᪠  JAR-.  뫨  ᪮쪮 筮   ப ᯮ㥬 JavaScript-䠩 ( ,    㦠  ⮬    ᯮ    ) ࠧ ࠧ஢  ⥯ 砫쭮 ᦠ. 室 䠩 ᦨ ᥬ ।⠢묨 㬥⠬, ⥬ 娢஢.   祭  㦭 뫮 ந  - ᫥⥫쭮,   﫠 ࠪ  २⢠ ᦠ 䠩 ஭ ।⢠. ਥ  ⠪ ᫥⥫쭮 뫠 ࠭ 砫쭠 <ᦨ> 䠩 (, ᪮쪮   娢). 祢,  ᫨ 䠩 㦥 筮  娢,  ।⥫쭮  ᦠ⨥ - ஬     (⠪ 䠩 筮 ଫ  쭮 筮 ⨫,    㦥 㤠  ਨ).   ⢥न   ਬ.


᪨ १
 䨪, ᮡ⢥.    ࠦ? 뢥 먣 ( 業) ⭮⥫쭮 ᦠ⮣ 䠩 (  न ⫮ 業).    ⫮  䠩.  㯮冷祭  饩 ⥯ ᦠ. 㬥 ਢ   䨪. ⥭  먣 Packer  娢஢.


. 2.10. 䥪⨢ ࠧ 㬥⮢  樨 JavaScript-䠩   ࠢ  gzip
 娢஢, ,     ᥡ ਬ୮ .


. 2.11. 䥪⨢ ࠧ 㬥⮢  樨 JavaScript-䠩   ⥫ 娢஢  ࠢ  gzip
 筥 ⨭  娢஢ ஢ 䠩  ⤥쭮 뤥  २⢮ (᫨  ) ⭮⥫쭮 筮 娢஢.


. 2.12. 䥪⨢ ࠧ 㬥⮢  樨 JavaScript-䠩   ⥫ 娢஢, 㢥祭 ⠡
 㦥  ,  YUI Compressor  ᥡ  楫  ⠫ ਯ⮢.


஬ 뢮
-, ⮨ 㪠  ࠪ᪨ 筮  JSMin  JavaScript::Minifier - ᪮॥ ᥣ,    筮 宦 .  ᫥   ⥭樠 (  ஡ ᬮ७ 䠩, 祭 ᫥⢨  ࠡ, ,     㬥襭 ),   ࠡ⠥  ᪮쪮 ࠧ   (3-5 ᥪ㭤 ⨢ 0,3-0,5  Packer  PHP).-, 䠩,   1    娢஢  먣  70%, ஢   ᫠.   ⠪ 砥  १, ࠢ  㫥. ᫨  ࢥ ⤠ 訥 ( 20   ᦠ⮬ ) 娢஢ 䠩 (.gz),  ⮨  㬮砭  ஢   JSMin.-, ᫨  ࢥ  ন ᦠ⨥ ਯ⮢,  ⤠  , ஢   Packer, -  ⠪ 砥 먣 㤥 쭮 ⥫ (⢥, ᫨ ࠧ 䠩  1 ).    ।  50%- २⢮ ⭮⥫쭮 ᦠ⮣ 䠩.-⢥,   ⠫  (ࢥ ⤠ 筮 訥 gzip-ᨨ 䠩,   娢) ⮨ ᯮ짮 YUI Compressor ( ।  6%- २⢮ ⭮⥫쭮 ⮣ gzip).


   ᫥ ᦠ?
 ⬥,   樨 JavaScript-䠩 㦭 ᫥  ⥬, ⮡ 㭪樮  㬥訫 ᫥⢨ ⮩ ᠬ 樨.  ஢ન JS-䠩  ࠡᯮᮡ   ⭮  ஥ JSLint ( http://jslint.com/ ),  ࠢ 室 䠩  ஬ ᯥ䨪権  ᨭ⠪  뤠 ᮮ饭  㦥 訡. 


 㧪 JavaScript-⥪
 砫 2008   PDWiki  ஢ 쬠 騩  ந⥫쭮 JavaScript.  ᮡࠫ ࠧ, ᪮쪮   JavaScript-⥪ (⢥, ᪮  㧪 㤥 ⭮   ᪮ 㧪 ᥩ ࠭). १ 뫮 ࠧ ⮢ 㦥  祭 ଠ樨  ࠧ 㧥஢, ⥬ ᮡࠫ  १  ⮣ .   筮  ଠ樨,      ࠧࠡ稪 -ਫ, ⠪  ࠧࠡ稪 㧥஢: ஢ ⠪ ࠧ  筮   ⮩  ꥪ⮬ ⤥쭮 ᫥.


⮤ 㯠 JavaScript
 㧪 JavaScript- 筮 ।,  祬  㦠 䠩, ⥬ ॥  㧨.  ᪮쪮  ᮮ⢥ ⢨⥫쭮,  ४᭮ ⢥ত 쭥襥 祭 樨.  ᬮਬ ᪮ 㧪 ⥪ jQuery   ଠ: 筮, 㬥襭 (  YUI Compressor)  㯠 (ᯮ Packer). ᫨ 㯮冷   ࠧࠬ,  㤥 ਬ୮ ⠪: ᠬ 쪨 ਠ - ⢥, 㯠, - ⥬ 㬥襭, ⥬ ଠ. 㯠     室:  㦭 ᭠砫 ᯠ (믮 筮 殮 eval  replace)   ⮣  JavaScript  ஭ .  ᯠ   筮 த⥫쭮 ६  㧪 ࠭.   ᯮ짮 㬥襭 ᨨ,   殢, 㤥 ⥫쭮 ॥, 祬 㯠 -   筮 讬 ࠧ 䠩.  ਢ ࠢ ६ 㧪 ࠧ ਠ⮢ 㬥襭 jQuery. ਢ ࠢ ६ 㧪 ࠧ ਠ⮢ 㬥襭 jQuery.
ਠ

। ६

襭

519.7214



591.6636

ଠ

645.4818
 2.1. ६ 㧪 ⥪ jQuery,  뫠 ࣭ ࠧ 㬥襭 祢,   ᯮ짮  孨 ᦠ ⮨   ⠪ 㫥:६_㧪 = ६__᪠稢 + ६__ᯮ

 ⮬ 㯠 ਠ,  訬  ࠧ,  ந뢠  ந⥫쭮 㣨,  ६ ᯮᮡ ।⠢ ଠ樨.

 ⮣ ᥬ 襯ਢ 몫,  ᤥ ᫥饥 祭. ᫨ ᯮ짮 gzip-ᦠ⨥  ⥪⮢ 䠩,  訬 롮஬ 㤥 ਬ YUI Compressor  ⥫쭮 樨 CSS-  JavaScript-䠩. 騩 䠩 㤥  । ᠬ 쪨   ਠ⮢ ᦠ  㤥 㦠  㧥 ᨬ쭮 .


ந⥫쭮 㧪 JavaScript-⥪
 ⮣ ᫥      ﭨ ந⥫쭮 ࠧ JavaScript-⥪  㧪 ࠭.  ࠧ,      ࠧ ⥪ 㤥 㦠 ॥ .  १⠬ ,  jQuery 㦠 筮  ⭮⥫쭮 㣨 ⥪ (200-400  - ⢥ 먣  ᪮).  ਢ । ६ 㧪 娢஢  㬥襭 ᨩ ⥪   .
㬥਩

। ६

jquery-1.2.1

732.1935

dojo-1.0.1

911.3255

prototype-1.6.0

923.7074

yahoo-utilities-2.4.0

927.4604

protoculous-1.0.2

1136.5497
 2.2. ६ 㧪 ࠧ ⥪ ( ஢ ᨨ,   ஢) , 筮,  ࠧ,  ⭮ ஢ 㧪 ⮫쪮 ஢ ࠭, , ᮣ᭮ ᫥ Yahoo  ஢, ਬ୮ 50% ⥫     ஢ ᮤঠ ࠭. ⮬  㡥,   ⮫쪮 ࢮ砫쭠,   ஢  ࠭ ⠪ 㦠 ᨬ쭮 . ⠪,  ਢ   㧪 娢஢  㬥襭 ᨩ  
㬥਩

। ६

yahoo-utilities-2.4.0

122.7867

Jquery-1.2.1

131.1841

prototype-1.6.0

142.7332

dojo-1.0.1

171.2600

protoculous-1.0.2

276.1929
 2.3. ६ 㧪 ࠧ ⥪ (஢ ᨨ,  ⮬ ஢) ᫨ ਭ   ஢ ,  ࠧ ⠭ 㦥  ⮫ 祢 (ᥣ 10-30  -  ᪫祭 Dojo/Scriptaculous).  ⮣,  㧪    প 室  樠 ⥪ -  ⮬ ⠪    ᯮ짮 ਭ樯 ᮧ  JavaScript-ਫ.  ⮬ ஡ ᪠뢠  ᥤ쬮 .   ⮬ 稬  ᦠ⨥ ⥪⮢ 䠩  ३     - 㬥襭  ࠧ ࠧ ଠ⮢ ࠦ.


2.5. PNG ⨢ GIF
७ᨬ ⥢ ᪨ ଠ (. Portable Network Graphics, PNG) ࠧࠡ뢠   䥪⨢,   ᢮  ⥭⮢  GIF-ଠ. PNG  㬠  ࠭ ⤥ ஢ ࠦ  쭥襣  ࠭   . PNG  ᮧ  1995   ⢥    ஭ Unisys   ⥭   LZW-ᦠ, ᯮ㥬  GIF.  ப ⢨ ⥭ Unisys 㦥 稫, 稭  室  GIF  PNG ⠫ ࠪ᪨ ०.  GIF-ࠦ ⥬  ᠬ묨,   ଠ PNG,  ᪮ 㧪 ࠭   䨪 짮⥫.


 ᦠ
PNG ᯮ  deflate-ᦠ 筮  ᪮騬   32 . Deflate  襭 ᨥ ⬠ ᦠ Lempel-Ziv (LZ77),  ਬ  zip-  gzip-䠩.  Phil Katz  ன ᨨ PKZip, deflate ᮢ頥 LZ77  ஢ Huffman    10-30%  䥪⨢, 祬 LZW,  ᦠ⨨   ଠ樨.     gzip,  㬥  PNG-ᦠ । 樮 ࠬ <⥯ ᦠ>,    1  9.  㬮砭 ⠢ 6. ࠪ᪨ ᥣ 訬 롮஬  ᨬ쭮 ᦠ  9.㤨⥫쭮,  ࠦ, ࠭  PNG, 筮  10-30%   ࠧ, 祬 GIF,    ।     ᪮쪮  ( ᥣ     ࠦ). 筮 ࠦ  訬 ⮭묨 ﬨ ᦨ , 祬 ࠤ  訬 ⢮ 室  梥⠬.


 PNG
 PNG   ⥩,    ਢ⥫  ᯮ짮   ,  ॡ ਬ ࠭祭 . প  PNG 16-⭮ ன 誠 ४᭮ 室  ᮧ  ࠤ᪨ ࠦ. PNG ।⥫쭮 䨫   ⭮ ࠦ   ।᪠⥫ 㭪権.     <> (. Up),   宦    ⨪ 蠡  梥 PNG. PNG  ஢묨 梥⠬ (8 ⮢  ) 筮  먣뢠  ᯮ짮 䨫樨, ⮬ ⮨ ᯮ짮 <祣> (. none), ᫨   롮.  梥   ࠦ  ਬ <⨢> (. Adaptive) .  Greg Roelofs, <PNG  ᭮ ᯮ  ᮧ 24- ࠦ  RGB-, ਬ ⨭  ⠭ ᢥ饭   ᫮ ⥪  ⥬᪨ ꥪ⮢.    ⢥ ᣫ묨 梥⮢묨 室,   ᦨ   PNG-䨫஢.  ࠪ⠫   ᥡ ⠪  ࠧ,     ᠬ  ਬ஢  筮 <㬫> ⥩,  ᦨ 쬠 ᫠>. -࠭   ᯮ짮 PNG8 (8- ଠ),   ண    騥 GIF-ࠦ.  PNG ⠪   -祭   梥  , ஥ 䠪᪨ 砥,  ᯮ RGBA-,   RGB-XOR-᪠,  GIF.   ஢ ஧筮 梥   ।, ࠭ २⢠ 8-⭮ ࠦ । 32-. PNG  ⠪ ᮤঠ ⮫쪮  ஢ ஧筮, ᮢᥬ  GIF89a.  ᦠ PNG   ਧ⠫ 蠡 ᮢ  LZW-ᦠ⨥  GIF. ᫮ PNG-䠩 ⠪   ⮡ࠦ  ࠭  㧪 ⮫쪮 25% ᥣ 䠩,   ६  GIF ॡ 㧪 50% ࠧ । ᯮ.  ᪫祭 쬠 । 砥  GIF-ࠦ  PNG- ᯮᮡ ⢥ 㬥  ࠧ. ਢ   ⥩ PNG-ଠ.8- (஢ ), 16-   48 梥 ࠦ.ࠤ -஧筮  16 ⮢.-४ (     ஡筮).襭  ࠢ  LZW  ᦠ.㬥ୠ 奬  ஢ ࠦ (Adam7).⠤ (ᦠ  ᦠ).ଠ, ᢮  ⥭⮢.


প PNG  㧥
 Netscape ⢥ প PNG 쬠 ࠭祭: 稭  ᨨ 4.04,  Internet Explorer    樮 ⥬.  Macintosh IE  ন PNG  ᨨ 5.0 ( ⮬ ᫥  -). MSIE  Win32  Unix  ⢥ প PNG (   쬠 ।⢥) 稭  4.0,   ন -  ᨨ 7.0 ( ࠢ   䨫 AlphaImageLoader).   讥 ⢮ ࠧࠧ 㧥஢ ⠪ ন PNG,    1-⭮ ஧筮,   ᯮ짮 PNG   ஢ GIF.


PNG  ஡ ᮮ⢥⢨  䮭 CSS-ࠦ
 , প ⥩ PNG-  梥⮢ ४樨   㧥୮.   ४㥬 ன  ࠢ  訡 㤥 ᪫祭 ࠣ⮢, ᯥ稢   梥⮢ ४,  ᮧ <> PNG (㤠 gAMA-砭).  蠥 ஡ 梥⮢ ᮮ⢥⢨  ᮢ६ 㧥஢, ஬ Safari  Mac  OS 10.4 (   㤠 sRBG-砭; ஡  㤠 砭 ᪠뢠  ). ⤥ PNG-ࠦ  ᮢᥬ  ஡,    -࠭,  ॡ 筮 ᮮ⢥⢨ CSS-䮭  PNG,  ᮦ,   祭 (   ࠭ 㪠묨  ﬨ).


஢ PNG: MNG ⨢ "PNG+"
ଠ ⠢ ⥢ 䨪 (. Multiple Network Graphics, MNG) ।⠢ ᮡ ᪮쪮 PNG-ࠦ,    GIF89a.  MNG-ଠ   ᫮   ন ⥪騬 㧥ࠬ ( ⮣ 㦭 ᯮ짮 ᯫ⭮ ७ libmng).㯯 ࠧࠡ稪 Mozilla ਫ ⥪騩 (  ࠦ) PNG-ଠ  㧥 Firefox 3,  ᪮쪮 ⥫ ஢  樨.  ⠪ 筮 ।  ஭ 童 㯯 PNG, ࠧ㬥饥 ᮧ 祣- ; ,  ⨢饣 ᯥ䨪樨 PNG.   ࠢ ⥫쭮 , 祬 MNG,     ᮢ  㯯 PNG.   樨 ࠦ  ᥣ ਬ GIF89a  Flash.  ᫥ ⨦  ୮ 䨪, SVG  ࠧ⨥ 樮 JavaScript-⥪ ⠢ ॠ ७ 㪠 ଠ⠬.  ,  १ ᪮쪮   ᫮   㧥 㤥 ⢫  ᯮ짮  ⠪ 室.


  쪨 PNG
PNG ࠡ⠥   訬 ⮭묨 ﬨ. ⮡ 㢥 ⥯ ᦠ, ⮨ 㬥 ⢮ <㬠>   ⨭  㢥祭 ࠧ஢ ⮭ ⥩. 蠩  ࠧ뢠,   ࠦ  ࠤ⠬ ࠧ뢠  ᯮ짮  㡨 梥.  ᣫ ⥪  㬥襭 ᫠ 梥⮢,    室,  䨭쭮 ࠦ.  㬥蠩 ᫮ 梥⮢  襬 室 ࠦ, ᫨   ࠧࠡ⪨  䠪  ஫஢. ⮨ ⠪  ᯮ짮 ᫮ PNG-ࠦ  㬥襭 ࠧ 䠩, ⠪  ᥬ室 ᫮ 奬    20%  35%  ࠧ PNG-䠩. ,  ਬ ᯥ樠쭮 ணࠬ ᯥ祭  ⨬樨 PNG-ࠦ, ஥ ᯥ樠쭮 ࠧࠡ뢠  ⮩ 楫, ਬ pngout  pngcrush.


 ᮢ

 ਢ ᪮쪮  ᮢ⮢,  ⥪騥 ࠦ  ⥫쭮 㬥  ࠧ.   ⮩ ਯ,  ॡࠥ ४ਨ  ࠦﬨ । 㡫樥 ᠩ   ᫥騥 ⢨ ( ਢ ਬ ᪠ ⨫   ப   Linux):

८ࠧ뢠 GIF  PNG ( ஢,    ⮬ 먣):
convert image.gif image.png
 ⠪
gif2png -nstO image.gif image.png
蠥 PNG-䠩  ࠧ:
pngcrush -qz3 -brute image.png result.png
᫨  ⮬ 㦭 㤠  gAMA-砭, :
pngcrush -qz3 -rem gAMA -brute image.png result.png
᫨  ⮬ ⨬ 㤠 㣨 砭, ⢥騥  梥⮢ ४, :
pngcrush -qz3 -rem gAMA -rem cHRM -rem iCCP -rem sRGB \-brute image.png result.png
蠥 JPEG-䠩  ࠧ (  ⢠):
jpegtran -copy none -optimize -perfect image.jpg > result.jpg
 Windows  㬥襭 PNG-ࠦ  ᯮ짮 TweakPNG ( http://entropymine.com/jason/tweakpng/ ).  jpegtran   ஢ ⨫ jpeg,   㧨  : http://sourceforge.net/projects/gnuwin32/ .

 ⤥쭮 ⮩ ࠭ 騩 ࠧ ࠦ   㬥襭  20-30% ⮫쪮  ᫥ ⨬  ᮢ⠬.



2.6. 塞 favicon.ico -  ?
 । १樨 Yahoo!  ⥬ ᪮ ந⥫쭮 ( 2)     favicon.ico.  ਢ ᪮쪮  䠪⮢       ᮢ⮢. 㥬  ४樨.www.mysite.ru/favicon.ico.室 :㧥   砥  ,  ⢥ 404-訡, ࠢ cookie,    CDN,蠥  ᫥⥫쭮 㧪 ᮢ.蠩  (<=1). ⮨ ᯮ짮 ஢ .⠢  Expires.  favicon.ico ⠢ 5-10%  饣 ᫠ ᮢ  ᠩ.favicon.ico, -, 訢    -⢥ ࠧ 㧥஬  饭 ᠩ, -, 㦠,   冷 㧪.  祣  ,     筮 ⨭  㧪 ᠩ, ⮬    㦥 饩 ଠ樨  ஢  ⥫ ᫥, ⮡ ꥤ ,  ⭮ ணᨢ 祫   ⥬.   室 祭 ਠ ,  ஡ ᮢᥬ  ⠪ ஧筠,  ।⠢﫮 砫쭮. ଠ .ico ।⠫   ᢥ, 쬠 룮  ᯮ짮  ୥.


⪮ ᠭ ଠ
favicon.ico  ଠ .ico ( ᠬ , ⠪ ଠ ,  ᮮ⢥騩 MIME-⨯ ਦ  ;  ⮬  ꥤ ᪮쪮 쭮 ᯥ᪨ ⨯; ஡  ᬮ    Wikipedia, http://en.wikipedia.org/wiki/ICO_%28icon_image_file_format%29 ).   ஭,   ।⠢ ଠ   ( ⫨稥  JPEG).  㣮 ஭,  䠪᪨   BMP,   ⮬  室⢮ 稢.   ਢ   ᯥ䨪 (  ⠪ ᫮,    㦨, ਬ,  ᫥饬 : http://www.daubnet.com/formats/ICO.html ),    ࠧ ᨫ  :  ᯮ짮 ஢ 梥⮢ (,  㦥  GIF)   ᯮ짮  ᦠ (  㦥  PNG). ᭮?   த.⢥,  ଠ ᫥    ⥩ ଠ:BitCount2 bytesbits per pixel = 1, 4, 8Compression4 bytesType of Compression = 0


 饭
᫥  ᪮ 㤠 ᮡ ⮢ 㦥  Firefox 3, ᯮ饥 base64-஢ ⨭   .ico.  ᤥ ⮭ ࠦ ( 4 ) ࠧ஬  318 ⮢ (⨢ 894 ⠭;    3 ࠧ).  ன  2   㤭  Safari, ४ १   㤠, , ,  ⠪  ᯮ짮. , - ,  576 ⮢ -  祭 .  ⮨ , , -,   ᯮ 䠪᪨ ⮫쪮 2 梥, ⮬   ᦠ   襣 ࠧ. -,   ࠧ (32x32, 48x48) 먣  業 㤥 ⠪ . . .   16   㤥 ᯮ 㬥 ࠧ  3-7.     १ ᯮ㥬 ३   ( ଠ  ᮧ ஢ ).


⨬ ࠧ
⥬  ᫥ , ᬥ饭        ࠧ  ⠭ favicon.ico (ࠧ ⨭ - 16x16 ᥫ).  3232  4848 ࠧ 䠩  㢥 ਬ୮  4  9 ࠧ ᮮ⢥⢥.


 ( )

2 

198

4 

318

8 

1406

24 

894

32 

1150
 2.4.  䠩 favicon.ico 16x16  ᨬ  ᯮ㥬   ᪨   ᬥ  ࠧ 筮   ᫮ ३,    ᥣ 䠩 ᥣ 62 , ᭮  -  .


PNG -    ?
 Wikipedia 㪠뢠,   .ico  ᯮ짮 .png   ᯥ⨢  ଠ⮢, ਬ塞  ᦠ ࠦ   ⢠.  ᮮ⢥饬  䠩  ᥪ樨 head ࠭   ᥩ   ⠥ Internet Explorer, ⠪   室   ᬮ७ ⮫쪮  ୠ⨢. ભ,   । ࠧ PNG-䠩    ᨫ쭮 , 祬 ICO,   ᮢ ⥫ ⥫, 稢     㧥஢,   - ⮫쪮  IE.


 ᫨   ᦠ?
᫨    ⭮ ᯮ짮 ଠ ଠ (PNG, GIF)  ।⠢ favicon.ico,  祬   ⢮ gzip-ᦠ⨥   뤠 ᪮ 㧥? .   㠫 㧥  .   ⮬ ⠢ 浪 300 ⮢ (㬥蠥  3 ࠧ  ࠢ  室).,      㬥襭 favicon.ico  楫,    ᮫ . ᫨    ࢥ 㦥 ᯮ ᦠ⨥,   㤠   image/x-icon    .


data:URI  ᯠ?
 ⢥ 孮 ६쭮 ⨬樨  ᬮ  祭 favicon.ico  ⮪ data:URI (஡   ᠭ  ⢥⮩ ), ⮡ ⮡ࠧ ࠭  ᪮ 㧥 ᫥ ࢮ   ࢥ (ࠧ㬥,   ࢥ 㩤 -⢥ HTML-䠩, ᮤঠ騩  室 ⠢騥  ᥡ).  冷 ᠩ⮢ ⠪ 室 ᮢ襭 ᫥, ⮬  楤  ࠧ 㤥 ⤠ 짮⥫ 譨 .    ਬ  ४ ࠭,  짮⥫  㢨 ⮫쪮  ࠧ.


祭
   ᯮ ⮢  १樨 Yahoo! 뫮   ⮬,  favicon.ico <蠥>  㧪 ࠭.   㤨   ࢥ  㧪 ࠭,  䠩 ⢨⥫쭮 訢 -  । 饣  㧪, ਥ஢筮 ᫥ CSS-䠩   䮭 ࠦ, ⮬  ⨬     祢 ⮢  ᪮७ 㧪 ᠩ   ࢮ 饭 (  襬). ࠤ ⮣ 㢠  짮⥫ (祬  㦠 譨 10  ,       16x16 ᥫ?)  ⮨ ࠧ㢠  ࠧ  ᮡ 室.  ᢮ ⥫.


2.7.  cookie
 ⢥ ⥫쭮 ठ  ᬮ७ 㬥襭 ⢠ ।   ࢥ஬  ⮬ 㦭 易⥫쭮 㯮 cookie. Cookie    HTTP-,  㧥 뫠  ࢥ,  ࢥ ࠢ  ⢥ (᫨  㡦,    : Cookie  Set-Cookie -    砥   ⠪ ⢥). 騩 ࠧ HTTP- 筮  ॢ室 500-1000 ⮢,  cookie  ⢥  㢥 (⠪    뢠 ࠭祭  4 ). ꥬ  ଠ樨  ᪮쪮  ࠧ cookie   筮 ⢨  ᪮ । .  ᬮਬ,   ᯮᮡ 㬥襭  থ.


⨬㥬 ࠧ,   ६ ⢨
 設⢥ 砥 짮⥫   㦭 뫠 ஬ ᨢ   ࠧ -     ࠭ ⮫쪮 ᨮ 箬. 室  ⮣ ⮨ ᬮ  ᯮ짮  cookie  ⠢ ⮫쪮 ⢨⥫쭮 室. ਠ,  ⠭ cookie ⮫쪮  । ࠧ  ᠩ  ࠭稢 ⮫쪮 ⥪饩 ᨥ 짮⥫  ᠩ (  㤥 ࠭  ୮ 室).  cookie  ஢ ப ⢨,  㤥 ᪮쪮 ஢  ﭨ, ᫨ 짮⥫ 㤥 室  ᠩ 筮 ।:    室 cookie  㧥 뫠  ,   㤥 ࠢ ࢥ. ⮬   ந⥫쭮 ᮡ  .


⨭  ⮢  cookie
 ᮪㦥 ஥⮢,  ⨢ ᯮ cookie  ६ ஢ প  , ⮨ ᬮ 뭮 ᪨ ᮢ  ⤥ ,  ண cookie    ⠭.  砥  ᬮ ᯮ짮  (   ᯮ, ᫨ cookie ⠢  *.domain.ru)   孥 ஢ ( ⠪ 砥 ਤ ॣ஢ ⤥   ࠭ ᪨ ᮢ).      ஡  묨 ப-ࢥࠬ:   ⪠ ஢ 䠩  䨧᪨ ࠧ .



 3. ஢


3.1. Expires, Cache-Control   
஢ ࠥ   ᭮ ஫  த⢨ ᠩ⮢  ࠢ⥫쭮  ࠨ  ஭ ࢥ. -ࠧࠡ稪  ⠫  ஢,  㧥  ப騥 ࢥ,  ᪮ ࠡ ᠩ⮢  짮⥫, 祭   ࠭  ᥡ ᨬ쭮 讥 ⢮ 㬥⮢  쭮 . ⨨ ࠭ ᠩ  㧥 (᫨  ࠭ 뫠  ࢮ    ᫨  㦥 室   ᠩ   諮) 㧥 쬥  (  ) , 室  ⮡ࠦ ࠭  , 祬 쬠 ᨫ쭮  ᪮ 㧪 ࠭.   ⮬   㠫쭮 ।⠢塞 , ⮬ ⨪ ஢   㧥 ॠ  -ࠧ:    -᢮  ஬  楫⭮  㠫쭮 . ⢥  ன 筮 ᯮ  㧥  ࢥ  筮 ஢  URL. ⮡  ࢥ ,  䠩  , ॡ ᯮ짮 㣮  䠩.   -ᠩ 筮 ⠭ ⠪    䠩,     ᨨ    䠩 (ਬ, common.v1.css ⠭ common.v2.css). ⢥⢥, 뫪   䠩 ⮦   ணࠬ ,      몠 ணࠬ஢  ⥬ 蠡.


ன  HTTP Expires
 Expires   ᯥ䨪樨 HTTP 1.0.  HTTP-ࢥ ࠢ  (ਬ, HTML-࠭  ࠦ) 㧥,   ⥫쭮  ⢥⮬ ࠢ    ⪮ ६. 㧥 筮 ࠭    ଠ樥  祭  ப ⢨  쭮 .  ᫥ 짮⥫᪨     ⮬   㧥  ࠢ ⥪饥 ६   ६  ஢ . ᫨ ⪠ ६ 㪠뢠    饬,  㧥   㧨   ,  ⮣ ⮡ 訢   ࢥ. ᫨  祭 ப ⢨  室  饬, 㧥 ( Internet Explorer 4.0) -० 믮 ⥫ GET-  ࢥ  ।,   ஢   ⠪ ,   ࢥ. ᫥ ⥫쭮  뫮 ⠭,  প  ⥫     ⨬묨,  室묨.  ⮩ 稭   㧥஢ 뫮  ᫥騬 ࠧ: ᫨ 砭 ப ⢨ ஢  , 祬 ६ ,  㧥 㧨      ᮢ  ࢥ. ,  ᯮ  Expires   頥,  । 塞 ࠭,  ⨬ 먣  䨪,   짮⥫ ॥ ⮡ࠧ ࠭.஢  ⨬஢   ⥬ ன ,  ࢥ ࠢ   ॡ㥬 ᮢ.  ⮣ ⮡ ⤠  ᮤঠ, ࢥ  ࠢ ,    㦥  ஢  䠩,  ண ⠭,  ப  ࠭   饬. ⨭ 筮 ⠪   , 祬   訢 ᭮  ᭮? ஡  ᯥ 㤥 ᬮ७  ᫥饬 ࠧ.⠭  Cache-Control,  Expires  ᯥ প ⮪ HTTP 1.0  1.1.  ⢥ ࢥ, १ ⮫쪮    饩 ଠ樥,  룫拉 ᫥騬 ࠧ:Date: Tue, 17 Apr 2008 18:39:57 GMTCache-Control: max-age=315360000Expires: Fri, 14 Apr 2018 18:39:57 GMTLast-Modified: Mon, 16 Apr 2008 23:39:48 GMT


䨪 ஢
 ᯥ䨪樨 RFC-2616 HTTP-஢ 饭 楫 .   ஡ ᬠਢ,   ⤥ .  ⠭  祢 . Expires ⠭ ६ 㠫쭮 ଠ樨.  ᮢ,    ஢,  㦭 ⠢  ⥪騩  (㬥 ॢ ࠧ  ᫥ 祭),  ஢ ஢   ।  筮    饬, ਬ:Expires: Mon, 13 Oct 2019 00:00:00 GMTCache-Control ।  ४⨢, ⭮ ।⢥  ६  ᯥ䨪 ஢ 㬥.   ஢  ⠢  ᫥騬 ࠧ:Cache-Control: no-store, no-cache, must-revalidate᫨  , , ⨬     㧥  筮 த⥫ ਮ ६,  ⮨ ᯮ짮 ⠪ 樥:Cache-Control: max-age=31536000  砥 ப ஢ ਬ୮ ࠢ  (60 * 60 *24 * 365 ᥪ㭤).४⨢ Pragma: no-cache ᯮ  ⮪ HTTP/1.0.       ࠢ   ॢ襩 樥. ,  ४⭮  ஢ ⮨   ⠢    -    猪,   짮⥫᪨    ࢥ   ⮪  㤥 ᯮ짮. ਬ, wget   ন HTTP/1.1 (- Content-Encoding: chunked).


ࠪ᪮ 饭 ஢
 ஢   אַ  䨣樨 Apache (஡ 䨣  ⨬쭮 ந⥫쭮 ਢ  쬮 ).  ⮣  㦭 ᫥騥 ப:# ஢塞,  祭 mod_headers#  ⠢塞  Cache-Control<IfModule mod_headers.c>Header append Cache-Control "no-store, no-cache, must-revalidate"Header append Pragma "no-cache"</IfModule>#  ஢塞 稥 mod_expires  ⨢㥬    # Expires<IfModule mod_expires.c>ExpiresActive OnExpiresDefault "now"</IfModule>


襭 ஢
  ஢  ⠢ 㧥  ࠧ  㦠 㬥   䠩.  ᫥ 砥  ᮢᥬ  ⨬쭮   ਢ  ⭮  ࠡ  ᠩ⮬.  ᬮਬ,   ⠢ ப ⢨   筮 த⥫쭮 ६.# 訬 ஢  1 , ஢ਢ 稥 mod_expires# Apache ᠬ   ⠢ ४⭮ max-age<IfModule mod_expires.c>ExpiresActive OnExpiresDefault "access plus 1 year"</IfModule> ⮣  ⨫ 㧥ࠬ 㦠 ᪨   ᠩ, 祬 ⭮ 㢥稫  ந⥫쭮.     , ᫨    訬  室  䠩?


஢  
᫨  ⠭ ६ ஢  ᪮쪮  (䠪᪨  ᪮筮),   㦭 - ࠧ ᮮ ᪮ 㧥,  室 -   :  㧥   ୮  .   ⮣ 㦭? ,  ⮣, ⮡ ᮮ   䠩  ⠪ 砥, 㦭    - . .   䠩  㣨 URL,   㤥 ࠭஢    쭮 .    ᤥ  ᯮᮡ. -,     䠩  GET-ப , ਬ, ᯮ  ᨨhttp://webo.in/a.css?v23  ᫥ http://webo.in/a.css?20081010  ᯮᮡ    (  砥,  䠩 ⨫), ⮬ 㧥 易  .-,    ᨨ   ᠬ 䠩http://webo.in/a.v23.css⮡ ᪫  ஡  묨 ப騬 ࢥࠬ,    ஢  ᥡ 䠩  GET-ࠬࠬ.  ⮬ 砥 (    䨧᪨ 䠩)  㦭 ய  䨣樨 ࢥ (ਬ, Apache), ⮡   ⠪  ⤠  ࠧ     䨧᪨ 䠩.   ᤥ ਬ୮ ᫥騬 ࠧ (ࠢ  CSS-  JavaScript-䠩):RewriteRule ^(.*)\.(v[0-9]+)?\.(css|js)$ $1.$2 [QSA,L] ࠧ,  䠩 a.v23.css 㤥 ⤠ a.css.᫨ ⥪ 䨣  ᯮ짮 ᫥ ਠ,  ⮨ ⠭  .    ਤ ⢫ १  GET-ࠬ஢ 室 䠩.<஡> 筮 ஢    ४ਨ ᪮쪮 , 祬 ᯮ짮 GET-६.  ⢥ ᭮ 㬥  ਢ ᫥饥 㦤: ᫨  -  楯窥  ࢥ  㧥  騩 ப,   㬮砭     <?> ᪨  ࠢ   ࢥ,    ᪠  ᥡ  쭮 . 㧥, ࠧ㬥, 㤥   ⮬ 砥 ᪮쪮 . - ᫥  㤥  < ᯨ窠>, ⠪  䥪 㤥 ⥭ ⮫쪮  饭 ᠩ 㣨 짮⥫ ⮩  쭮 ,  ਬ.  ⥬   䥪 ,  業 ᮢ   X-Forwarded-For 筮 .


3.2. ஢  IE: pre-check, post-check
 ࠧࠡ⪥ -ᠩ   ࠭ ᨫ쭮 .  ࠭   ,  ⠭   ⥬   ᠬ  ᢮ ᮧ.  ⮣ ⮡  ᠩ ॣ㫨஢ ,  ன 㧥  訢 HTTP-ࢥ    ,  Internet Explorer 5 뫮  2 ७ HTTP- Cache-Control: pre-check  post-check.  ᮦ, 㣨 㧥  ঠ 樠⨢, ⮬  ४⨢    ⢨⥫ ⮫쪮  IE.  ७, Internet Explorer 㬥蠥 ⥢ 䨪, ⠪  ࠢ  ᮢ  ࢥ. ⥫쭮  ⮬ 蠥 짮⥫᪮ ⨥,  㧥 ⮡ࠦ     ஢   䮭 ० ᫥ ᯥ樠쭮 ࢠ.


䨪
७ post-check  pre-check  Cache-Control । ᫥騬 ࠧ.post-check। ࢠ ६  ᥪ㭤, ᫥ ண    ஢७  㠫쭮.  ஢ઠ   믮  ᫥ ⮣,  짮⥫ 㧨 ࠭  ,   ᫥饩 㧪  易⥫쭮    .pre-check। ࢠ ६  ᥪ㭤, ᫥ ண ஢ઠ 㠫쭮    ந ।  ⮡ࠦ  짮⥫.


ᬠਢ ஡



. 3.1. ࠬ ࠡ pre-check  post-check
  㧥 㯠   ⨥ ,  室  ,   ⮬  ᮤন ७ Cache-Control (ࠢ  ࢥ    HTTP-⢥), ⮣ IE ᯮ  ७    祭 ᫥ ᨨ ࠭  ࢥ 㤥 ᫥饩:᫨   稫 ࢠ ६ post-check,   ⮡ࠧ ࠭  .᫨   ᫥  ࠭ 諮 ६, 饥  ࢠ post-check  pre-check,  ⮡ࠧ ࠭  .  ⮬  䮭 ० ᨬ HTTP-ࢥ  । ⮣, 﫠  ࠭   ᫥  㧥஬. ᫨ ࠭ 﫠,  ᨬ   ࠭  .  ⮬  㧥 祣  :   㤥   , 祭 砫쭮  ,   㧪 ந ᨬ쭮 .᫨ 㦥 ⥪ ६, ⬥祭 ࢠ pre-check,    ࠭ 짮⥫ ᭠砫 ᨬ  HTTP-ࢥ,   ࠭  ६  ᫥ 㧪 㧥஬. ᫨ ࠭ , 㧨   ⮡ࠧ  . ᫨ ࠭  ,     ७ Cache-Control   砥  .⨬,   <> (  F5)  ᪠  堭, ⮬  <> ᥣ ࠢ  ࢥ  If-Modified-Since.    ᠭ    뢠  뫪.


ਬ ᯮ짮
 ᫥饬 ਬ ࢥ 㢥 Internet Explorer,  ᮤঠ 㬥  㤥   祭 1  (pre-check=3600)     㦠 אַ  쭮 .  砥   ࠭, ᫨ 짮⥫    祭 15 , Internet Explorer  ⮡ࠧ  ,   ⮬  䮭 ० ஢,   ࠭  ࠭ 㠫쭮,   室 㧨   ࢥ.Cache-Control: post-check=900,pre-check=3600ᯮ짮 ᠭ ࠬ஢  ⮭ ன 饭 ࢥ  IE   쬠   ᮪㦥 ஥⮢, ਥ஢  짮⥫ Internet Explorer.    ⢥ 㬥 ᫮ ᮢ  ࢥ    , ⠪  ন 㠫쭮 㥬 㬥⮢.


3.3. Last-Modified  ETag

 ᬮਬ,   ୠ⨢ אַ ࠭祭  㧮 ᮢ  ஭ ࢥ  ࠭   짮⥫᪮ .



Last-Modified

⥫쭮   Cache-Control,  ।० 㧥,  ᫥   訢 室 㬥  ࢥ ஥ ६, 㤥  ஢    ࠧ  . ਬ,  㦭, ⮡ 㧥 짮⥫ ஢ 䠩 ⨫  ०, 祬 ࠧ  ,   ⮬ ᠬ 䠩   筮 । (ਬ, ᪮쪮 ࠧ  ).  襭 ⠪   뫠 ਤ㬠   Last-Modified  If-Modified-Since.

  ࠡ⠥? ⥫쭮  ਮ ஢ ࢥ  ⠪ ࠢ  Last-Modified,  㤥  ६ ᫥  䠩  ࢥ. ᫨  㧥  㦥 ⠪ 䠩  쭮 ,    ࠢ  ࢥ If-Modified-Since  ᮮ⢥騬 ६.  砥, ᫨ 䠩    ६ ᫥ 饭, ࢥ ⢥ - 304   㤥 뫠 ᮤন 䠩.

 奬   ६, 稢  । ,    ᯮ짮 㧥  ࠢ 㤥 ⠭ ᮥ  ࢥ஬, ⮡ 㧭,     .



ETag

ETag (. Entity Tags -  魮⥩) - 堭,  ᯮ 㧥  -ࢥ, ⮡ ।,   ꥪ, 室騩   㧥, ⠪ ,  ᮮ⢥騩 ꥪ  ࢥ.  魮⥩     Last-Modified   ᪫祭 ⮣,   ⢥ ⥣   । ந쭠 ப. ࢥ 㪠뢠 ETag  , ᯮ HTTP- ETag:
HTTP/1.1 200 OKLast-Modified: Tue, 12 Dec 2008 03:03:59 GMTETag: "10c24bc-4ab-457e1c1f"Content-Length: 19145
, ᫨ 㧥  । 㠫쭮 ,  ।  If-None-Match  । ETag ⭮  ࢥ. ᫨ ETag ᮢ, ⢥  ࢥ 室  - 304, 㬥, ⠪ ࠧ, ꥬ ।  19145 ⮢:
GET /b.png HTTP/1.1Host: i.webo.inIf-Modified-Since: Tue, 12 Dec 2008 03:03:59 GMTIf-None-Match: "10c24bc-4ab-457e1c1f"HTTP/1.1 304 Not Modified
 ETag  Apache , ਬ, ᫥饩 ४⨢  䨣樨:
FileETag MTime Size
 ⮬ ETag 㤥 ନ஢    䠩   ࠧ.



஭ ETag  Last-Modified

஡ ETag ⮨  ⮬,  筮  ᯮ ਡ, ᯥ  ।  ࢥ. ETag  ᮢ, ᫨ 㧥 㧨  ࠭   ࢥ  ஡ ஢   㣨 ࢥ஬ ( ண ६  䠩 ()    ⪮ ᪥   䠩 ⫨  ࢮ) -  祭 ࠭, ᫨  ᯮ   ࠡ⪨ ᮢ.  㬮砭  Apache,  IIS   ETag ⠪ ,     ⥫ १  ஢થ  㠫쭮   ࠧ ࢥ.

Apache 1.3  2  ETag  ଠ inode-size-timestamp.  ᫨     䠩  ࠧ ࢥ     ⮩  ,    ࠢ, ࠧ  ६,    㤥 ⫨  ࢥ  ࢥ.

IIS 5.0  6.0  宦 ଠ ETag: Filetimestamp:ChangeNumber. ChangeNumber- ७ ६ IIS  ᫥   䨣樨 ᠬ IIS,   ࠭⨨,   ६ 㤥    ࢥ, 㦨 -ᠩ.

 १ ETag,  ᣥ Apache  IIS    ⮣  䠩,  ⫨  ࠧ ࢥ. ᫨ ETag   ᮢ, 짮⥫  㤥  쪨   ⢥  - 304 - ᮡ⢥, ࠤ 祣 ETag  ࠧࠡ뢠.   㤥  ⠭  ⢥ 200    襭 .

᫨ ᠩ 室 ⮫쪮   ࢥ,   㤥 让 ஡.  ᫨  ᯮ ᪮쪮 ࢥ஢  Apache  IIS, ⠭騥 ETag  ᮮ⢥⢨  ன  㬮砭, 짮⥫   㦠 ࠭,  ࢥ 㤥  㧪,   ,  㤥   䨪,  ப-ࢥ   ஢  ⥭ ⠪,  ⥫ .  ᫨  Expires 㤥 ⠭   饥,   ࠢ 㤥 室 ᫮ GET-,  짮⥫ १㧨 ࠭.

᫨   砥  २,  ।⠢ ETag, ⮣  ᮢᥬ ⪫ .  Last-Modified  ஢ 㠫쭮   ᭮  ६ ,  ⪫祭 ETag   㬥    ⢥. ᫨  ᯮ Apache,   ப
FileETag none
 䨣樮 䠩 ࢥ.



3.4. ஢  iPhone
 MacWorld'2008 Steve Jobs ஢,  Apple 㦥 த  ⥪騩  4  iPhone,  ⠢  20  iPhone  .   Net Applications ,    짮⥫ ୥  iPhone 﫠  0,12%   2007 , ,  ᮢ㯭,  㧥   ன, ࠡ騥  ࠢ Windows. iPhone  Apple    짮⥫, 室  ୥ १  ன⢠.-ࠧࠡ稪 ⥯  ᮧ 㭪樮  ਢ⥫ ਫ,  ࠡ  iPhone-ᨨ 㧥 Safari   ன.   ⮬ ᠬ iPhone  ⮫쪮 ।⠢   筮    ࠧࠡ稪  ன,   㦨  㭨 ஡   ந⥫쭮.  ⮣ ன⢠    㯭 ⮫쪮 ࠭祭 ଠ,   ᭮  ⬮ ஢  ⢥  ᮧ ᮪ந⥫쭮 ᠩ.   ᪫⥫쭮 ந⥫쭮 Yahoo! ᬮ५ 騥 ᢮⢠ iPhone. ᭮ 業   ᫥ ᫥ 饩:ᨬ ࠧ      ⤥쭮;ᨬ ࠧ    ⮢;䥪  gzip-ᦠ  ᨬ쭮 ࠧ ;     ᫥ १㧪 iPhone. ᯥਬ⮢  讬   Apple iPhone, ⠪   iPod Touch 稫 .


  
 १ ᫥ 뫮 ⠭,  ᫨ ࠧ ⮢ ॢ蠥 25 ,  㧥  iPhone    . ⮬ -࠭,  ஥஢ ᯥ樠쭮  iPhone,  㬥 ࠧ ⮢   祬  25 , ⮡ ⨬஢ 饥 .訥    ⮬,  ᫨ 㧥 㦠  , ࠧ ண  祬 25 ,      ,  㦥 室  . ஢    묨, ⮫쪮 ᫨ ᫥  ॢ室 25 .  ⮬ 롨ࠥ ᠬ 쪨  ᫥ ᯮ㥬. www.apple.com 㪠,   ।  10   㠫 ⮢.  ।   ᯮᮡ⥩ 㧥 ࠭ 䠩  ⨢  (  ᪥).  ॠ ᨬ ࠧ 䠩,  iPhone  ࠡ뢠, ⥫쭮 .    ⥪饩 ࠣ樨   㣨 ਫ,  饭 ࠫ쭮  㧥஬. ,   ⨫  , 訢 㧥஬ ᭮ ᫥  ⥪饩 ࠭.뫮 ⠪ ⠭,  ᨬ ࠧ   ᪮쪨 ⮢ ( 楫 ࠭  ᥬ 室묨  ᠬ) ⠢ 475-500 .


 
뫮 ஠஢,  ﭨ   뢠 । ⮢  筮  ᦠ⮬ . ।   25       ⮣,    ।  娢஢ . Safari  iPhone    ⮣,   ࠭  .  ࠧ, 祭  ⮫쪮 ᦠ ࠧ 䠩,    ન  樨  ⮢. ࠧ    祭, ⮬    ६ ।  . ⮬ ४ ࠧ   ࠭  䠩  25 ,  ⥬ 㦥 ਬ   ᦠ⨥.


᫥ १㧪
 砥,  짮⥫ iPhone  iPod Touch 㦭 १㧨 ⥬, , 㣨 ᫮, 몫 ன⢮  㧨  .  ⮣ 㦭 㤥ন  sleep  祭  ᥪ㭤, ⮬ ᬮ  ⠢  몫祭. ।,  짮⥫ ᬠਢ  ᠩ  ࠧ । ⥬,  १㧨. ࠭  ⨭  ⠡ ⨫   㧥, ᪮ਢ 㧪 襣 ᠩ,  짮⥫   ୥? १ ᫥ 뫮 祭,   㧥  iPhone  ࠭ ᫥ १㧪.  砥,    Safari  iPhone 砥  ⥬   ᮧ ⠬ ஢ ᨩ ⮢,   ࠭   ﭭ .


祭
 砥 ॠ쭮 室 ᠩ   㦭 ஥஢ ᯥ樠쭮  iPhone. ஬ 襭 㤮⢠ ᯮ짮 ⮨ ⠪    㬥襭 饣 ࠧ ࠭  襭 ᪮ ந⥫쭮.   砥  㦭 ࠭ ࠧ   ⮢ ࠭ 25   ⨬樨 饣 . ࠭祭 ᪮ ⥢ ஢ ᮥ  iPhone   ⪮   㧥  १㧪 뢮     㬥襭 ᫠ HTTP-ᮢ  襭 ந⥫쭮.   ⠭   , 祬  砥 㧪 ࠭  筮 㧥. ஡  㬥襭 ᫠ ᮢ  ࢥ - 孨 ꥤ 䠩, ᯮ짮 CSS Sprites  data:URI - ᪠뢠  ᫥饩 .



 4. 襭 ᫠ ᮢ


4.1. ꥤ HTML-  CSS-䠩
᫮ ᮢ   㧪 ⮬  㧪 ࠭.  ᫥ ᫥, 浪 40% ६ 㧪 室 ⮫쪮  ⠭  ᮥ  ࢥ஬.  ⮬ ᢥ  ⮤, 騥 㬥 ᫮ ᮢ, 룫 쬠 ᯥ⨢.   ⠪ ⮤, 稭  ⮣ ꥤ ⨫  ਯ⮢  稢 data:URI, 筮 ᫮  孮᪮ , ⮬  拉 砥    㯠 祭 ६. cookie ⠢        ,  砥  ࠢ 㧥஬     ⨭  襣 .  १ 400- ⢥  ⨭ ॢ  1000 ⮢   ,  ᨬ    cookie. ᫨  ࠭    㥬 ꥪ⮢  訥 cookie  ,  ⮨ ᬮ  뭥ᥭ  ᮢ  㣮  (ਬ, ⠪ 㯨 , ᯮ ᪨ 䠩   yandex.net)  㡥,  cookie ⠬   . ᨫ  室  ।  ꥪ  让 䠩 㧨 ॥, 祬   ,    ࠧ  ࢮ. ⮨  ६  , ⮡ ਢ  뢠 JavaScript-䠩    , ࠢ   CSS-䠩. ᫨  襬 ᠩ  ᯮ , ஡ ᤥ ᯥ樠 ਯ  㡫樨 䠩  <> ࢥ  㬥  ⢮. ᫨  ࠭  讬 ꥬ ᯮ ⪨  GIF-䠩 ( ଫ ࠭  䮭 ⮢), ⮨ ᬮ  ८ࠧ   ⮩ CSS- (  ॡ ⠪ 讣 ᫠ ⨭) () ꥤ  ᪮쪮   䠩. ꥤ HTML-䠩  筮 ⮥ ࠢ  ᢥ ᫠ ३  ࠭   (      ,   ३  ᮧ  㬥  ॢ ࠭,  筮 ᮥ). ⮬  ᬮਬ,   ᤥ  䠩 ⨫.


CSS-䠩  砫 ࠭
   ந⥫쭮 -࠭  ᥣ ⨬, ⮡ ࠭   ᮢ ⥯, ⮡ 㧥  ⮡ࠧ  ⥭ ࠧ ,     .  ᮡ   ࠭,    ⥪⮢ ᮤঠ,   짮⥫   祭.  㠫쭮 饭 짮⥫  ⥪饬 ﭨ 㧪 ࠭ - ஬ ண ⠫쭮 祭  㬥஢.    砥 ᥣ , ᫨  ஫  ண 㯠 ᠬ ࠭.  㧥 㦠 HTML-䠩 ⥯ - ᭠砫 , ⮬ , ⨯   . . -   㦨 ⫨ ஬ 㧪  짮⥫.   蠥 饥 ⫥  ᠩ.饭 CSS   ࠭    ⥯ ⮡ࠦ  㧥ࠬ,  ᫥  室  Internet Explorer. 㧥  稭 㠫஢ ࠭, ⮡  諮 ᮢ뢠 ,    ६ 㧪  ⨫. Firefox 稭 ࠧ ᮢ뢠 ࠭,   㧪, , ᮢ뢠       ᢮,    稭  ⨫ ⥭  ४ᨢ  .䨪 HTML 4 ⠭,  ⠡ ⨫   祭   head 㬥: < ⫨稥  <a>, <link>   ⮫쪮  ᥪ樨 <head>,  ⠬    ᪮쪮 㣮 ࠧ>.    ୠ⨢ -  ࠭   ⨫ ⥭ -  ⮨ ⮣ ᪠ ( ࠧࠡ稪 Firefox  Opera 㬠 ᪮쪮 ). ⨬ 襭  ᫥ ᯥ䨪樨  祭 CSS  head-ᥪ 㬥. ஥஢  ᠩ⮢  ᫮   ࠢ  ᭮  ᨬ樨 ந⥫쭮.    ⮩   ᬮਬ  ୠ⨢  ࠪ⮢.


ꥤ CSS-䠩
  ࠭ 砥 ᪮쪮 䠩 ⨫:    易   쭮 ன ஥ CSS, ⠪   প ࠧ ன ᬮ -࠭.  ᬮਬ ᫥ 砩:     맮 CSS-䠩  ࠭, ਬ:<link type="text/css" rel="stylesheet" href="screen.css" media="screen" /><link type="text/css" rel="stylesheet" href="print.css" media="print" />  ᯮ  ⮡ࠦ ࠭  ࠭ ,  ன -  ।⥫쭮 ᬮ  .஡  ⮬,  㧥  ⮡ࠦ   ࠭ (  ᠥ Opera:   ६ ⮡ࠦ ࠭   㧪 䠩 ⨫   㬮砭  ன, ᬮ   ᫥騬 ࠧ: 'preferences' (ctrl-f12) -> 'advanced' -> 'browsing' -> 'loading'  '㬥' -> 'ன' -> '⥫쭮' -> '६饭' -> '㧪'),   㧨  䠩 ⨫ -  ⮬ ᫥    ,   ।祭  ன⢠,   ண ந ⮡ࠦ ࠭. 㣨 ᫮, 㧥   ࠭,   㧨  䠩 ⨫  ਭ,   ᮢᥬ   ॡ  㠫樨 ࠭.  ࠢ쭮  窨 ७ ந⥫쭮,   ⠪ (Safari,  ᠬ ,  ᥡ  ࠧ <ࠢ쭮>: 㦭 䠩  ন 㧪,   易  ᮡ  㠫樨;  ⮬  ஡ ᪠뢠 ).


ࠪ᪮ 襭
襭 룫廊 쬠 ਢ쭮:    饬 CSS-䠩  ࠢ   ன⢠ १ @media. ਬ,  ⨫  ਭ   ᠭ  ᫥饬 :@media print {⨫ ࠢ  ਭ}  ᭮ 䠩 ⨫.  ࠧ, 㤥 㦠 ᥣ ⮫쪮  䠩.  襭    ⮬⨧஢,   CMS 㦥 ਬ  室 ( ⭮, Drupal).᫨   CSS-䠩 ࠧ  㫨,  㦭 ᬮ   ⠪ ࠧ, ⮡   ࠭ 室    䠩 (訥 䠩 - 浪 5  -  ꥤ    楫 ࠧ).   ࠭  ४ ᥣ ࠭ ⮫쪮  䠩      HTML- ( ᤥ, ਬ,   ࠭ ).


 ᫮  ᫮ 
祭  ⪠ ࠭ ந ⠪ ࠧ,     ᭮ 䠩 ⨫  ᪮쪮 ⥫, ⠭   㧥 (   ᭮  Internet Explorer,   ॡ - ᯥ樠 ࠢ  Firefox, Opera  Safari).  ⮬ 砥 䠩  १ ⠪ 뢠 <᫮ ਨ>,  룫   HTML-ਨ   㧥஢, ஬ Internet Explorer ( ⠫ 㧥஢  ᢮ ᯮᮡ 㧨 - 䠩 ⨫ ⮫쪮  ).쭠  룫廊 ਬ୮ ᫥騬 ࠧ:<link type="text/css" rel="stylesheet" href="main.css" media="screen" /><!--[if lt IE 7]><link type="text/css" rel="stylesheet" href="ie6.css" media="screen" /><!endif-->  㧥஢ ᯮ main.css,   IE6   - ie6.css.  Internet Explorer  ᨩ  訢 䠩 ⨫ ࠫ쭮, ⮬  㧪 ࠭ ந 㦭 প, 易  ⠢   䠩.⮡   (ᮡ  砥 讣 ⢠ ⨫ ⭮  IE),  ᯮ짮 CSS-堪 㦥  室 CSS-䠩. ਬ, ᫨  㦭 । ࠢ ⮫쪮  IE7,    ⠪:*+html body {margin: 0 auto;} IE6:* html body {margin: 0 auto;}  IE5.5- ( 㯯 㧥஢  ᯮ ࠭஢ ᨬ, ⮬ ᬮ ਬ ⮫쪮 ࢮ ࠢ  , ஥ ࠢ ࠡ⠥  IE6, ८। ࢮ):* html body {margin: 0;marg\in: 0 auto;}CSS-堪  ᮢ襭 ᢮ ᯮ짮 ᥣ  䠩 ⨫  ࠭⨨ 㧥୮ ⪨.  ⮬ ந⥫쭮 ࠭ 㤥 ᨬ쭮 (᪫, 筮, 砩 祭  CSS-ࠢ  室 HTML-㬥 -  㤥 ࠡ  ॥,  ॢ 묨 ᫮ﬨ; ஡     ⮩ ).


4.2. ꥤ JavaScript-䠩

 譨 JavaScript-䠩  ᠩ  ᫨   让, 㦠 ⮫쪮  ࠧ  ᥣ.  祭 㤮: 㧥    ᮢ  ࢥ  ⮡ࠦ  ࠭, ᪮ 㧪 १ 蠥.  짮⥫ ⠪  ⫨,   ࠧࠡ稪.

 ᥣ,  窥    :  ꥤ 䠩   ⮣,   ࢮ   뫮    㦠.  ᥣ    ⨬ । 㦭  㡨 .   ࠧ      樨 ᫥  㫥 祭 .  ਢ ᠭ ⥩襣 ⬠ ࠧ襭 ⮩ ஡ ⥬ ᠭ ᨬ⥩  ﬨ.



⨢ ।

 砫 ⮨ ࠧ ᯮ㥬 ३  ⠢ . JSON - ⤥쭮, AJAX - ⤥쭮, ࠡ  DOM - ⤥쭮,  - ⤥쭮. ᫥ ⮣  <모뢠 㦭> ॢ頥   <ᮡ ⮫쪮 㦭>. ᮬ  - १ ᡮન ⠫ ࠧ . ᮬ  - ᫨ -  <㦭> ,  ⠥ ࠡ.

ଠ  ᨬ  ⠢묨 ﬨ  ࠭  㤮  ⮬᪮ ᯮ짮 . ( ᯮ 㭪樨 DOM, JSON - AJAX  ⠪ .)  ⮬ 蠣  - 㦭 ⠭ ⭮ 㤭,  ᡮઠ ॢ頥  㢫⥫쭮   ⨭  ⮬⨧㥬 .

  ࠭ ଠ  ⮬,   㫨 㦭 ᠩ  楫. ᯮ  AJAX? ᫨  ?  , -   ࠢ?

, ⢥,     㦭 ⮬⨧஢.



 ⥮ਨ

 ଠ쭮 窨 ७, ᫥ ⮣    । 饭  ,    ॢ ᨬ⥩. ਬ, ⠪:
- dom.js- array.map.js- array.js- sprinf.js- calendar.js- date.js- mycoolcombobox.js- dom.js- array.map.js- array.js- sprinf.js- animated.pane.js- pane.js- dom.js- array.map.js- array.js- sprinf.js- animation.js- transition.js...  ⠪  ...
  롨ࠥ ।⢥ 㦭 ᠩ 設.    dom.js  animated.pane.js.    孨 -  稢訩  ॢ쥢  㡨:
- array.js- array.map.js- sprinf.js- dom.js- array.js- array.map.js- sprinf.js- dom.js- pane.js- transition.js- animation.js- animated.pane.js
...㤠 騥 :
- array.js- array.map.js- sprinf.js- dom.js- pane.js- transition.js- animation.js- animated.pane.js
 ᫨ ᮮ⢥騥 㫨 .



 ࠪ⨪

࠭ ଠ  ᨬ , ਬ, ᫥騬 ࠧ (  <㫨> 㦥 ਨ):
// #REQUIRE: array.map.js// #REQUIRE: sprintf.js....
뤥  ⪨  ⥪⮢ 䠩  ⠢ 㤠. ⢥, ⮡   ॢ ᨬ⥩,  㤥 ன  ᥬ 㯭 䠩 -   ॢ 筮  㦭.



 祬  諨?

⨢  ࠧ  ६  ନ஢ 㫥  ᨬ⥩  ,   ६  ࠧ,  ⨬ 㬥 ꥬ 㦠 ⮢ 譥 䠩.  ⭮.  -⠪  ஡ ⠫ - 짮⥫ 㦠  JavaScript-,  ᯮ  ᠩ  祭 ࢮ 室  ந ࠭,  ᫨  ⥪饩 ࠭    㦥.

⠪,  ⠢  짮⥫   ⢥ JavaScript-䠩,  騬 祣 譥. ⠫   ⮬ 짮⥫ ⫨? . ,  । 짮⥫ ⠫  , 祬 ࠭,  稭 ⮬- 㢥稢襥 ६ 㧪 ࠭.



  ⥮ਨ HTTP-ᮢ

६ 㧪  १ HTTP-ᮥ ᪫뢠  ᫥ ᭮ ⮢:
६ 뫪   ࢥ T1-  設⢠ ᮢ 稭 ࠪ᪨ ﭭ;६ ନ஢ ⢥ ࢥ-  ᪨ ᮢ,   ᥩ  ᬠਢ, ७० ;६ 祭 ⢥ ࢥ T2, ஥,  ᢮ ।, ⮨  ﭭ  ࢥ ⥢ প L  ६ 祭 ⢥ R, אַ ய樮쭮 ࠧ .
⠪, ६ 㧪 ࠭ 㤥   ६ 㧪 HTML-   譨 ᮢ: ࠦ, CSS-  JavaScript-䠩. ᭮ ஡  ⮬,  CSS  JavaSscript-䠩 㦠 ᫥⥫쭮 (ࠧࠡ稪 㧥஢ 㦥 ࠡ  襭 ⮩ ஡  ᫥ ,    99% 짮⥫ ࠤ  ᫥⥫쭮 㧪).  ⮬ 砥 饭  ࢥ஬ 룫廊 ⠪:
- ᨫ ࠭- 稫 HTML - ᨫ  A: T1- 稫  A: L + R(A)- ᨫ  B: T1- 稫  B: L + R(B)- ᨫ  C: T1- 稫  C: L + R(C)
騥 ६   ⮬ ⠢ 3(T1+L) + R(A+B+C).

ꥤ 䠩,  㬥蠥 ⢮ ᮢ  ࢥ:
- ᨫ ࠭- 稫 HTML - ᨫ  A+B+C: T1- 稫  A+B+C: L + R(A + B + C)
祢   2(T1 + L).

 20 ᮢ   ⠢ 㦥 19(T1 + L). ᫨  筮 ⨯ ᥩ  譥/᭮ ୥ 祭 ᪮  256 /   ~20-30 , 稬   950  -  ᥪ㭤 㧪 ࠭.   ,    ⭨ ୥⮬    300 , ࠧ ६ 㧪 ࠭ ⠢ 6-7 ᥪ㭤.

  , ⥮ ,  㧪 ࠭   ॥.  祬   ࠧ諠  ࠪ⨪?



஢ ॠ쭮

  襣 ᠩ   ࠭ - P1, P2  P3, । 訢  짮⥫. P1 ᯮ  A, B  C, P2 - A,   D,  P3 - A, , E  F. ᫨   ꥤ, 砥 ᫥饥:
P1- ⨬ ६  㧪 A, B  CP2- ⨬ ६  㧪 ⮫쪮 DP3- ⨬ ६  㧪 E  F
᫨  ᫨  ᮫⭮  JavaScript-㫨 ᠩ, 砥:
P1- ⨬ ६  㧪 (A+B+C+D+E+F)P2- 譨   ॡP3- 譨   ॡ
⮬ ⠭ 㢥祭 ६ 㧪 ᠬ ࢮ ࠭,    짮⥫.  ⨯ 祭 ᪮/  稭 ந뢠 㦥  ⥫쭮 ꥬ 㧪  23 .

᫨  ꥤ ⮫쪮 㫨, 室  ⥪饩 ࠭, 砥 ᫥饥:
P1- ⨬ ६  㧪 (A+B+C)P2- ⨬ ६  㧪 (A+C+D)P3- ⨬ ६  㧪 (A++E+F)
 ⤥쭮  ࠭  ⮬  㤥 㦠 ॥,    - , 祬  室 砥. 砥,  ᫥ ᯮ짮  ᥩ ꥤ ᮢ  ⮫쪮 蠥  짮⥫.



 襭

筮 , 室  ᫮襣  .  設⢥ 砥  祭 ॠ쭮 먣 筮 뤥 <> -  㫥, ᯮ㥬   (,  ࠩ ,   㦠) ࠭ ᠩ. ਬ,  襬 ਬ 筮 뤥    A  B, ⮡  २⢮:
P1- ⨬ ६  㧪 (A + B)  CP2- ⨬ ६  㧪 DP3- ⨬ ६  㧪 (E + F)
稢 ⥫ ᥩ   : < , ᫨  ?   砥 ᫨誮 쪨?>. ⢥:   蠥  뤥 2-3 ᨬ 㯯  ᢮ ᮡ⢥묨 ࠬ.    ࠧ  ଠ   筮 設 襭 -   筮  㦭; 㪮 ⥩訬 ࠢ - 祬  , ⥬ , -    ਫ筮 १.



  PHP
᫥ ࠧ JavaScript-  CSS-  䠩  ঠ 쭮    ஫ ᮧ ᯨ᮪ 䠩,   ᮥ   㬥 ( ⮣ ⮡ ய뢠    蠡 ⮡ࠦ).  ⥯  ᤥ ⠪, ⮡   蠡 뢠 㭪 ஢,  室   ᯨ, ஢﫠    䠩  ६ , ꥤ﫠   䠩  ᮧ  १뢠 gz-䠩  , ନ஢  md5-  室 䠩. ⢥ ࠡ祣 ਬ  ਢ ᫥ 㭪:function cache_js(){$arrNewJS=array();$strHash='';$strGzipContent='';$intLastModified=0;// 室  ᯨ 䠩foreach ((array)$this->scripts as $file){if (substr($file,0,5)=='http:') continue;if ($file[0]=='/') $strFilename=sys_root.$file;else $strFilename=sys_root.'app/front/view/'.$file;$strHash.=$file;// ⠥ ᮤন   ப$strGzipContent.=file_get_contents($strFilename);$intLastModified=$intLastModified<filemtime($strFilename) ?filemtime($strFilename) : $intLastModified;}$strGzipHash=md5($strHash);$strGzipFile=sys_root.'app/front/view/js/bin/'.$strGzipHash.'.gz';// ஢塞,   १ gz-䠩if (file_exists($strGzipFile) && $intLastModified>filemtime($strGzipFile) || !file_exists($strGzipFile)){if (!file_exists($strGzipFile)) touch($strGzipFile);// ᯮ㥬 㭪樨 ஥  php ⥪ zlib  娢樨$gz = gzopen($strGzipFile,'w9');gzputs ($gz, $strGzipContent);gzclose($gz);}// १뢠 ᯨ᮪   䠩$arrNewJS[]='js/bin/'.$strGzipHash.'.gz';$this->scripts=$arrNewJS;} CSS ᭮ ⥮᪨  ᠭ ,  ॠ  ᪮쪮 . ᫨ ᯮ짮 YUI Compressor,  襭 㤥 ᮢ襭  (᫨ ᨬ, ᪫ 䠩, ᦠ, २, ᤥ 娢)   ⨯ 䠩.


PHP Speedy
 ᮦ,   ᠭ  ⮤ ਬ ⮫쪮  ⠤ ࠧࠡ⪨  ⢥ ⨬樨  ॡ   ࠧࠡ稪  ᢮ ⥣樨.   १ :  , 㦥  - ⮬⨧஢ 襭  ⮬᪮ ꥤ CSS-  JavaScript-䠩?   , ᫨  ᪮ ᠩ  饩 ଥ    CMS,    㦥 <ᠬ   ᫮>? ⠪   ᯮ짮 ஥    PHP Speedy ( http://aciddrop.com/php-speedy/ ) - -ਯ,  ᯥ稢 ७ ஢  ᦠ⨥ ⮢ ࠭,  ॡ  䨪権 . 筮 ⮫쪮 ⠭ ਯ  ࢥ  ᤥ ᫮ ன, 騥  㪠 ४ਨ  ᠬ ᠩ⮬    ஢ 䠩. ਯ 㬥 ⮬᪨ ᪫  CSS-  JavaScript-䠩, ஢ , ਬ ⨬ (   Minify, http://code.google.com/p/minify/ ,  ஬ 㦥 諠  ),  ⠪ gzip-ᦠ⨥.  室  砥 ⮬ ⨬ ᠩ ᮢ襭 ᯫ⭮. , 筮,  ᫥ ᬠਢ    -  砫 ⠪ 襭  ਥ, ,  ⨦ ᨬ쭮 ந⥫쭮 ᠩ ਤ  ६     ࠨ     ਬ ᮢ  ⮩ . 楢   ୮  Wordpress  ᯥ樠쭮 ७  ᭮ ⮣ 襭, 饥 ⨬ 㪢쭮     ࠢ. 襭 祭  :   ᯮ  ᫠ ⨭ 頤,  ୮ ஥   㪢쭮 ᫥  㡫権. 頤    ⮬   ⮢,   ᠬ Wordpress   設 ⨬樨  窨 ७ 㧪.


4.3. 孨 CSS Sprites
ᬮॢ  ᯥ ꥤ ⥪⮢ 䠩, ३  ᪮  ⨬ ଠ樨.  㦥   ᠭ  㯮  孨 CSS Sprites ( CSS Image Maps).  ਢ ᪮쪮 ਬ஢   뫮.   ᮢ⮢,     ⮤   ਬ  ⨬ ࠧ. 孨 砥  ⮬,   ᮧ ஢ ࠦ,  ண ⥬ <१>   CSS-᢮⢠ background-position 㦭    砥 ᮪.  ⥪饬 ஢ প 㧥ࠬ (浪 99,9%)    易⥫쭮   㢠饣 ᥡ -, ⠪   ᮪ ᫮ ᮢ  ࢥ -  ஬ ⮣ ⤥   ।⠢,     樨  CSS- 㧥,    JavaScript- (. .  㤥 ࠡ   몫祭묨 ਯ⠬),  -  <᭮⥩>.   ᥬ  浪.


⮩ rollover-䥪
筮 ⠪ ନ 뢠 ᬥ ᪮ ⨭      - ᢮ࠧ ਧ  ⢨ (   뢠 થ⮫).  -஢ ᫮ ୠ ࠪ⨪  ⠪ 䥪 १ onmouseover/onmouseout  ⨭. אַ 襭 ਭ樯 ࠧ ।⠢    ᥬ᪠ ( 襬 砥,  襬 -   ) ⪠.  ,  祭 .   砥   ।⢠ CSS   ᥬ᪨ ࠢ ( 設⢥ HTML-㬥⮢ -  뫪,   ⠬  室  ,  ⮦ 祣 ᢥ⢥).ਬ:    뢠 㣠 ⨭.
. 4.1. ਬ 䮭 ࠦ  ⮣ rollover-䥪. 筨: www.websiteoptimization.com
⢥   CSS- 㤥 룫拉 ਬ୮ ⠪:a.sprited {background: yellow url(http://site.ru/img/button.png) 0 0 no-repeat;width: 100px;height: 20px;}a.sprited:hover {background-position: -100px 0;background-color: red;}   뫪 䮭 ࠦ   <㥤>,   ࠢ   (  砫쭮  ⪨ ࠧࠬ ᠬ ). ⥫쭮  ᯥ稫  ᮢ⨬   짮⥫,   ⪫祭 ⨭.    塞 梥 䮭   (᫨ ⨭  㧥 祭,  ࠦ   梥).


 rollover-䥪
 ⠪ ନ ⮨   砨,    䠩 ᮤন ᪮쪮 <᪨ >. ਬ,    ⠪ ࠦ:
. 4.2. ਬ 䮭 ࠦ  ᫮ rollover-䥪. 筨: www.spegele.com



஡   IE
   IE  ᯮ 䮭    ࠡ뢠  ᮢᥬ ४⭮,  㧥 訢 室 䮭 ⨭  ࢥ  ࠧ,  뢠 <> ⨭.   ਠ⮢   ⠪ ஡     樨 䮭 ,   ஧筮. ਬ,   ࠧ  ࠬ 䮭     אַ ⮬,      䮭 ୥   ஧, ⮣ 䮭 த⥫ 㤥  ᢥ稢:<a href="/"><span>砫</span></a>"a {background: yellow url(http://site.ru/img/button.png) 0 0 no-repeat;display: block;height: 20px;width: 100px;}a span {background: red url(http://site.ru/img/button.png) -100px 0 no-repeat;display: block;height: 20px;width: 100px;}a:hover span {background: transparent;} ᮦ,  ⮤ ।    ᥬ᪮ ⮬  ᯥ祭 ᪨ 䥪⮢.  ⠭ ਠ⮬ 㤥 맮 ᯥ筮  IE ⮤ backgroundImageCache (१ try   㣮 ᫮, ࠭饥  ᮢ⨬  ⠫묨 㧥ࠬ):try {document.execCommand("BackgroundImageCache", false, true);} catch (e) {}

  砥  㥬 ஢ 䮭 ࠦ,  ।頥 ᠭ  訡.


CSS Image map
 㭪 ⮨ ७ 뤥,   ࠧ㬥  ᢮ ᯮ짮 ᭮ 䠩  <ᢥ⪨> - ࠦ  . ᫨  ।   뫨  ࠧ,   㦥 ࠧ ⥩  ,  , ந.   २ ⠪ 室  ᮢ饭 ࠧ ⥩, ⮡    .  孨  ࠧ   ᪨ Image Map.
. 4.3. ਬ ࠦ  CSS Image Map. 筨: www.acronis.com



 ⨭
஬ ᪨ 䥪⮢ CSS Sprites ப ᯮ   ꥤ ᪨ ࠦ.  ᬮਬ ࠧ    ⮣ 室.᭮ ᭮ ᪫ 讣 ⢠      䠪  㢥祭 : ஭  䮭 ࠦ  ᮢ襭   ⮬ ,   ,   짮⥫  饭,  ࠭ <ࠧ>.  ⠭   ,    ࠦ 㦥  墠⠥,  १    ⮡ࠦ ࠧ ᪮쪮 . 冷.    , 㤥 ᪠     ᮢ  ᮧ  ⨭  CSS Sprites. 饬 砥 㦭 ⪮ ࠭稢 ࠧ ⥩,  ண  । 䮭 ⨭, ⮡   㢥祭 ⥪ ⨭  <> ( ⥪   ⠥ - १  ࠭ ).    ᫥ , ⠪ 㤥 ᪠   ࠧ.    ⠪ ꥤ  䮭 ࠦ  ࠭  -⢥.  室 ⥫쭮 ᮪頥 ᫮ ᮢ  ࢥ,    ᮡ  孮᪨ ᫮.  ਬ  ਢ ᫥饥 ࠦ:
. 4.4. ਬ 䮭 ࠦ <-->. 筨: webo.in



-
www.csssprites.com.  쭮  ,   㦠 ᪮쪮 室 䠩.www.printf.ru/spritr/.  ⮬ 㬥   㦠 ᪮쪮 䠩, 祭  ,   楫 ஥ .spritegen.website-performance.org.  祭  ஥, ⠪   ᮧ  ᠬ CSS-ࠣ,   ⨭ 㦭 㦠  娢.


 ᮢ
⠪, ᠬ ᭮.  砫 ⮨ ࠧ  䮭 ⨭  5 㯯 (  㯯   ꥤ     ).஢ ⨭,  ।   ᥬ ࠢ (repeat),  ।   ਧ⠫ (repeat-x),  ।   ⨪ (repeat-y) ,  । 뢠 ⮫쪮  ࠧ (no-repeat)㤠 﫮 ࠧ  ⠪ 㯯?  祭  ᮮࠦ: ᫨ ⨭ 㤥   - ࠢ,   ⮬ ࠢ    -⢥  ᢮ <>,   㤥  ⮫쪮  .  ⮨ ਥ஢  騩 ࠧ 䠩  10-20 : ᫨ 䠩 砥 ,      (ᮮࠦ  ࠧ 䠩  ࠧ  ஡ ਢ  ⮩ ).,  ⨭  ன 㯯 (騥  ᥬ ࠢ) ⠢塞   ( ,  㬠   ८ࠧ  ⨫ ࠢ  ᠬ  砥,   㦥 ⥬  ⤥쭮 ᨨ).  ⨭  쥩 㯯  ᪫  ⨪ (⮣  ᢮ ਧ⠫쭮    ⢥묨),  ⨭  ⢥⮩ 㯯 -  ਧ⠫.     ⮩ 㯯?  㦭 ,  祣 㤥 ᯮ짮  ⨭. ᫨  㤥 ࠦ 䨪஢  ࠧࠬ ,    ࠧ    ⮣ ᭮ 䠩. ᫨  㤥 ᯮ짮    ᯨ᪠ (ࠧ饭   孥 㣫 ),      ࠭⢮ ࠢ   .  ࠧ,   㢥祭 ⠪  ( <>    ᥣ   ࠢ) 祣 譥  뢮.  ⠪ 砥  ᯮ  ⨪쭮,  <ᥭ> ( ࠢ 孥 㣫   ).
. 4.5. ਬ 䮭 ࠦ  ᯮ ⨭ <ᥭ>. 筨: webo.in
ᠭ  ஡   ࠧ ᥩ  䨪஢  (䮭   䨪஢, ⮬     ࠧ  㢥祭 ,   १)   ८ ⥬ ࠧ 䮭  4  (㣫)   ᮮ⢥饣 梥 䮭   ⮢.    稥   4-  ⮢  ⮡ࠦ  㣫.      ⨬ ᥬ᪨. ,  ᮧ ⥫ ࠧ   JavaScript,  ᪮쪮  ⮣ 㤥 ⮨?      ⭮ 砥. ⥯ ३  ⮤, 騬 ⠢  ଠ ।⢥  ⥪⮢ 䠩  室  譨 ᮢ.


4.4. ⨭  ⥫ ࠭   data:URI
஥ ࠦ ᯮ 奬 data:URI  ७ אַ  ⥫ -࠭.  뫮 ।  RFC 2397, ⠪ URI ।祭  ⠢  ꥪ⮢  <।⢥ > (  ᯮ짮  ⥫ ᮢ 譨 ᮢ).  ꥪ  ᬠਢ ⠪ ,    㣨 譨 䠩. ᯮ짮 ஥ ࠦ   HTTP-  譨 ᠬ.


প 㧥ࠬ
 Opera 7.2+, Firefox, Safari, Netscape  Mozilla ন data:URI, Internet Explorer 5-7 - ⥫쭮 .  Internet Explorer 8 㤥 ন  奬.  ⠪ ᪮쪮 ਥ  প  ᨩ Internet Explorer (   ).


奬 data:URI
奬 data:URI ।⠢ ᯮᮡ  ७ <।⢥ > 筮 ⠪ ,  ᫨   뫨 祭 १ 맮 譨 䠩. ⠪   ᫥騩:data:[<⨯ >][;base64],<> 砥  ࠦ  㦭 㪠 mime-⨯   (ਬ, image/gif),    base64-।⠢ ୮ 䠩  ࠦ.  ਢ ਬ (ॢ ப , ⮡  ࠧ뢠 ࠭,  ᠬ   ):<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAIAAAD5gJpuAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAPJJREFUKM9tjz1OwlEQxH8P/hV2NIZY0NhYeA0TbkLLPTyFV6DgLhYWFIaOmEhM3szbtXhEPmSy2Z3d2Y9sORySEyKih87iCg4GYDIByEwoQGbPCowzR3mG3e576Jsz85zkLZRSIqIsFrlc5n5PBK1la0Rka2lfeDun07JafQ2bTTw/l+0WOy3klFLKWq/9fA4wADZS/g10ufdVpeqxYheIAehHq9Li1PrvgpQQw5rxk15/6mfYWR1yVIUc0pFUNync7vyw5m14gbHfQx+3l3di4Vba4z0MASOZ2Swl3LCQitQ/w8amtW4B5QBxZlymVxLwCz+JZR4AeSrEAAAAAElFTkSuQmCC" width="16" height="14" alt="७ "/> १  稬 ᫥饥 ࠦ  䫠:
. 4.6. ਬ ࠦ, ⠢   data:URI. 筨 webo.in



CSS  ஥ ࠦ
 ࠦ, ७  HTML-࠭,    ୮ ᯮ짮.      ࠭  ࠭ ( 筮:   㦭  ࠧ 㦠 HTML-  ⮡ࠦ ⮩ ⨭,   ஢ ⮫쪮  HTML,  ᮤঠ騬).  CSS-䠩 ⥫쭮  㧥ࠬ,  ⠪ ࠦ   ୮ ਬ   ᯮ騬  ᥫ஬, ਬ:ul {list-style: none;}ul li {margin: 0 0 1px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAIAAAD5gJpuAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAPJJREFUKM9tjz1OwlEQxH8P/hV2NIZY0NhYeA0TbkLLPTyFV6DgLhYWFIaOmEhM3szbtXhEPmSy2Z3d2Y9sORySEyKih87iCg4GYDIByEwoQGbPCowzR3mG3e576Jsz85zkLZRSIqIsFrlc5n5PBK1la0Rka2lfeDun07JafQ2bTTw/l+0WOy3klFLKWq/9fA4wADZS/g10ufdVpeqxYheIAehHq9Li1PrvgpQQw5rxk15/6mfYWR1yVIUc0pFUNync7vyw5m14gbHfQx+3l3di4Vba4z0MASOZ2Swl3LCQitQ/w8amtW4B5QBxZlymVxLwCz+JZR4AeSrEAAAAAElFTkSuQmCC) 0 0 no-repeat;)height: 14px;text-indent: 10px;}


஡ data:URI
 ᠭ  室  祭 ࠦ 易  ᭮ ஡. -,  㦭 뢠 base64-।⠢ ࠦ  ।஢ CSS-䠩  ࠧ,  ᠬ ࠦ .  IE  ᨨ 7 ⥫쭮  ন ஥ ࠦ.  ࢮ ஡  ⮥ 襭  PHP:<?php echo base64_encode(file_get_contents("../images/flag.png")) ?>  ⠥ 䠩  ࠦ  ⮬᪨ ८ࠧ뢠   ࢥ  base64.   ⮣ 襭   ⥫ 㧪  ࢥ.  ਠ,  ᬮ ⮬᪨   ⨭  ⠢   CSS-䠩, ਬ, ࠧ  5   室 (᫨ 䠩  ࠦ ). ⥫쭮 㦭 㤥  ⥬, ⮡  ஢  ᠬ CSS-䠩, ᮤঠ饣 ⠪ ࠦ.


  Internet Explorer
  ᯮᮡ  ⢨  IE প data:URI. ᯮ ᯮ 㧥஢ (ਬ,   ᫮ ਥ,    ⮫쪮  IE),   ⮡ࠦ 譥 ࠦ  IE  ஥ ࠦ  ⠫ 㧥஢.    ਬ JavaScript  樨 ⮩ প  IE,   孨 ॡ 쭮 ⥫쭮 ꥬ JavaScript-.  쥬 ᯮᮡ    ࠧ, 뢠饬 mhtml-孨.襯ਢ PHP-   ⠢ base64- ࠦ (   ਬ, ⮡, ਬ, ᯮ , ࠢ塞 㧥஬ ࢥ,  ⮫쪮  IE 뢮 URL  ࠦ,  ⠫  ஢   base64):ul {list-style: none;}ul li {margin: 0 0 1px;background: url(data:image/gif;base64,<?php echo base64_encode(file_get_contents("../images/flag.png")) ?>) top left no-repeat;height: 14px;text-indent: 10px;} ࢥ 筥 ஢ CSS-䠩,  ⮬᪨ ४  䠩 ࠦ  base64  ࠢ    CSS-䠩. 騬 蠣 㤥  ᯮ 㧥஢  ࠢ ࠦ ⮫쪮 IE  ஥ ࠦ ᥬ ⠫.   ᤥ   CSS-䠩  PHP-,    ᫮ ਥ, ਬ:<!--[if gte IE 5]><style type="text/css" src="ie.css"><![endif]--><!--[if !(IE)]><style type="text/css" src="main.css"><![endif]--> 䠩 ie.css   ଠ쭮 饭  ⨭, ਬ:ul li {margin: 0 0 1px;background: url(/images/flag.png) 0 0 no-repeat;}...


२⢠  ⪨ data:URI
  孨 CSS Sprites (   ୠ⨢) data:URI  ⢥ 㬥 ᫮ HTTP-ᮢ. ⪨ ᯨ᮪ ᮢ  ⮤: HTTP-, । প, 易  訬 ᫮ ꥪ⮢. ᫮ ࠫ ⮪:  㧥஢  ࠭祭 ( ᯥ䨪樨 HTTP/1.1,  Firefox, Opera  Safari ᪮쪮 쭮  ࠪ,  ⭮,  ࠨ  ࠬ  ⥫쭮  㢥稢;  ன 㧥஢    쬮 )  ᫮ ६ ᮥ (஡  ⮬ ᪠뢠  ⮩ )   ⮬. HTTPS-   ந⥫쭮  ⠪ ⨯ ᮥ. ஥ ࠦ (⮫쪮 data:URI)  ন  Internet Explorer 5-7. ⮢ base64-।⠢  ⠪  , 祬 ୮ ࠦ.    base64- 뫨  39-45%  ୮ ,  gzip-ᦠ⨥  㬥 ࠧ  5-10%. ।⥫쭠 ⨬ ࠦ । base64-஢  㬥  ࠧ ய樮쭮 ( ᦠ⨨ ࠦ 뫮 ᪠  ன ).   ࠭祭  ࠧ ஥ ࠦ.  㧥஢ ॡ ন ⮫쪮 URL   1024 ⮢,  ᮮ⢥⢨  㯮⮩ ᯥ䨪樥 RFC.  㧥  ࠫ  짮⥫  ⮬,   ਭ. ਬ, Opera  Firefox ᫥ ᨩ ন data:URI ਬ୮  50  ( IE8  । ⠢ 32 ).     孨 室     ࠧ ࠦ. ⪨ ᯨ᮪ ᮢ: ন IE  ᨨ 7 ⥫쭮.ॡ ⥫ ⢨   ७ ᮤঠ (४஢,  ࠧ ⠢).࠭祭 .  室  ⠢  ࠦ.ࠦ, ।⠢  base64-஢, ਬ୮  33%  ࠧ  ୮  ( 10% -  ᯮ짮 ᦠ).஥ ⨭ (  CSS)   ஢  ।.   ஢ ⮫쪮  HTML-.


⥫ ᮮࠦ  ⨬樨
   室  ᫮襩 樨 㤥 ᯮ짮 ࠪ  IE CSS-堪, ⮡ ⮫쪮    䮭 ࠦ.  ⮣ 襯ਢ ਬ 㤥 룫拉 ਬ୮ ⠪:ul {list-style: none;}ul li {margin: 0 0 1px;background: url(data:image/gif;base64,<?php echo base64_encode(file_get_contents("../images/flag.png ")) ?>) top left no-repeat;height: 14px;text-indent: 10px;}* html ul li {background-image: url(/images/flag.png);}*+html ul li {background-image: url(/images/flag.png);}  ஢ ࠦ,  뢮  base64, ⮬᪨    ࠦ ( ⮣ ॡ ⮩ ਯ,  ஢,   ᮮ⢥騥 䠩; ᫨ ,  १뢠  ।⠢  CSS-䠩,    -ப  祭 ⮣ 䠩  HTML, ⮡  ஢). 祭  䨪 אַ  HTML- ४᭮  ᫮ ਨ,   鸞 㧥஢ ࠦ 뢮  base64,   ⠫ (ਬ,  IE) 砥 १ ᫮ ਨ. ਬ, ⠪:<!--[if !IE]>--><img src="data:image/png;base64,..." alt="䨪" title="䨪"/><!--<![endif]--><!--[if IE]><img src="chart.png" alt="䨪" title="䨪"/><![endif]-->᫨ ᯮ짮 離 <⭮⥫쭮 樮஢ த⥫ - ᮫⭮ 樮஢ ୥ >,  IE 㤥  뢮 ⨭  譥 䠩  ⭮ ( ) ꥪ.


㧥୮ ᯮ짮 data:URI
IE ( ᨨ 7 ⥫쭮)  ন ⮪ data:URI,     base64-஢ 譨 䠩  祭  אַ  ⥫ 室 㬥 (  HTML  CSS/JavaScript-䠩).  ᫨ ᬮ ᯮ짮 ⮪ mhtml (, 筮 , ⭮ ন ⮫쪮  IE),  ⠭  ,  base64-஢ 㤠 ਬ   .


,  ࠭ Microsoft!
 IE  ୠ⨢ 襭  ⠢ ࠦ אַ  ⥪⮢ 㬥   mhtml-祭.  ⠭   ࠪ᪮ ॠ樨  CSS-䠩 (  砥  䠩 main.css):/*Content-Type: multipart/related; boundary="_"--_Content-Location: 1Content-Transfer-Encoding: base64iVBOR..*/  CSS-䠩 㦭  맢  ⨭ ᫥騬 ࠧ:ul li {background-image:url(mhtml:http://site.ru/main.css?20080531!1);}   ⨭  ⮪ mhtml ( ন ᪫⥫쭮  IE,    ⠪ ),   URL  CSS-䠩 ( ᮤন  ⨭),   砥  URL   ᮤন GET-ࠬ  ᮮ⢥饣 ஢.   ⮭ ਬ  ଠ: 室  URL ᯮ짮   ப,    HTML-䠩,  ஬ 砥  CSS,  IE  CSS-䠩 :  ࠧ  ⠡ ⨫, ன ࠧ -  ࠭ ⨭.  ᫥ ᪫⥫쭮  (!)   䨪,   稫 ⨭  Content-Location.  .


ꥤ塞 ᮢ⨬
  ஭,   奬 data:URI,  ঠ W3C  ᯮ ᥬ 㧥ࠬ, ஬ IE.  㣮 ஭,   IE,   mhtml    ࠡ 70%  짮⥫.  ꥤ   襭,    ᯮ base64-।⠢ ⨭. ࢠ: ꥤ  祭 ⨫ ࠢ, ⮡   䫨⮢   㣮. 蠥  祭     ⤥쭮 CSS-䠩  IE (१ ᫮ ਨ),  CSS-堪 (᫥ ।⥫쭥,   㦠 ᥣ  CSS-䠩).  ⮣  CSS-䠩   ਬ୮ ᫥饥:/*Content-Type: multipart/related; boundary="_"--_Content-Location: 1Content-Transfer-Encoding: base64iVBOR..*/ul li {background: #fff url(data:image/png;base64,iVBOR...) 0 0 no-repeat;}* html ul li {background-image: url(mhtml:http://site.ru/main.css?20081010!1);}*+html ul li {background-image: url(mhtml:http://site.ru/main.css?20081010!1);}   뢥 䮭 ࠦ  base64-஢   (  99,9%) 㧥஢. 祬   ᮤঠ 2 ࠧ CSS-ᥫ   ? ࢮ ।祭  IE6  । ᨩ, ஥ -  IE7. ꥤ १   .


  騪 ?
  ᪥᪨ ,   ⥫   ⮬  :    ⨭ 뢮 ⮫쪮  ࠧ  CSS-䠩 ( ,  base64-ப 䨣 ⠬ )? ⢥: .  室 . gzip-ᦠ⨥. ᫨ 祭 ⪮,    娢஢ ᮧ  ᫮   ᯮ㥬 ப,    ⮢ ।⠢.  ⠭   娢 ந室 ⭠ 楤,  祭 ᫮ ᫮ ⠢   .  襬 砥     ⨭ ᯮ     base64-ப.  砥,   娢஢  ᮦ 㤨⥫쭮 䥪⨢.⮨ ⠪ ,   ⠪ 室 १騩 ᦠ 䠩   , 祬  祭   CSS-堪  IE 譨 ࠦ  㧪 ( ᯮ  ࠧ 権).



稢訩 ⠪ ࠧ CSS-䠩 ᮫⭮  (⠪   mhtml-⠢ ந室  ).  CSS-   窨 ७ CSS 2.1,   訥 ਥ,   䥪⨢ ᦠ    㧥஢,  ࠦ  ⨨  䠩.  室 㤥 㬥 ⮫쪮  CSS.  HTML  ᮢᥬ 㣠 (   ஡ ). HTML-㬥  ⠪ 室 뢠 ,  뫨  ⢥ ஡ ⪨,      業,       祭   ந⥫쭮.


 ⮣
⨭  CSS  ⠢   data:URI. IE  ᯮ짮 mhtml,  㡫騩  㭪樮쭮. ४⭮ ਬ ⨫ 㦭 CSS-堪  ࠧ CSS-䠩.ᯮ㥬 gzip  CSS-䠩  ࠭ ᫥⢨ ⢥ ᯮ짮 base64-ப.ᯮ짮 base64-஢   ࠭  㦥 אַ ᥣ. 祭   ⮬   ᫥⢨      ஢.   室 IE8  ᮢ  ࠭  न쭮  (  ন data:URI    ᠭ 室 ਥ 㦥  ᢮ 㠫쭮).


祭 모 (base64)
⮬ 2008    ⥫ ࠭, ᮤঠ ॠ ࢮ ஢ Super Mario Brothers.  ,  饬,  ,  饭  祢 ᯥ ( ਡ,  䫠,   窮  . .).  ,  ᠬ ,  ᠬ  ᯥ ⮩ ࠧࠡ⪨.୮,  ᥣ   ⮬ -ਫ ।⠢  ᠬ ஢ 堭,   䠪,   ᮡ࠭  -⢥ 䠩 - ஢ ਯ,  砥  ஢ ࠩ   .  쬠  ࠧ ᯮ짮 孮. ⥫쭮,  ᯮᮡ 祭 모  ⮬ ਫ, ,  ⮩  . ਫ ᯮ 奬 data:URI,   몠 MIDI-䠩 Mario  base64-. 祭    室 䠩:aSounds = [// 祭 쪠   ⥬ Mario. ᠫ Mike Martel."data:audio/mid;base64,TVRoZAAAAAYAAQAEAMBNVH...",//  稫. ᠫ John N. Engelmann."data:audio/mid;base64,TVRoZAAAAAYAAQADAHhNVH..."],data:URI ࠡ⠥ ᫥騬 ࠧ:  ᮤন ࠭ 䠩     ப  室 䠩.  १  砥 1 䠩  :  室   譨.   砥  ஢ ப ࠢ  <embed/>,   ⢥砥  ந뢠 MIDI-䠩.  㦨  १  娭権  ᫥饬 :playMusic = function(iSoundID, bLoop) {if (!bMusic)return;var oEmbed = dc("embed");oEmbed.src = aSounds[iSoundID];oEmbed.id = "sound_" + iSoundID;if (bLoop)oEmbed.setAttribute("loop", "true");oEmbed.setAttribute("autostart", "true");oEmbed.style.position = "absolute";oEmbed.style.left = -1000;appChild(document.body, oEmbed);},襯ਢ   ᮧ  embed, ⠭   ⮧ ந뢠 모   ⢥ 筨  㪠뢠 data:URI.  १  砥 MIDI-䠩,  ᠬ 稭 ந뢠 (।⥫쭮,   १   祭  ᯮ짮 㣮 㭨ᠫ쭮 몠쭮 䠩 ଠ - WAV).  ଠ data:URI  ந뢠 ᥬ 㧥ࠬ,  ᪫祭 Internet Explorer. ⮬ 짮⥫ Internet Explorer    몠쭮 ᮯ஢   (  뫮  ⮫쪮  IE 㦠  ᪨, ᮧ   ᠬ embed   뫪  譨 䠩).


4.5. CSS Sprites  data:URI
 ஢ ࠢ  ᢥ饭  ⮤  न쭮 㬥襭 ᫠ 訢 䠩  ࢥ: CSS Sprites  data:URI.


஡  ⪥
  ஡ ⠫ ⠫騪,  ᯮ CSS Sprites? ,   ।, ஡   ⭮ ⨭  饬 ᨢ.  ⮣ 㦭   ⨭,    , ᮮ⢥  讬 ࠦ (஥ ),   ,      .    ᯮ ⨭  ᭮ 䠩 (ਬ, । ᢮   裡  ।묨 ᪨ ﬨ) 㦭    न   ᮮ⢥騥   CSS-䠩. 讬 ⢥ ࠩ⮢   ࠢ୮ । (ਬ,   㭪⮢ )  㤥  祭 ᫮.  ᫨  䠩 ।⠢ ᮡ  ⨭ ࠧ ࠧ஢, ਬ   Google?     ॢ  筮 謠.   砥,  ᯮ짮 ࠩ⮢  ⥫쭮 ६  ࠧࠡ⪥ ᠩ⮢.
. 4.7. ਬ CSS Sprites  ࠭ ᪠ Google. 筨: www.google.com
  IE  ஡  樮஢ ஧ PNG-⨭ ( 㦭 ⠢ १ AlpaImageLoader).  ࠧ,   ⠪ ⨭  ࠩ   (  孨 㣮).      IE-䨫 crop  ᮫⭮ 樮஢  ⥫쭮 ࠧ⪨ (  ⥩  ⭮⥫ 樮஢ ⠢塞 ࠦ  ᮫ 樮஢  뢠  ⮣ ࠦ  ⠫쭮 ᮤন ⥩ -  㤥 ᯮ    筮 浪).


஡  㧪
 , CSS Sprites ਧ 㬥 প  㧪 ࠭,   ࠪ⨪ ⠪ ந室 ⮫쪮  ࠢ쭮 室. 筮   ⨭ ꥤ  , ⨭ ⭮ 㢥稢,  㠫쭠 প  㧪 ᠩ ⮫쪮 : 짮⥫   1  ⨭ , 祬  室   쪨,  ᫥ ᯥ  <> 㧪 ᠩ.᫨ ࠩ⮢    (1-2 ⨭),  饥 ६ 㧪 ᠩ, ᪮॥ ᥣ, .  易  ⥬,  㧥  ᬮ    4-8 ⥫ ᮥ ( ⠬,  ᯮ ⨪)  㧨  室 ⨭ ࠫ쭮,   ᫥⥫쭮.  让 ⥢ প    饥 ⢨.


஡  ᯮ짮
 ᫨   ,  ࠩ ন () ᥬ 㧥ࠬ   ,  ࠢ ⠥ 筮  ᮢ,    ⮫쪮  ,  ᪮॥ ᠬ ᮧ. -,  ஡  ᯮ짮   ᯨ᪠.  ⠪ 砥 室 ᯮ 쪨 ⨭ <ᥭ>,   饬 砥  㢥稢 ࠧ 稢襩 ⨭  20-30%.-,  ᯮ짮 ࠩ⮢,    ᮢ ஡  <믮> 䮭  㦭 ⮢,   ࠭  ᥬ᪨  (⥫쭠 ࠧ⪠), ,  ,  ⥣ img, ⮫쪮 १ 䮭 ࠦ.  ७  ࠭ । ࠦ   ஢ ࠧࠡ⪨  ᯮ짮 ᠩ.-, ᫨ ⨯ ᪫  㣨 ⨭ (  㪠 ਬ),  ⠭   ᯮ짮  筮 ⨭ (ਬ,  ᨨ     譨 ).


  蠣
 ࠧ⨥ 孨 data:URI   室  ᫮襩 樨 㤥 ᫥騩 ࠪ ࠧࠡ⪨:⠫騪 ᮧ ࠡ   ᠩ,  ਡ   CSS Sprites (   -  䮭 ⨭).-孮  ஢ ⨭  base64 (+mhtml)  CSS-䠩()  ⠯  㧪   ᠩ, ᮧ ⮬⨧஢ 襭.  ⮬ ⠯  ᯮ짮  CSS Sprites,    ᫮ -  樮஢ 䮭   ᮮ⢥ ⨫ ࠢ.-ணࠬ ᯥ稢  鸞 <> 㧥஢ 㧪 ᨨ  ᯮ짮 data:URI.  ? ⠫騪  㬠 譨 ࠧ,     ᯮ  १:  樨 㦥 祭   㡫樨 ᠩ, ⮬⨧஢  ᨬ쭮 ஢  짮⥫.  ?  饬 砥, 㧪 ࠭  ᪮,    , ⮬  䮭 ⨭ (祭 १ data:URI)  㧨   ⮪,    ᪮쪮,   筮 ᯮ짮 ࠩ⮢. ᫨ 䮭 ⨭ 筮  (᪮쪮 ⪮ ⮢),    ⢥.  讬  ꥬ ( 10 ) 㤥 ⭮  ᪮७. । 㧪 䮭 ⨭  ।㧪  -㧪 (䠪᪨ ᪮ਢ     ன), ᪠뢠  .


뭮ᨬ CSS-䠩  -㧪

 ᯮ짮 data:URI ⮣ CSS-䠩  쭮 让 ꥬ (䠪᪨ ࠢ 110-120%  ࠧ  ⨭    CSS-ࠢ).     娢. ᫨ 䠩  娢஢,   ⥫ ࠧ 㢥稢 ⭮ ( 2,5-3 ࠧ ⭮⥫쭮 ࠧ  䮭 ࠦ),    ⠪ ⢥,  짮⥫  ⪫祭 ᦠ⨥  CSS-䠩 ᥩ  (筮  業).

 襭 ⮩ ஡, -,  㦭 ࠧ  ᨢ CSS-ࠢ  ⭮騥  䮭 ࠦ   ⭮騥. -, ᮮ 㧥ࠬ,    ⮡ࠧ ࠭  ࢮ ᨢ ࠢ ( ᫨   ᮤঠ ⮫쪮 䮭 ࠦ,      -).

᪨, ᯮ ⠪ 室,  ᮧ 㣮 ⥩  䮭 ࠦ ( ᭮ ࠦ,  CSS-䠩),  㤮 ᯮ짮  設⢥ 砥.  ꥤ塞  䮭 ⨭  १ CSS Sprites,  १ data:URI,   㧨    䠩 ( ஬  ⨭ 㤥 ࠭  ᨬ).  ⮬   ஡  樮஢ 䮭 ( ࠭  ஡  ()஧묨 ⨭   ᨩ IE ࠭,   襭 ⠪ ⠥ ०).



᪮ 襭

 쭮 , ⮬   㦠  ᠬ 砫 ࠭ 筮 让 CSS-䠩 ( 䮭 ࠦ, ⮫쪮  ⨫, ⮡ ⮫쪮 ⮡ࠧ ࠭ ४⭮), ⮬  ᮡ 㧪 ࠭ (஡  ⮤    ᥤ쬮 ) १ JavaScript 㧨    ᪮쪮 ⮪ ᪨ 䠩 ⨫.

    : ᫥ 㧪  ⥫쭮 CSS-䠩 㤥 ந室 ᮢ ࠭.  ᫨ ⠪ 䠩 ᥣ 1  2,  ⮡ࠦ ࠭ ந ⥫쭮 ॥.

祬    ᯠࠫ 㧪 䠩 ⨫  ᠬ 砫 㬥? ⮬   䠩  㦠 , 祬  (䠩 㦠 ᫥⥫쭮  設⢥ 㧥஢, ⮬ প  ⠭ ᮥ  ᪫뢠).  ⮬   㥬  ᨬ쭮 ஥ ⮡ࠦ ࠭  㧥 짮⥫ (襭 ࢮ ⠤ 㧪), ⮬ 室 ꥬ 㦠 CSS    ( ⠪ ᬮ ਠ  祭   ᠬ HTML).



 ࠪ⨪

 ࠪ⨪    ᨫ쭮 ᫮.  㦠  head ࠭ ( 맮  譨 䠩)  <> CSS:
<link href="light-light.css" rel="stylesheet" type="text/css" media="all"/>
 ⥬ 塞  ஢ ࠡ稪 window.onload (஡   ᪠뢠  ᥤ쬮 ) ᮧ  䠩 ⨫,   㦥 㧨 ࠭ 䮭묨 ࠦﬨ:
function combinedWindowOnload() {  load_dynamic_css("background-images.css");  ...}
 १   ᨬ쭮 ஥ ⮡ࠦ ࠭,  ⥬ ⠤ -㧪,  ﭥ  ࢥ  ⥫ ⨭ ( 㦥 ᠬ 㧥 ࠥ), ⨫ ࠢ  ਯ.



 㯭?

⥫ ⥫ 㦥 ⮢ :  , ᫨  짮⥫ ⪫祭 JavaScript?     :  塞 ᮮ⢥騩 <noscript>  প ⠪ 짮⥫.  쪨 ᮬ: <noscript>   室  <head>,  <link>   室  <body>. ᫨  ᮡ ⠭ (     ᨮ   ⠢ 㧥  㤮 ,     । ⪫  ᯥ䨪樨),  ⮨ ᪠ 室 .

᫥  ᯥਬ⮢ 뫮 뤥 ᫥饥 魮 襭, ᯥ稢饥 ࠡ 奬   㧥 (砭: ᫥ ᫥ ᯥਬ⮢ 뫮 襭 ⠭  HTML- -   訬 ᯮᮡ  㧪 㪠 CSS-䠩):
<script type="text/javascript">/* ᫨  ᬮ ᮧ ᪨ 䠩 ⨫ */if (document.getElementsByTagName) {/*  塞  㧪 祭  */document.write('\x3clink href="light-light.css"rel="stylesheet" type="text/css" media="all"/>');/* ᫥ ⮣ 稭 HTML-਩ */document.write('\x3c--');}</script><link href="full.css" rel="stylesheet" type="text/css" media="all"/><!--[if IE]><![endif]-->
 १ 㧥  祭 JavaScript  砫 ,  ஥  ⮫쪮 ᫥ <link> (ਨ    묨).  몫祭 JavaScript <script>  ࠡ⠥, <link> ࠡ⠥    । 㧪,  ᫥ ਩ 㤥  ਥ.



 襭 㧥

 室 ஢  Internet Explorer 㦨,  ᫨  䠩 ⨫ ࠧ ࠫ쭮  ਯ⠬ ( 㭪樨,    ࠡ뢠  onreadystatechange),  IE <஧> ࢮ砫 ᮢ ࠭ (. . 뢠  ࠭),    <ᢥ쪨> 䠩 ⨫.  ⮣ ⮡ Internet Explorer   <ࠦ>, 㦭 ⠢ 䨪⨢ প ᫥騬 ࠧ:
setTimeout('load_dynamic_css("background-images.css")',0);
 Safari   ⮡ࠦ ࠭  ᨬ  㦠 䠩 ⫨砥   㧥஢. ᫨   ᫮,   ⪮ । 砫  䠩, 室  ⮡ࠦ ࠭  ࠭ (HTML/CSS/JavaScript).    㦠  䠩  浪 ਮ⭮ ( 믮   ᨬ)  ஢ ६  ६,   㦥 ⮡ࠧ ࠭ (믮  ᫥  䮭 ०   ࠭).

 Safari ன 室, ⮬ 祣  뭮 㧪 ᪮ CSS-䠩  䮭묨 ⨭ ᫥ ࠡ뢠 window.onload  ⮣ 㧥   .  ࢮ砫쭠 ⨭  㧥  ⥫쭮 ॥ ( 讬 ꥬ 䮭 ࠦ).

⠪,   㭪  ᮧ ᪮ 䠩 ⨫:
/*塞 㭪  ᪮ 㧪 ⨫  ਯ⮢.*/function load_dynamic_css (src){var node = document.createElement("link");node = document.getElementsByTagName("head")[0].appendChild(node);node.setAttribute("rel", "stylesheet");node.setAttribute("media", "all");node.setAttribute("type", "text/css");node.setAttribute("href", src);}.../*  ।塞  window ࠡ稪  ᮡ onload.ᯮ㥬 ᫮   뤥 IE*/window[/*@cc_on !@*/0 ? 'attachEvent' : 'addEventListener'](/*@cc_on 'on' + @*/'load',function(){setTimeout('load_dynamic_css("background-images.css")',0);  },false);


먣

 稨   讣 ⢠ 쪨 ⨢ 䮭 ࠦ,   ⮬     ࠧ ࠢ,   祭 㤮 ꥤ     䠩  㦠  ᫥ ⮡ࠦ ࠭  ࠭.

ᠭ 孨 (㧥 data:URL  ᪠ 㧪 䠩 ⨫)    २ 孮 CSS Sprites,   㧪 ࠭.  ⮬  祢묨 २⢠:  㦭   ⨭   䠩 (  ꥤ  ⠯ 㡫樨,    ⠯ ࠧࠡ⪨),  ࠡ   ᮢ襭 ⤥쭮,    襩 ᥬ筮   襣 㤮⢠ ᯮ짮 ᠩ⮢.  ⮬   ᪮쪮 ᮪ CSS-   㭨⮦ 室 ਬ background-position.

 ࠧ, data:URI ( ᫥ ﭨ  ᪮ 㧪) ࠢᨫ CSS Sprites (  ।⥫쭥 ᫥, ᫨ ,     ஧ CSS Sprites ਤ ᮧ ⤥  䠩).  ᫥   ७  ࠧࠡ⪨  ⫨  룮 ஭: 㦭  ந ᯮ짮 饩 奬  ࠧ  蠡 ( ⮬ ᪮ 㧪 JavaScript-䠩,  ᠭ  ᥤ쬮 ,   ࠢ ਤ )   㡫樨  ਬ base64-஢  䮭 ࠦ.



4.6. ⮤ ६쭮 ⨬樨

  ᫮ 譨 ᮢ,   㧥 頥  㧪, ⥬  ६ ॡ  ⮡ࠦ ࠭.  ࠢ, -࠭    譨 CSS  䠩 JavaScript.  䠩 ⨫  ਯ⮢  ꥤ, ⮡ 㬥 ᫮ 譨 ᮢ  ⨯  . , ⢥,  쥧 ᮪ ६ 㧪 ࠭.



ꥤ JavaScript  CSS   䠩

  ᯮᮡ ꥤ CSS  JavaScript  ᢥ ⢠ 㧮  . 孨 ᭮  ⮬,  CSS   JavaScript  ᥡ  IE  Firefox.
  CSS ⠫  ᨬ  HTML (<!--)  ᮤঠ CSS, ᨬ .  JavaScript ⠫  ᨬ  HTML (<!--)  ᮤঠ JavaScript, ᨬ ᬠਢ     (//), , ᫥⥫쭮, ⠫쭠  ப ᫥ ᨬ  HTML .


ᬮਬ  ਬ
<!-- /*function t(){}<!-- */<!-- body { background-color: white; }
  CSS 㤥 ࠧ 㯮 , ᨬ  HTML  ய饭,   ⠭  ᫥饬 ਬ:
/*function t(){}*/body { background-color: white; }
 CSS  ⮫쪮 CSS-,   ਯ ஢ (/* ... */).

  JavaScript ⠭ ࠧ , ᨬ  HTML  ஢  ਨ ப (//), , ᫥⥫쭮,  ⠭ ⠪:
// /*function t(){}// */// body { background-color: white; }
 JavaScript  ⮫쪮  ਯ,   ⠫쭮 ஢. ⮡ 뫠   ,  ᯮ짮 ⥣ <script>  <link>  ࠭. ਬ:
<link type="text/css" rel="stylesheet" href="test.jscss" /><script type="text/javascript" src="test.jscss"></script>
⨬,    ⥣ 뫠      , ᫥⥫쭮,  㧨 ᥣ  ࠧ  㤥 ஢   ⨫,   ਯ.

   ,  ன ⮨ , - Content-Type ⢥.  室 ⠢  */*, ⮡  ⢥ত Firefox: ᮤঠ   ࠡ⠭  - 室饥 ( ⨫   ਯ).

 襭  ࠡ⠥  Safari (1-5% 짮⥫),  ⭮  ⮣ 㧥 (।  १ User-Agent) 㦥  ⠢ 㧪   䠩.



ꥤ HTML, CSS  JavaScript   䠩

⮡  ⥫ ᮢ  ஭ 㧥,   ।⢥ ⨫ () ਯ⮢  ᠬ HTML-㬥.

 ⮨ ⠭  ᫥饬 : ᫨ ࠧ CSS- ( JavaScript-) 䠩 , 祬 20% (  ⮬  5   ᦠ⮬ ),  뭥   ⤥ .   ந  ஢  ﭭ 짮⥫ 襣 ᠩ.

ᬠਢ 祭  ᮢ  室 HTML-࠭ ⮨ ⮫쪮  ⮬ 砥, ᫨ 筮 让 業 ⥫ ( 90%) 諨      ()  ᫥ ࠧ.   孮 㤥 ⥫쭮 ࠡ: ஢ 祣 ࠪ᪨  ,  ⥫   ࢥ  㧪 ࠭  ,   ᯥ䨪 ᠩ ⥫ (   騬 䠪஬   ⥫쭮 室).

  ⠫  -   뤥 筮 訥  䠩   筮 ⢮ 짮⥫ 室    ࠧ - ⠪ 室 ਬ.

 ࠡ稩 ਬ  ਢ  ࠭   Google -   뢠  譨 ᮢ,  ⨫ ࠢ 祭  ᠬ ࠭.


  ᭠㦨?  ⢥ 祭 ᬮਬ ᫥騩 : ⮨    JavaScript-  CSS-䠩       ।⢥   ࠭?ᯮ짮 砥 䠩  ࠪ⨪ 筮    ࠭, . . 㧥  䠩 ਯ⮢  CSS. JavaScript-  CSS-,  室  HTML, 㦠  ࠧ  㧪 ᠬ HTML-㬥.  㬥蠥 ⢮ 室 HTTP-ᮢ,  㢥稢 ꥬ HTML.  㣮 ஭, ᫨ ਯ  ⠡ ⨫ 室  ⤥ 䠩, ஢ 㧥஬, ࠧ HTML 㬥蠥,  㢥稢  ⮬ ⢮ HTTP-ᮢ (  饭). ⠪ 砥 祢 䠪஬  ,  ன  譨 JavaScript-  CSS-䠩 ⭮⥫쭮 ⢠ ᮢ ᠬ HTML-㬥.    䠪 祭 ᫮ ,   ਡ⥫쭮 業 ࠧ묨 ᯮᮡ. ᫨ 짮⥫  ६  饭 㦠 ࠭ ᪮쪮 ࠧ  㦠 宦 ࠭,  ᯮ     , -    砩,      २⢠  뭥ᥭ   ⤥ 䠩. ᠩ ⮫쪮  㤮⢮ ⨬ ᫮.  ⠪ 砥  楫 訬 襭 㤥 ᮧ 譨 䠩 ਯ⮢  ⠡ ⨫. ⢥ ᪫祭, ஥   ਢ ( אַ    讥 २⢮) -  ᯮ짮    ࠭, ⠪   ࠭  ( http://www.yandex.ru/ ),  ( http://www.rambler.ru/ )  Google ( http://www.google.ru/ ).  ࠭,  㦠 ᥣ ᪮쪮 (筮 - ) ࠧ   ᥠ, 룮  ਯ  ⠡ ⨫ אַ  HTML-㬥, ⮡ 먣  ᪮ 㧪. ⠪  ࠭,  뢠 묨   㣨  ⮣  ᠩ,   㬥 ᫮ HTTP-ᮢ   ᫥騬 ࠧ:    JavaScript  CSS   ᠬ ࠭,  ᫥   㧪 ᪨ 㦠 譨 䠩 ⨫  ਯ⮢  ᫥饣 ᯮ짮 ( ⠤ -㧪).  ⮬ ᫥騥 ࠭  ᯮ짮 㦥 ஢ 䠩.



 5. ࠫ ᮥ


5.1. 室 ࠭祭 㧥  ᫮ ᮥ

⨢ (. keep-alive) ᮥ ⠫ 騬 뢮  ᯥ䨪樨 HTTP1.1:  﫮 ᯮ짮 㦥 ⠭   ୮ । ଠ樨    ࢥ  ⭮ ( HTTP 1.0 ᮥ 뢠 ࠧ  ᫥ । ଠ樨  ࢥ,  﫮 প, 易  㯥⮩ ।祩 ⮢).  ⮬ 砥, ᫨ ஡ ᢮ ᮢ ⮨ 쭮 ,  ᬮ ⠢ 讣 ⠩  ⠪ ᮥ (5-10 ᥪ㭤).

 HTTP 1.1  -ࠧࠡ稪    㣮 .  㤥 ࠧ,   ࠭   ஡.



প  ⠢ ꥪ⮢

। -࠭ ᮤন  50 ꥪ⮢,  প  ᫮ ꥪ⮢   ᥬ ⠫묨 প  㧪 設⢠ -࠭. 㧥, ᫥ ४ ᯥ䨪樨 HTTP 1.1, 筮 ⠭   2 ६ ᮥ   ⮬.  㢥祭 ᫠ HTTP-ᮢ, ॡ㥬  ⮡ࠦ ࠭,  3  23 - ६, 稢   <> 㧪 ꥪ⮢,  饣 ६ 㧪   50%  ᥣ 14%.

᫨ ᫮ ꥪ⮢  ࠭ ॢ蠥 4,  প   㯭 ⮪  ࠧ 砭  ᫠ ꥪ⮢ ॢ  騬 ६ 㧪 ࠭ ( 80%  86%  20  23+ ꥪ⮢ ᮮ⢥⢥)  ࠢ  ६, ஥ 室  ⢨⥫ 㧪 . ६ 樠樨  ६ , 맢 ࠭祭  ࠫ ᮥ,  50-86%  饣 ६ 㧪 ࠭. 

 㢥祭 ᫠ 砥 ꥪ⮢ ᢥ 10 ६, 稢  樠 ᮥ, ⠥  80%    饣 ६, 室饣  祭 ꥪ⮢. ⮨ ⬥,   ⢥ 㬥 প  ⠢ 讣 ᫠ ꥪ⮢ ( 祬 12  ࠭) 祭  ࢥ keep-alive ०  । ᮢ  ᪮쪨 ⠬.



࠭祭 ᯥ䨪樨 HTTP/1.1
㧥 ᮧ   ,  ஬ ⢮ 짮⥫ 짮 㥬 㯮  ᮪ ய᪭ ᯮᮡ , ⮬ ⮣ 뫮  ࠭ 짮⥫ 訬 ᫮ ६ ᮥ.  প  ४祭  ⢮ ᮥ  㥬 㯥 ᮧ 訥 ᫮  ࠡ⪨  㧪  ⤥쭮 .  ⮬     -  ப-ࢥ 뫨 筮 묨, ⮡ ন ⢮ ᮥ, ⮬ ⠪ ⪮ ࠭祭 ᫠ ६ ᮥ  㧥 ⢥ ᭨   ⥢   楫.
䨪 HTTP, ਡ⥫쭮 1999 , ४, ⮡ 㧥  ࢥ ࠭稢 ᫮ ࠫ ᮢ    .  ᯥ䨪 뫠 ᠭ   ⢥ ७  㧪  뫠 ⠭  ᮥ  쪮 ᪮ 㧪. 設⢮ 㧥஢ ন  ࠭祭  ᫮ ⮪  ᯥ䨪樨,  室  HTTP 1.0 㢥稢 ᫮ ࠫ 㧮  4. ⮬ 設⢮ 㧥஢ 쥧 ࠭祭 ⨬ ࠬ஬, ᫨  室 㦠 讥 ᫮ ꥪ⮢    ( ᫮  ᪮,  IE8  ᫮ 㤥 ࠢ 6 - । থ  ⠭  ᮥ).   ᭮   室 ⮣ ࠭祭 ( , 筮, ⮭ ன ᯮ㥬 ⠬ 㧥,  ன ᪠뢠  쬮 ):
⤠  ꥪ  ᪮쪨 ࢥ஢. ᪮쪮   ᪮쪨 ⮢.⮡  室騩 , IE  ᨨ 7 ⥫쭮 ࠭稢 짮⥫ ᥣ ᥬ ६묨 ᮥﬨ   ᮥﬨ    ⮪ HTTP 1.1. HTTP 1.0  ⫨砥  ⮬ ,   㦥 ᮢᥬ 㣠 , ⮬   룮  ﭭ ᮥ 㯭 ⮫쪮, ᫨  㤥 ᯮ짮 HTTP 1.1 ( 㦥 ⠪ ).


६ 
⢥,  ॠ쭮    ⨫ 襭  ᮡ ॢ,   ᢮ ६  ।.   設⢠ 짮⥫ ப   ୥, ⮬  㧪 ⮬  㦥  ᪠ ஭ (᪠ ஭ 뫠,   㤥  㧪 ⮬  ந⥫쭮  -ਫ -  㦭 ,     ⨬஢   ⭮ 砥),  ய᪭ ᯮᮡ   設⢥ 砥.筮 প  祭 ⤥ ꥪ⮢ ⥫쭮 , 祬 ६  ⠭  ᮥ  ࠢ . 稢 ᫮ ६ ᮥ,   ᯠࠫ    ࠧ ॥ ஡ १ ⢮ ꥪ⮢,  室  ᯨ᪥   㧪,  ਢ,  ⮣,  㢥祭 頥 ᪮ 㧪  짮⥫ < ᪮ > ,   ,  짮⥫ ᠬ   ன ᢮ 㧥 (  ⮬,    ᤥ,    쬮 ) -  㤥  襩 ⥣  ⨬樨.     ࠧࠡ稪, ⮡  ⮣  䥪  ᢮ ஭?


<> ᮥ
設⢮ ᠩ⮢  ᥣ  ⮬, ⮬   㦤   2 㯭 ᮥ  ⮬ .    䥪⨢ ⮤  㢥祭 ᫠ ࠫ ⮪ 㤥 । ᮤঠ  ᪮쪨 ⠬.   ⠪ ᫮ ᤥ, ⮬  㧥   ⮫쪮   ,    IP-.  ࠧ,    ⮢ images1.yoursite.ru  images2.yoursite.ru 㧥 ᬮ ⠭   ᮥ.訥 ࠦ (ਬ, ⮢஢    ⮣䨩  )  㬮砭 㦠  த⥫᪮ , ⮬  ⠪ 㦤 ᯮ짮    㯭 ᮥ.  ।⠢ ਬୠ ࠬ 㧪 ꥪ⮢  ࠭.. 5.1. 㧪 ࠦ   ᮥ. 筨: www.ajaxperformance.com ⮬ 䨪  ,   musicstore.ajaxperformance.com  ⮫쪮 2 ᮥ ( ࠬ  쭮  ࠢ ⮫쪮  IE;   ⠫ 㧥  㬮砭 뢠 訥 ᮥ): C0  C2.  ᯮ㥬 ⮪ HTTP 1.1, ⮬   㦭 뢠 ⤥쭮 ᮥ   ⨭,   -० 塞  ६  㦨 㠫 ᮢ  ꥪ⠬. ६  ⠭ ᮥ (६  祭 ࢮ , 㡠 ᪠  ࠬ)    ६ 㧪 , ஥  ⠪  (᭠ ᪠  ࠬ).
 , ⢥, ந ᪮쪮 ࢥ஢  㦨 뤠 ⨭  㣨 ꥪ⮢, ⮡ 㢥 ᫮ ࠫ 㧮. ਬ:
images1.yoursite.ruimages2.yoursite.ruimages3.yoursite.ru
      易 室  ⤥쭮 ࢥ.


, , ॥⮡  ந⥫쭮,  ᮧ CNAME-  DNS-⠡  images1.yoursite.ru, images2.yoursite.ru  images3.yoursite.ru,    㪠뢠 ⭮  ᭮ .⮨  ,   ஥஢ ⠡㥬 ਫ,   । ꥪ  ࠧ ⠬, 㦭 ᯮ짮 -㭪.  ⠭ 筮 ᮮ⢥⢨   ࠦ  ⮬,  ண   㦠.  ⢥  ਬ஢  ਢ ⮪   md5-㬬   ப  ࠦ  ᫮ ⮢.   ᬮ ᯮ짮 ஫쭮 㬬 CRC32,     JavaScript. ࢮ 㧪 ந⥫쭮 㤥 ⥫쭮 .     ਢ 䨪, ᥩ ᯮ 㦥 6 ᮥ  㧪  ⨭ (. 5.2).. 5.2. 㧪   ᮥ. 筨: www.ajaxperformance.com


 먣
६ 㧪 ࠭  ᯮ짮 㬥訫  祬  40%.   孨 㤥 ࠡ   ,    让  ᮢ  ꥪ⠬,  ᯮ   ࢥ.  ਬ஢ ਬ ⮣ ⮤  ॠ AJAX-ਫ. ⮡ ⨫஢ ࠫ쭮 ᮥ,  Google Maps ( http://maps.google.com/ ) ⨭ ⠢  ᪮쪨 ⮢, 稭  mt0.google.com  稢 mt3.google.com.  Virtual Earth ( http://local.live.com/ ) ⠪ ᯮ  孨. 室  ⠪ ਬ, ⮡ ஢ ⤥  襣 ਫ   㣠. ᫨    ॡ 㯠      㧪 ন , 祬   ꥪ⮢, ⮨ ࠭   ᫠   ᮥ,   ᯮ짮  㧪 ⨭  襬 ᠩ, ਬ, ࠧ⨢   .  砥, ୮,  ࠪ 襭 㤥 ࠧ饭 ᥩ ⨪ (஬, , CSS-  JavaScript-䠩,    ⠤ ।㧪 - ⮡ ᨬ쭮   ⮩ ⠤ থ  ⥫ DNS-)  ⤥쭮 , ਬ, static.example.com,  㧪 HTML-࠭,  ॡ⥫  , 㤥   ᭮ .  ⮬ static.example.com    㣮 IP-  㦨  <> ࢥ஬.  ਥ     ᨫ쭮 ᪮ 㧪 襩 ࠭,  ।  頥 ந⥫쭮,  짮⥫ 㦠  ᪨ 䠩  ⥫ থ.


 ⮣

 । -࠭ ⮨  祬  50 ꥪ⮢ ( 㭥,  ᪨  webo.in,  쬠 宦: ᫮ ꥪ⮢   । 40-50), ⮬  থ  ⠢ ꥪ⮢  쬠 筮  ᪮ ந⥫쭮.   㬥 ᫮ ꥪ⮢  ࠭, ᫨ ᯮ짮 孨 CSS Sprites ( data:URI)  ꥤ ⥪⮢ 䠩  ࢥ.       짮⥫ 筮  ,   ⨣ 㬥襭 ६ 㧪  40-60% (  饣 ᫠ ꥪ⮢).  ᯮ짮 2  3   㦨 ꥪ⮢   ࢥ, ⮡ <> 㧥   ࠭祭  㧪 ᪮쪨 ꥪ⮢ ࠫ쭮.

 ⮬ 㦭 ,  㢥祭 ६ ᮢ  ⢮ ⥫ ᮢ  ஭ ࢥ (  , ਬ,  ᨬ쭮 ᫮  ᮥ  ⮢, ⠪  ⥫ ꥬ ⨢ ). ⮬  室 ⮨ ⨢ ᯮ짮 ⮫쪮  稨 <> ࢥ,  ᯮᮡ ६ ন   ⪨   ᮥ  ᮡ ࡠ  ந⥫쭮 (ਬ, nginx  0W).

⮨   , 쬠 ᭮   ⨬樨 ६ 㧪 ⥬ 㢥祭 ᫠ ࠫ ⮪. 砥   ࠢ  㢥祭 ࠧ ६ 㦠 ꥪ⮢, ⮡ ᨬ쭮 ᯮ짮 騥 ᮥ. ਬ, ᫨    40 ⨭  5 ,  ࠧ 룮 㤥 ⤠ 10 ⨭  20    ⮢, 祬 20 ( 10 )  4 ⮢  40 -  8. 騥 প  ࢮ 砥  묨  ᨫ ᨬ樨 䥪⨢ ᪮ 㧪  .

     㦠, ਬ, 4 ⨭  50   4 ⮪, ⨣  䥭쭮 ᪮७.   ࠥ ஫ 宫᪨ 䠪: 짮⥫ 㤥 ⭮, ᫨  㤥  ࠭   ⨭  ६,  㧨 50 ,       ᠩ.

⮨ ભ,   室 ਬ   㣨  ( ⮬ ᫥  HTML) 䠩,  ⮨   쬠 ⪨ ࠭祭 㧥஢  㧪 CSS-  JavaScript-䠩 (    CSS-䠩, 뫮 ᠭ  ⢥⮩ ,  JavaScript   ⠫쭮    ᥤ쬮).



5.2. Content Delivery Network  Domain Name System
 ⠢ ᮤঠ (. CDN)  ᯮ  㬥襭 㧪  ⨭  -ਫ   .  ⮬ 砥 㢥祭 ந⥫쭮 ⨣   ࠭  ॡ㥬 ᮢ   ࢥ஢.   ⠪ -ࢥࠬ ⥫쭮 稢 㢥祭 ᪮ 㧪 ⮢. ᭮ 㯮  ⠪    ᨬ쭮 㬥襭 ६ ping  ࢥ,  ਢ  騬 १⠬  窨 ७ ந⥫쭮. 㯭 ୥-  ᢮ ﬨ CDN, , ࠧ 襢 ᯮ짮 㦥 ⮢ 襭, ⠪  Akamai Technologies, Mirror Image Internet  CDNetwork.  ⠯   -ᠩ⮢ ⮨  ⥩ CDN   ୮ ᮪,    ⮣  㤨 㢥稢  ⠭   㤠  , CDN  室  ⨦ ண ⪫ -࠭.  Akamai ᭮  饬  -࠭    ᫥ 짮⥫᪨ 㧮. ⨬ ᠬ -࠭  祭 ᨫ쭮 ᪠  饩 業. ।,    ⮢ ⠪ ࢨ  ਡ⥫쭮 $8000     ࠭  320 . ᫨   ᠩ⮬ 뫠 ஢ ࠡ,   㬥訫 騩  ࠭  25%,  筠    ᮪⨫   $2000.  ⮬ ਬ   ᥣ   譥 ࠭.      ࠧࠡ   墮!


砥 CDN
CDN -  ⢮ -ࢥ஢, । ᪨  ⨦ ᨬ쭮 ᪮ ⤠ ᮤঠ . ࢥ,  ।⢥ 㤥 ⤠ 䠩 짮⥫, 롨ࠥ  ᭮  ⥫. ਬ, 롨ࠥ ࢥ  訬 ᫮ ஬ ᮢ (. hop)     訬 ६ ⪫.ᯮ짮 CDN ॡ  ⥫  (  ⠪  ॡ) ,   ⥫쭮 㢥祭 ᪮ 㧪 ᠬ -ਫ, ⮬    ᨫ쭮   , ᪮쪮  짮⥫ 室  襣 ࢥ. 饭 䠩  ᪮쪨 ࢥ, ࠧᥭ ᪨, ᤥ 㧪 ᠩ ॥  窨 ७ 짮⥫.   祣  ? ⢥ ࢮ 蠣  ஥ ⥬  ᪨ । ᮤঠ  ⮨   -ਫ  ࠡ  । ⥪ன.  ᨬ  ਫ  ⥪    ᮡ ᫮ , ⠪  ᨭ஭ ﭨ ᨩ  ९ ࠭権    ᪨ ࠧᥭ묨 ࢥࠬ.80-90% ६ 㧪 ࠭ 室  㧪  ⮢: ⨭, CSS, ਯ⮢, Flash  . .  ⮣ ⮡   ⥪ ᠬ ਫ, ᭠砫 ⮨ । ᪨ ⥭.   ⮫쪮   ⥫쭮 ᪮७ 㧪 ࠭,  ⠪  ॠ  CDN.


Yahoo!  Google
Yahoo! ᯥ稢 뤠 YUI (Yahoo! User Interface) ⥪, ᯮ । ⥬ ࢥ஢  ᥬ  ᯫ⭮.  ࢨ ᯥ稢:gzip-ᦠ⨥ (㬥蠥 ࠧ 䠩  60%  90%);;஫  騬 ;। ⨭ 䠩, ᭮  ᪮ ᯮ . ।⠢  ᭮ ।  ⥬. ࢨ ᥩ ।⠢  Google  JavaScript-⥪ ( ⮬ ᫥, ⢥,     Google, ⠪  ⮬᪠ ࠭ <祣  > (訡 404), AJAX API  ᪠  Google Maps). ⠢ ᮤঠ 뢠  ⢥ ⮣ ⨭  ⨭   (㤨-, -) 䠩,  ᥩ  ࠡ뢠  JavaScript  CSS. ᯮ짮 ஢  ⥬ ஫ ᨩ  ⠭  । 䠩  ⠪   ਢ  ⢥  ந⥫쭮.


⢮ DNS-ᮢ
⥬ DNS ⠭ ᮮ⢥⢨  ⮢  IP-ᠬ, 筮 ⠪   ⥫䮭 ࠢ筨  㧭  祫   .   ࠥ <www.yahoo.com>  ᭮ ப 㧥, ८ࠧ⥫ DNS,  ஬ ⨫ 㧥, 頥 IP- 㧫. DNS-  ᢮ 業. 筮 ॡ 20-120 ᥪ㭤, ⮡  믮   ⢥ ( ᨩ᪨ ॠ  ६ 筮 ). 㧥 㦤  襭 DNS-, ..  ⮣      祣 㦠. 襭 த⢨ १ DNS-ᮢ .  ஢  ந室   ᯥ樠쭮 ࢥ ୥-஢, ⠪    짮⥫. ଠ DNS ࠭  ⥬  ( Windows   ⢥砥 㦡 <DNS Client Service>). 設⢮ 㧥஢  ᢮ ,  騩  ⥬.  㧥 ࠭ DNS-  ᢮ ,   頥  樮 ⥬  DNS-८ࠧ.Internet Explorer  㬮砭  १ DNS-ᮢ  30 ,  㪠  ६ ॥ DnsCacheTimeout. Firefox  DNS-⢥  1 ,    ⠭ network.dnsCacheExpiration. ᪨  頥 ( ⥬, ⠪   㧥), ⢮ DNS-ᮢ ⠥  ⢠ 㭨  ⮢  ࠭.   砥  ᥡ ᮡ⢥  ᠬ ࠭, ⨭, ਯ⮢, CSS-, Flash-ꥪ⮢  . . 襭 ⢠ 㭨  ⮢ 㬥蠥 ⢮ DNS-ᮢ. 㬥襭 ⢠ 㭨 ⮢ ⥭樠쭮 㬥蠥 ⢮ ࠫ 㧮 ⮢ ࠭.  ᢥ ⮣ ⥫⢠ 訬 室 㤥 । 㦠 ⮢  2-4 (  ) 㭨묨 ⠬.   ஬ᮬ  㬥襭 ⢠ DNS-ᮢ  ࠭ 宩 ࠫ쭮  㧪 ⮢ ࠭.


5.3. ஢  ஭ 

஢ 㧪 蠥  -ᠩ ⥬ । ᮢ  ᪮쪨 (஬) ࢥࠬ, ᫨    ॣ㦥  ⪠.   ⮤  ᯥ祭 ⠪ ,     㤮⢮ ᫥騬 ॡ:
। 㧪   ࠡ ࢥ஢;४⭮ ࠡ뢠 ⪠   ࠡ ࢥ஢;   ⢮  筮 짮⥫  -⢥ 設.


Round-Robin DNS

,   祭  室  ஢ ᮢ  横᪨ DNS.  ࠧ㬥 ᮧ ᪮쪨 ᥩ  ⠡ DNS   . ਬ,  ⨬ । 㧪  ᠩ www.loadbalancedwebsite.ru,      ࢥ  IP-ᠬ 64.13.192.120  64.13.192.121 ᮮ⢥⢥.  ⮣ ⮡ ॠ 横᪨ DNS  । ᮢ,   ᮧ ᫥騥   DNS:
www.loadbalancedwebsite.ru 64.13.192.120www.loadbalancedwebsite.ru 64.13.192.121
᫥  짮⥫᪮   ⠡ DNS  www.loadbalancedwebsite.ru, ,  ࢮ, .  㧥 㤥 ᯮ짮  , ⮬    । 砩 ࠧ  ⨬  ࢥࠬ.  , 祢 ⪮ ⮣ 室  襭 ண ᫮, 祭 ,  :  ⪠   ࢥ஢ ࢥ DNS  ࠢ 㤥 ࠢ   짮⥫᪨ ,    짮⥫   ⮬.

, 筮, ७ IP-  ᥤ ࢥ,    㧪.   楤 쬠 嫮⭠, ⮡ ஢   ᫮ ࠫ.



஢  ࢥ

㣨  室  ஢ ᮢ  ᮧ  뤥 ࢥ,  ⢥砥  । ᮢ. ਬࠬ ⠪ ࢥ஢   ᯥ樠쭮 㤮  ணࠬ 襭, ਬ F5-BIG-IP  Linux Virtual Server Project. 뤥 ஢騪 ਭ   ।  㦥   -ࢥ஢. ஢騪 ⢥砥  㦥 ⪠襣 ࢥ  । ᮢ  ⠫.  襭    奬    ⥫ ஢騪,  砥,  ⪠뢠 ᭮.
 ⮣ 室: । ᮢ,    ਭ ᠬ ஢騪.   ஡ 蠥   奬 横᪮ DNS.প ஢騪  室  㣫 㬬, 室  ⪮  ஢.  ⮬  ᭮ ஢騪   ६ ⠨  ,  ⪠ ᭮.


஢  ஭ 

   室  । 㧪  ࢥ  ᮢ६ -ਫ,   㦤  ⥫쭮 饬 㤮,  ⪠   ࢥ஢ ந室 ࠧ  ⭮  , 祬  砥 横᪮ DNS. ० 祬  㣫㡨  ⠫,  ।⠢ ᥡ ⮫쭮 ਫ, ஬ ॡ ⠭   ࢥࠬ  ୥  祭 . ᫨  ਫ ᮧ  ᮢ  㤠 ࢥ, 祬   ন   ⢥ 設,  ॡ 襭  ஢ 㧪.    ᯮ짮 横᪨ DNS  ஢騪 㧪, ᠭ ? 筮,    襢   襭.

 ⮣ ⮡ ᪠ ,    ⢥ ࢥ,  ᮮ  ᪮쪨 ࢥ - s1.loadbalancedsite.ru, s2.loadbalancedsite.ru  ⠪ .  ⮬ ᪮ ਫ  砩 ࠧ 롨 ࢥ  祭      . ᫨ ࢥ 㯥   ⢥砥 ⥫쭮 ६,  ᠬ 롥 㣮 ࢥ,  ⠪ ,    ᢮ .

 ⫨稥  -ਫ,  ࠭  (Javascript  Flash)   ࢥ, ᯥ稢饬   ⮩ ଠ樨, ᪮ ਫ  ᨬ  ࢥ.   ᠬ 롨  ࢥࠬ  ஭   ᯥ祭 ⠡㥬 ਫ (. 5.3).

. 5.3. ਬ ஢ 㧪  ⠡㥬  

⠪,    孨 ਬ  -ਫ? -ਫ ᠬ ᢮  ࠧ뢠 ࠭  ᪮  ࢥ୮ ﬨ  ⠭⭮ ਫ. -ਫ, ᠭ  PHP,  ᬥ訢 ࢥ  ᪨    㬥.   ᯮ짮 ୠ MVC (--஫),  ,   ஢ ।⠢ (HTML), ⤥  ࢥ୮ ,  ࠢ ࢥ ᮧ  ⠢ ।⠢ ࠭.

 ࢥ ᯥ稢 ⠪ ,  ⨭.   䠪 ⠭  ⮫ 祢, ᫨ ᬮ 孨 CSS Sprites,   ⨭  筨  ᪮쪨  CSS/JavaScript ᯮ  <>  ⤥쭮 ⨭  筨.   ਫ ⢫ ⮫쪮 AJAX-  Flash-  ࢥ (  㦠  ࠧ   ⮣ 㬥). ⮬ ⠭⭮ ⮫쭮  -ਫ 祭 宦  ᫥ ࢥ 맮.

 ᯥ祭 ஢  ஭   ᮢ६ -ਫ ॡ  ᭮ ⠢:
᪨ : JavaScript () SWF ( Flash-⮢).: ⨭, CSS (᪠  ⨫), 㤨-, -  HTML-㬥.ࢥ : ७   ᯥ祭 㦭 ⠬ .
⭮   㯭  ⠡㥬 HTML- ࠭  㣨 䠩, ॡ㥬  , 祬 ⢨   ᠬ  ࢥ ਫ: ⠢ ᪮ ᮤঠ ॡ ⥫쭮  ᮢ.  ⮬    뫮 ᪨  १ 筮 ஢७ ࢨ, ਬ, S3  Amazon Web Services.  ⮫쪮      , 㦨 ᮪ ⥬ ⠢ ᮤঠ,   㦥 㬠  ஢ 㧪  ࢥ 魮.

   ᯨ᮪ 㯭 ࢥ஢  ᪨  筮 ⠪ ,  ᤥ    ⮫쭮 ਫ.  -ਫ 㯥 䠩 servers.xml,  ஬ 室 ᯨ᮪ ⥪ ࢥ஢.  ⠥ 易 (ᯮ AJAX  Flash)   ࢥ஬  ᯨ᪥,    ⢥.  ࠧ,     룫廊 ਬ୮ ⠪:
㦠 䠩 www.loadbalancedwebsite.ru/servers.xml,  뫮   ᪨   㣨 ᠬ  ᮤন ᯨ᮪ 㯭 ࢥ஢, ਬ,  ᫥饬 :<servers><server>s1.myloadbalancedwebsite.com</server><server>s2.myloadbalancedwebsite.com</server><server>s3.myloadbalancedwebsite.com</server><server>s4.myloadbalancedwebsite.com</server></servers>롨ࠥ 砩 ࠧ ࢥ  ᯨ᪠  ⠥   ᮥ.   ᫥  ᯮ㥬  ࢥ.   ࠭ ⠭ ६  ; ᫨  ॢ襭,  頥  蠣 2.


⢫塞 - 

  讬  ࠡ  AJAX 㦥  뫮  ୮ ࠦ: <  㤥 ࠡ - ᤮ ᭮> ( ।饭 XSS-⠪).  ᬮਬ   .

 ᯥ祭 ᭮ 짮⥫ -㧥  Flash-  짮⥫᪨ 맮  㣨 . ਬ, ᫨ ᪨     ࢥ s1.loadbalancedwebsite.ru,    㦥 ⮫쪮  ⮣  , s1.loadbalancedwebsite.ru.   ⮢  㣨   ஢.  ⮣ ⮡ ᯥ ࠡᯮᮡ ᠭ  奬 ஢,  ᪮   www.loadbalancedwebsite.ru ॡ ᮢ 饭  ࢥࠬ  㣨  (ਬ,  s1.loadbalancedwebsite.ru).

 Flash-⮢   ᮧ 䠩 crossdomain.xml,  㤥 ࠧ   *.loadbalancedwebsite.ru:
<cross-domain-policy><allow-access-from domain="*.myloadbalancedwebsite.com"/></cross-domain-policy>
 ᪮   AJAX  ⪨ ࠭祭  ।   ,    ⮤, ᯮ㥬  ࢥ 맮. ਬ ᪮ 㧪 ਯ⮢  ⢫ ᮢ   ࠭祭  ᭮,  ࠧ蠥 ᤮ 맮.   ⮬ 砥 㦭 㤥 ᯥ - ࠧ ᭮  ஢ , ⮡ 㡥,     ⢫ ⠪ .

 , ᫨   ᯮ XMLHttpRequest? XHR  頥  訢 ⫨  室  ࢥ.    : ᫨   ࢥ ᯮ   孥 ஢ ( 襣 ਬ  www.loadbalancedwebsite.ru  s1.loadbalancedsite.ru),   ⢫ AJAX-맮  ᯮ짮 iframe  㦥 १  㦠 㬥  ࢥ. 㧥  ਯ⠬   ⠪ iframe   <த>, - ⠪ ࠧ, ⠭  ⠢    ࢥ୮ 맮 १ iframe, ᫨ ਯ 뫨 㦥  ⮣   孥 ஢.



 ᫨   AJAX?
ਬ ᪮ 㧪 ਯ⮢ ( ᠭ  砫 ᥤ쬮 )  ⢫ ᮢ   ࠭祭  ᭮,  ࠧ蠥 ᤮ 맮.   ஡  ࠧ  . ᤮    htt://a.site.ru, htt://b.site.ru  htt://site.ru ⨬ १ ᢮⢮ document.domain, ஥  (  砥) ⠭  site.ru://  ࠭ a.site.ru...document.domain='site.ru'...// , ⥯   XmlHttpRequest  site.rureq.open("post", 'http://site.ru/result.php')
஡ 襭.



२⢠ ஢  ஭ 

⠪,  ⮫쪮  ਫ 孨,  ⢫ ᤮ 맮,  㤨, ᮡ⢥,  ࠡ⠥ ᠬ ஢騪    㤮⢮ ॡ,   砫 ࠧ.
। 㧪  ஬ -ࢥ஢.    롨ࠥ ࢥ,  ண ਭ , 砩 ࠧ, 㧪 㤥 । 砩 (ࠪ᪨ ࠢ୮)  ᥬ 騬 ࢥࠬ.⭮ 몫祭 ࠡ饣 ࢥ  .   ᥣ     㣮 ࢥ, ᫨   ⢥砥  ࠭ । ६.  ࠧ, 祭  <> ।   ࢥ 㣮.騩  㯥     ࢥ.  襬 ਬ 짮⥫  뢠  㧥 <http://www.loadbalancedwebsite.ru/>,      ⢥ 㯭 ࢥ஬. ᯮ짮  ⠫ <ઠ> ந室 ᮫⭮ ⭮.
 ⮣:   २⢠ ஢  ஭  । ஢  ஭ ࢥ?  祢 砥  ⮬,   ॡ ᯥ樠쭮 饥 㤮 ( ᠬ ᪨  㤥  筮 ᫮, 業 -ਫ),   㤥  室 ࠨ    ஢ ઠ쭮 筮 ஢騪  客 ᭮. ᫨ ࢥ 㯥,    ᪫  䠩 servers.xml.

㣨 २⢮  ,   ࢥ  易  ᯮ묨   .  ᠬ 롨ࠥ,   ࢥ   ,  ⫨稥  饣 ࢥ,  ᬠਢ    롨ࠥ    ࢥ஢   ࠡ⪨. ᯮ ࢥ஢ 祬  ࠭祭.   室  ࠧ -業   砩, ᫨   -業஢  㯥. ᫨ ਫ ॡ  , ᯮ  쭮 , ன -業   -० ᯮ짮  ᭮, ᫨ ⪠ ᭮. ४祭   -業  㣮 砥    䠩 servers.xml  ⮣, ⮡  ࠭   ⠡ DNS.



ᯮ㥬 Cloud Computing  ஢  ஭ 

 ⢥ ࢥ୮ ᭮ ਫ  ᬮ ࢨ Simple Storage Service (S3)  Elastic Computing Cloud (EC2)  Amazon Web Services ( http://aws.amazon.com/ ).

砫쭮 ࢨ S3 ।⠢ ४   ࠭  ⠢ ᮮ饭,  EC2  ஥஢   ࠡ  S3.    ᢮ 魮  প 讣 ⢠ 짮⥫ 쬠 . 魮 EC2   ⢮   ६ ⥬ ⮣ ᪠ ࠧ 㠫쭮 設.  ⠪ 設 ⮨ 10 業⮢    72   .    ᥣ ਢ  EC2, ⠪   ᫨⥫ ᮢ: 㠫 設 EC2   ⪫祭,    ᯮ. ਬ, ᫨  ਫ  䨪   ६, 祬 ,     ࢥ஢ , ⥬ ᠬ ᨫ쭮   䥪⨢ 襭   ⨭.

 訬 ᮬ  EC2   ஥஢ ஢ 㧪  ஭ ࢥ,  ண  뫮  梨 .  -ਫ ࠧ  EC2, ᯮ ⮫쪮  㠫 設  ᪨ DNS  ஢ 㧪 ᮢ  ⤥쭮 . ᫨ ࢥ, ᯥ稢騩 ஢, ⪠뢠,   ⥬ ⠭ 㯭,  ᪨ DNS     㣮 㠫쭮 設.



ਬ ਫ

 ᯮ짮 ᠭ  ஢  ஭  ⠭   ⮣ ⭮   ⢥   ᥣ 襭   ࢥ஢ EC2.  ஥  㠫 設 EC2  প ஢   ਫ ᯮ   㣨 -, ࠧ饭  S3  ⤠   .  ⮫쪮  㠫쭠 設 EC2 (. .   ஥  ⮢ ਭ   ⮢), ⮣ ਫ ᯮ ᫥騩 室  ⠢ ᯨ᪠ 㯭   ࢥ஢.

 ࠭ 㪠뢠  ᯮ짮 䠩 servers.xml  饭   㯭 ࢥ,   S3  ᯮ짮  ⮩ ᯮᮡ.  饭  ᥣ S3 (ᥣ⮬  S3 뢠 ࠭ 㯯 䠩;  宦   䠩)  - ⥫ 㬥⮢ ࢨ    , ᮮ⢥騥  䨪.  ࠧ,    㠫 設 ਫ   EC2 ᪠  cron-ਯ,  ॣ ࢥ   饣 ,  ᮧ ⮩ 䠩  砬 servers/{AWS IP-}  㡫筮 㯭 ᥣ S3.

ਬ,   http://s3.amazonaws.com/application/?actions=loadlist 㤥 室 ᫥騩 䠩:
<ListBucketResult><Name>voxlite</Name><Prefix>servers</Prefix><Marker/><MaxKeys>1000</MaxKeys><IsTruncated>false</IsTruncated><Contents><Key>servers/216.255.255.1</Key><LastModified>2007-07-18T02:01:25.000Z</LastModified><ETag>"d41d8cd98f00b204e9800998ecf8427e"</ETag><Size>0</Size><StorageClass>STANDARD</StorageClass></Contents><Contents><Key>servers/216.255.255.2</Key><LastModified>2007-07-20T16:32:22.000Z</LastModified><ETag>"d41d8cd98f00b204e9800998ecf8427e"</ETag><Size>0</Size><StorageClass>STANDARD</StorageClass></Contents></ListBucketResult>
 ⮬ ਬ   EC2-ࢥ  ,  IP-ᠬ 216.255.255.1  216.255.255.2 ᮮ⢥⢥.



  ਯ, ᪠饣  ᯨᠭ
㧨  ࠧ http://s3.amazonaws.com/application/?actions=loadlist .᫨ ⥪騩 ࢥ   ᯨ᪥, ᮧ ⮩ 䠩  ᥣ  箬 servers/{IP- EC2-ࢥ}.᭨, 㯭  ⠫ ࢥ, ᠭ  ᥣ, ஢ਢ   , ᯮ ७ AWS IP . ᫨  ⠭  㤠,   ࢥ  ᥣ 㤠.
  ਯ, ᪠騩  cron,   㠫쭮 設 EC2,  ⠪ 設 ⮬᪨ ॣ  㯭 ࢥ  . ᪨  (AJAX  Flash) ࠧࠥ ᯨ᮪ 祩  ᥣ, 童 譥  AWS-ࢥ     ᨢ  砩 롮  ᮥ,  ᠭ   ᬮ७ 䠩 servers.xml.

᫨ 㠫쭠 設 EC2 ⪠뢠  몫砥,  㣨 設 ᠬ⥫쭮 㡨    ᥣ:  ᥣ  ⮫쪮 㯭 ࢥ. ⥫쭮 -  ᠬ 롨ࠥ 㣮 ࢥ EC2  ᥣ, ᫨ ⢥   祭  祭 । ६. ᫨ 䨪  -ᠩ 㢥稢, 筮    ࢥ஢ EC2. ᫨ 㧪 㬥蠥,     ⪫. ᯮ짮 ஢  ஭    S3  EC2   ᮧ , 塞  쬠  -ਫ.



5.4. ४, 404-訡  騥 䠩
 ᮢ । ᮢ   ஢  ३  ⨬樨 ᠬ  -࠭  ᬮਬ,   拉 砥  襭   ⢥ থ  ᭨ প  ⠢ ⮢ ࠭ 筮 짮⥫.


४
४ ⢫ ।⢮ ࠢ  - HTTP 301, 302  307.  ⢥ ਬ  ᬮ ⠪ HTTP-  - 301:HTTP/1.1 301 Moved PermanentlyLocation: http://example.com/newuri㧥 ⮬᪨ ७ࠢ 짮⥫   , 㪠   Location.  ଠ, 室  ।४,    , ⥫ ⢥ 筮 ⠥ .  ।४⮢ (   301,    302)  ࠪ⨪  ,       Expires  Cache-Control.  ७ࠢ 짮⥫ ᯮ -⥣ refresh  JavaScript (location.href), , ᫨   室 ᤥ ।४, ।⥫쭥 ਬ  - HTTP 301  302  ஭ ࢥ.  ⮬ 砥  짮⥫  ࠢ쭮 ࠡ  <>  <।>.  砥 JavaScript   ⮫쪮   ,   㧪 ࢮ砫쭮 HTML-䠩 짮⥫ ࠧ ࠢ   ࠭. ᫨  JavaScript ᯮ ⮫쪮  ᪮ 樨,   ᮢ襭 ଠ쭠 ,     訡筮.,  㦭   ᯮ짮 ।४⮢ -  ,   ⭨ ६  ᢮ 믮,  짮⥫    襭. ࠭     ⮡ࠦ - ⮣,  짮⥫   稫 ᠬ HTML-㬥,  㧥    㧪 ⠫ ⮢ ࠭.  ᯮ ।४⮢,   ᯮ ( -ࠧࠡ稪  ६  ⮣), -  짮⥫ 뢠  騩  (/)  ᭮ ப   ,   ⠬  . ਬ, ᫨ ஡   http://webo.in/articles,  㧥  ⢥   301, ᮤঠ騩 ।४  http://webo.in/articles/ ( ᫥ 砥 ᮤন 騩 ).  ࠢ  Apache ᯮ짮 Alias  mod_rewrite,   DirectorySlash, ᫨ ਬ Apache handlers.ꥤ ண   ᠩ⮢ ⠪   稭 ᯮ짮 ।४⮢. - ꥤ  ண   ᠩ⮢  ७ࠢ (  ७ࠢ) 짮⥫, ᭮뢠  拉 䠪஢: 㧥, ⨯  짮⥫  . . ਬ ।४⮢  ꥤ  ᠩ⮢  筮  ᯮᮡ  ॡ 쭮 ணࠬ஢,  ᫮ প ஥  ࠧࠡ稪  蠥 ⨥ ࠭ 짮⥫ﬨ. ୠ⨢ ।४  ᯮ짮 㫥 mod_alias  mod_rewrite  砥, ᫨  URI 室  ।  ࢥ. ᫨  稭  ।४⮢  ७ࠢ 짮⥫  ࠧ묨 ⠬,  ୠ⨢  ᬠਢ ᮧ DNS-ᥩ ⨯ CNAME (⠪  ᮧ ᥢ  )  樨  Alias  mod_rewrite.

騥 䠩낪祭  ਯ    ࠭ ᭨ ந⥫쭮.   ⠪ । 砥,   㬠.     頥 ᠩ⮢ ᮤঠ 騩 JavaScript- (饭   JavaScript-䠩).  ᭮ 䠪,       ਯ⮢, -  ⢮ ਯ⮢  ࠭  ⢮ ࠧࠡ稪. ᫨ ந室 ᠭ , ७ ਯ⮢  ࠡ ᠩ 㦭묨 HTTP-ᠬ  ᫥ﬨ.騥    Internet Explorer (᫨  IE  7,   㧪  ⨭   ࠭ ⠪  ࠢ ᮮ⢥饥 ᫮ ᮢ). Internet Explorer  㦠     ਯ, ᫨  祭  ࠭  ࠧ   .   ᫨ ਯ ஢,  ࠢ  ⥫ HTTP-,  짮⥫ १㦠 ࠭.   㦭 HTTP-ᠬ  ६  믮 . ୮ ᯮ  ந室   㧥,  ᨬ  ⮣,   ஢ ਯ  .⢥ ᯮᮡ  ୮ 祭   ⮣  ਯ  ࠧࠡ⪠ ⥬ ࠢ ਯ⠬    ⥬ 蠡.  ᯮᮡ 祭 ਯ  ࠭  ᯮ짮 ⥣ script:<script type="text/javascript" src="menu_1.0.17.js"></script>ୠ⨢  PHP   ᮧ 㭪樨 insertScript:<?php insertScript("menu.js") ?>஬ ⮣ ।饭 祭  ਯ  ࠭ , ⠪ 㭪  믮  㣨 ,  ਬ, ᫥ ᨬ  ਯ⠬,   ᨨ   䠩 ਯ  প HTTP- Expires  .


404-訡
᫨ ࢥ   㤮⢮  㧥  稭 ⮣,    䠩  ᮮ⢥ 襭,   ⢥砥  - 404 (File Not Found).  ࠧ, 㧥 ,     ᮮ⢥騩 ,  ⠭ ࠧ ࠡ뢠  訡.த  :  㦥  ᠭ  ᯥ䨪樨,  㧥  ண ᮣ᭮ .    砥 ஡ 砥  ⮬,  ᫨ 㧥  404-⢥  ࢥ   - 䠩,  㦥   ࠭,       ⢫.  室 ६ 㧪, 室  ࢥ, 室 . 筮  ⢥   404 ࢥ 뫠   HTML-㬥,  㧥  ⮡ࠧ (  ᠬ 404-࠭). ।⠢,  㧥 ᨫ  䮭 ⨭  500 ⮢.  ⮣  砥 10  HTML-,    ⮡ࠧ (⮬    ⨭).  ᮢᥬ . ,  ⠪   ᫥  ࠭  ᢮६  ᠩ  <> 뫪.


5.5. ᨭ஭ HTTP-
 設⢠ ᠩ⮢ 㧪 ࠭ ࠣ ⪨ 譨 ꥪ⮢, ᭮ ६ 㧪   ࠧ HTTP- ⨭, JavaScript-䠩  䠩 ⨫.  ࠡ  ⨬樥 ६ 㧪 ࠭  ᫮ AJAX-ਫ 뫮 ᫥, ᪮쪮  㬥 প   譨 ꥪ⮢. ᮡ   ⮬  맢 ⭮ ॠ樥 HTTP-   㧥  ࠬࠬ ࠭ ୥-ᮥ,  ⠪ ⥬,     㧪 ࠭, ᮤঠ 讥 ⢮ 쪨 ꥪ⮢. ⬥ ᪮쪮  䠪⮢. IE, Firefox  Safari  㬮砭 몫祭 孨 HTTP- (. HTTP pipelining). Opera  ⢥ 㧥஬,   祭. ⢨   ࠡ⪥ ᮢ 砥,  ᫥  ⢥    ᮥ ᢮ ०, 祬 ࠢ  .  ᫥   ࠡ  Connection: keep-alive,  㧥  ᯮ짮  ᮥ  ࢥ஬, ⮡ 㦠 १  筮 讥 ⢮ ᮢ.  砥  㧥  ᫠ ᪮쪮 GET-ᮢ   ᮥ,   ⢥  ࢥ. ࢥ  ⠪ 砥  ⢥    ᫥⥫쭮.   ⥫ প  宦  㤠-⭮, ,  饬 砥, ਬ୮ ࠢ ६ ping (⭥ᥭ  ࠧ襭  ६ ᮥ). ᫨   ࢥ  ⮢ প ⨢ HTTP-ᮥ,      㯥⮥ TCP <㪮⨥>, ஥  襬 砥 㤢 প. 㬮砭  IE (   ࠡ ᥩ 50-70% 짮⥫)  ⠭ ⮫쪮  譨 ᮥ       ࢥ, ন騩 HTTP/1.1,  ᥣ 8 室 ᮥ. ᯮ짮 4 ⮢    ᯥ 襥 ᫮ ६ ᮥ. IP-  ⠪ 砥  ࠥ ஫:    㪠뢠   . 設⢠ DSL-  뤥 ୥-ᮥ ᨬ筠  ய᪠,    1,5  室饣 / 128  室饣  6  室饣 / 512  室饣  . . ⭮襭 室饣  室饬   ᭮ 室  ।  5:1  20:1.  砥   짮⥫,  ࠢ   ⮫쪮  ६,   ਭ⨥ ⢥,   5-20 ࠧ  ᠬ . ।    500 ⮢, ⮬  ᥣ ﭨ  ꥪ,  , 祬,  , 2,5-10 .  砥,  ⠢  ꥪ⮢  ⢥ ᭨ ᪮ 㧪 ࠭  ᨫ ࠭祭  室騩 ,    ࠭.


㥬 ࠫ 
 ᭮  ।뫮  ᬮ஢ 䥪⨢ ਭ   짮⥫, 뢠  ⥢ ᮡ  㧪 ꥪ⮢ ࠧ ࠧ஢. ।,   HTTP-  500 ⮢   HTTP-⢥ ᮤন ⥫쭮  ࠧ 襭 ꥪ  500 ⮢ .    ,  ᬠਢ ⮫쪮 ࠭祭     ᨬ,   뢠 প  ⨥ TCP-ᮥ  ࢮ   ⨢ ᮥ, , , 室    讬 ⢥ ꥪ⮢, ।   ࠧ. ⠪ ⬥,  ᬠਢ 訩 砩,   砥 㣨 ࠭祭, ਬ, < > TCP,  ⮢  . . 祭 १ 筮 , ⮡ । ᪮쪮 ⥩  쭥襣 ᫥,     ࠧ ᬠਢ   ᯥਬ⮢, ஢   ॠ 㧥஢.⮡  䥪  ⨢ ᮥ   ᪮쪨 ⮢,  쬥 짮⥫  ୥-ᮥ  1,5  室騬 / 384  室騬 , 室饣  ﭨ 100    ⮢.   祭 㡮 ਡ ᮮ⢥ । ADSL-ᮥ  㣮  ᨨ  ࢥࠬ, ᯮ묨  ᪢.   䥪⨢ ய᪭ ᯮᮡ   㧪 ࠭  ⢮ ꥪ⮢ । ࠧ. 䥪⨢ ய᪭ ᯮᮡ ।﫠  ⭮襭 饣 ᫠ 祭 ⮢  ६  祭.
. 5.4. ﭨ HTTP-  ﭭ ᮥ  ᪮ । . 筨: www.die.net



।⥫ 뢮
 ⬥ ᫥饥: ⭮⥫쭮  ꥪ⮢ (  䨪)  ᪠,   讬 ⮬   ﬨ,  짮⥫ 祭 ᫠ ᯮ ᢮ ;  ⮬ 㧥 訢 ꥪ ⠪ , ᪮쪮 .  ⠪ 짮⥫ 䥪⨢ ᯮ짮 室饣  㯠  㧪 ꥪ⮢ ࠧ஬ 100   . ꥪ⮢ ࠧ஬ ਬ୮  8   㤢 䥪⨢ ய᪭ ᯮᮡ , 稢 ﭭ ᮥ  ࢥ  ।   4 ࢥࠬ.  ⥫쭮 २⢮.᫨ 짮⥫   । ᮢ  ᢮ 㧥 ( Firefox  㤥 network.http.pipelining  about:config), ᫮ ᯮ㥬 ⮢ ⠭  ⥫ ஫,   㤥 ⢮ ᢮    䥪⨢,    ᬮ ஫஢   ஭ ࢥ.,  ஧ 㤥 ᫥騩 䨪,  ஬ ࠦ ᪮쪮 ࠧ ୥-ᮥ  뢥 ⭮⥫쭮 ᪮७   ࠭  ⢮  ꥪ⮢   ᯮ짮 4 ⮢  祭 ⨢ ᮥ  ࢥ. ᪮७  ⭮⥫쭮  1   몫祭 keep-alive (0%).
. 5.5. 먣  祭 ﭭ ᮥ  ᪮쪨 ⮢  ࠧ 짮⥫. 筨: www.die.net
  ᭮?᫨  㦠   ꥪ⮢, , 祬 10 ,  짮⥫-  ,  室 쭮,  ,   㣮  ⨭, -  ⥫쭮 ᪮७  祭 ⨢ ᮥ   4 ⮢  .  室 짮⥫, ⥬ ⥫쭥 먣.  ᪮ ᮥ, ⥬  먣. 짮⥫  Ethernet-  100   ﭨ ᥣ 20   ࢥ  襥 ᪮७.


ﭨ 
 ⥯ ᬮਬ,  ࠧ    䥪⨢ ய᪭ ᯮᮡ . ।騩 䨪 ।,  ࠧ  ⠢ 500 ⮢ ⥫쭮  ࠧ ꥪ,   , ⠪   ⢥.    ⮣ ࠬ ࠧ  ந⥫쭮 襣 1,5  / 384    ﭨ  짮⥫  100 ? ।,  짮⥫ 㦥 砫쭮 ᯮ 4   ⨢ ᮥ.
. 5.6. ﭨ   䥪⨢ ய᪭ ᯮᮡ . 筨: www.die.net
 䨪  ,    ࠧ 䠩 ᭮ প 室  室騩 . 㧥, ࠢ騩 <殮>   ࢥ (ਬ,  訬 ⢮ cookie), -,  ᪮ ।   祬  40%  ⮣ 짮⥫. ⢥, ࠧ cookie   㦭 ॣ㫨஢  ࢥ.  ⮩ 뢮: cookie 㦭    묨  ࠢ    ࢥ,   ⠢ cookie. 祭 䨪  १⮬ ஢   뢠  ॠ ᮡ 㦠饣 .     ஢ 祭 १  ॠ 㧥  <> ᫮  㡥   ⥫쭮. 쭮   । 㡫 ,   ᮥ  訥 প ⠭  ,   ⮤ ᮥ -० 먣뢠.


5.6. 塞 ⮪ 㧪
ᬮॢ ⮤ ᦠ, ꥤ, ஢  ᮧ ࠫ ᮥ, ࠧ㬭 뫮   ᫥騬 ᮬ:   ࠭  㦠   ᭮ HTML-䠩,   - ⮫쪮  譨 䠩?뫮 ᮡ࠭ ⮢ 㦥    ࠭,  ன ਬ ࠧ ⨬樮 孨 ( 뫮 祭 ॠ쭮 ᪮७  㧪 ந쭮 ࠭  ,    孨 ॠ쭮   ᪮ 㧪 ࠭).஬ ⮣, 뫨 ஢ ⥮᪨ 몫  । ⨬쭮 । 㧪  ⠤  ⮬  ᯥ⮢.


쭠 

. 5.7. ࠬ 㧪 () ᠩ WebHiTech.ru


᭮  ਠ樨 ⮪ 㧪 砫  ᮧ 쭮 ⢠ < >  ࠬ 㧪.    . 5.7,  80%  㧪 ࠭ ⠢ ⮨ ᮥ (⢥,   䨪  ࠦ ॠ 㧪   㧥  㧪,   筥 ⨭  ࠪ᪨  ). ࠫ 㧪 稭 ⮫쪮 ᫥ 宦 <㧪 >, ஥ 稢 (  砥) ᫥ ।㧪 ࠭ - ᫥ CSS-䠩.

 ⨬樨 ᪮ 㧪  㦭 㬥 ᫮ 䠩 (⨪ ५), 㦠 ࠫ쭮,  <ᤢ>  ᨬ쭮  (ਧ⠫쭠 ५). 襭 < > (䠪᪨, 㬥襭   㧪),  ,  㢥 ᪮ 㧪    ᯠࠫ.  ᬮਬ, ⢨⥫쭮   ⠪   ⮣ .


 :  ࠭
砫 ࠫ 筠 ࠭,  ன ᯮ짮 ⮫쪮 gzip-ᦠ⨥ HTML-䠩.  ᠬ ⮥,    ᤥ  ᪮७ 㧪 ࠭.  ⨬ ࠫ  ᭮,  ன ࠢ  ⠫쭮.  ⮢ ९஢  ࠭  WebHiTech ( http://webhitech.ru/ )  訬 ⢮ ⥫ ⨭ (⮡ 뫮  譨 ꥪ⮢,  ࠧ ࠭ 㢥稢). ᠬ 砫 (head) ࠭  砫쭮 ६,   ᮡ window.onload (⨬,  ⮫쪮  ,  ⮫쪮  ࠭,   ࠭ 楫 室  ᪮ 㧥) - 筮, ⥬  ࠧ.   祭 ⮩ ਬ, ३  ᫥騬 蠣.


 ன: 㬥蠥 ࠦ
 砫 㥬  室 ࠦ (᭮ ਪ 孨 㦥 뫨 ᢥ饭  ன ). 稫 쭮 : 㬬 ࠧ ࠭ 㬥訫  8%,  ᪮ 㧪 ᫠  8% (. . 稫 ய樮쭮 ᪮७).⥫쭮  樥 ⨭ 뫠 㬥襭 ⠡ ⨫ (१ CSS Tidy)  ᠬ HTML-䠩 (࠭ 譨 ஡  ॢ ப). ਯ⮢  ࠭  뫮, ⮬ 饥 ६ 㧪  ᨫ쭮.     ,   室  쥬 蠣.


 ⨩: --
 ᯮ짮 data:URI    ࠦ  ᮮ⢥騥 HTML/CSS-䠩, 㬥訢 ⠪ ࠧ ࠧ ࠭ (  gzip-ᦠ,  讬 , ⮬  ⠡ ⨫ । ⨬  ᦨ)   15%,  ६ 㧪  ⮬ 㬥訫 ᥣ  4% ( 祭 ஢ 㬥訫 ᫮ ᮢ  304-⢥⮬).  㧪 ࠭   ࠧ 襭 ࠧ  ⠡: 20%.CSS-䠩, ⢥, ⮦  祭  HTML, ⮬  㧪 ᥩ ࠭ ⢫ ⮫쪮    ࢥ ( ⮡ࠦ 楫 ࠭  ன ⪮ ꥪ⮢).


 ⢥: १ ⮪
 ஡ । ࢮ砫  䠩  ᪮쪮 (5-10) ࠢ ⥩,   ⥬ ᮡࠫ  﫨 אַ  document.body.innerHTML. . . ᠬ 砫 HTML-䠩 祭  (䠪᪨, ᮤন ⮫쪮 ।稪)  㦠 쬠 ,  ᫥ ⮣  ࠫ쭠 㧪  ⢠  䠩,  ᯮ  㧪 ᨬ쭮 ⭮.,   ᫥, প  XHR-  ᡮ innerHTML   ᨫ쭮 ॢ室 먣  ⠪ ᯠࠫ.  ⮣ ࠭ 㤥 㦠  2-5 ࠧ , ࠧ  ⮬  ᨫ쭮. ஡ ᯮ짮  XHR-ᮢ ᪨ iframe, ⮡   থ.  ,   ᮡ. ࠭  ࠢ 㤥 㦠  2-3 ࠧ , 祬 ⥫ .    ਬ ३: 祭   ᯮ㥬  ᠩ    , ⮡ ᭨ ࠧ । .  㦥 㯮 , ᭮  থ ந室 - 讣 ⢠ 譨 ꥪ⮢  ࠭,   - ࠧ 譨 ꥪ⮢. ⮬     孮   ⠪ 㠫쭠,   90-  諮 ⮫. ⮨ 㯮,   ᯮ짮 iframe  樨  ᠩ ⠥ ஡  ⮩ ᠬ 樨 (ਬ, ᫨  ⨬ 뤥 - 㭪   ⨢). ४⭮ 襭 ⮩ ஡ ॡ  짮⥫ 祭 JavaScript,   쭮 ਢ쭮  孨᪮ ஭.  饬, ᫨  ஥஢ ᠩ  ३   -    㦭 ᯮ짮.


 ⮩: ⬨᪮ ஢
஠஢   묨 ६ 蠣,  ,   ᪮७   ⨣, ᫨ ।⠢ 㧥  ᠬ 㦠 譨 䠩  ⤥ ꥪ,    JSON-,  㦭 - ८ࠧ. ⥫쭮  ⮬ ᯫ뢠 ᯥ ஢:  ॥ 㧨  ࠭,   ன  ஢ ᠬ  - 304,  ꥪ  . 㧪 ᥩ ࠭ ⮬   ࠧ   砥 㤥   (⢥, 襭  ⮬  㤥   ᫠ ﭭ 짮⥫ ). १ 㤠 㬥 ६ 㧪   5%, ⮣ ᪮७ ( 砥  ) ⨣ 20%, ࠧ ࠭  ⮬ 㬥訫  21%.  뭥ᥭ   50%  ࠧ ࠭  㧪 譨 ꥪ⮢,  ⮬ ꥪ   ਬ୮ ࠢ ࠧ (宦   20%).  ⠪ 砥 ᪮ 㧪 ࠭  짮⥫   襬 㤥 襩. ᫨ ࠭ ⨬  짮⥫   襬,  訩 १ ⨣ ⮫쪮  祭  譨 䠩  室 HTML.


⮣ ⠡
 ਢ  १ ⨬樨  ⤥쭮 ⮩ ࠭. 㧪 ஢  ᮥ 100 /, 饥 ᫮ ࢮ砫 ꥪ⮢: 23.
 蠣

ᠭ

騩 ࠧ ()

६ 㧪 ()
1筠 ࠭. 祣  ᦠ (⮫쪮 html ⤠ १ gzip)631172HTML/CSS 䠩  ⨭ ஢581083-⢥ 䠩. ⨭ ⠢ १ data:URI491044HTML-䠩 ࠫ쭮 㦠 6 ⥩  묨  ᮡࠥ   492334.5HTML-䠩 㦠 4 iframe492055ਠ #3, ⮫쪮 JPEG-ࠦ (ਬ୮   ࠧ) 뭥ᥭ  䠩  㦠 १ (new Image()).src  head ࠭4998 5.1.  ᯮᮡ ࠫ쭮 㧪 ꥪ⮢  ࠭


 ⮩: 㥬 ⠤ 㧪
⠪,    ᥣ ஢ 㧪 ࠭   ⠤ﬨ?   < ।>, ᯥ稢 ⨬ 㧪? 筥  ।,    㦥 믮  ᮢ  㬥襭 ꥬ .   ᤥ ᥣ,  筮  ( 設⢥ 砥 㦭  訥   䨣樨 ࢥ).  ।,  ⨪ ⤠ 㦥  騬  (⮡  304-⢥  ⮬ 砥, ᫨  䠩 䨧᪨     ᫥ 饭). ? 쭥訥 ⢨    譨 䠩.  讬 ( ) ᫥ 䠩, 砥  head ࠭, 室 ꥤ 䠩 ⨫  䠩 ਯ⮢. ᪮७ ।㧪 ࠭ 㤥 .᫨ ꥬ ਯ⮢  ᫥ ᦠ 筮  ( 10 ),  ⮨   । 뢠騬 </body>,   㦠  ஢ ᮡ window.onload (᪮ 㧪 ਯ⮢ 饭 砫 ᥤ쬮 ).   䠪᪨ ७ᨬ  㧪  ன ⠤  ⢥ - ᪮  <㠫쭠> 㧪 ࠭.饥 ⢮ ⨭   .   ⮦ 祭  ࠢ୮ ।  ꥬ  쥩 ⠤ 㧪. 쭮   ࠦ  50-100  ମ 襭 㧪 - ࠧ   3-4 ⠢騥 ᯮᮡ ᪮ 騩 . ⮬  ᯮ짮 讣 ⢠ 䮭 ࠦ  ࠧ     10-20,   㦠 ࠫ쭮.


 ᥤ쬮: 㥬 ஢
᫨    ࠭   10 譨 ꥪ⮢  쥩 ⠤ (⨭  ࠧ ⨬ 䠩),  㦥 ⮨  ⥫   㢥祭 ᫠ ࠫ ⮪.  ⮬ 砥 প  DNS-  ᭨ । ६ ⠭ ᮥ. 3  ⮨  㦥 ᫥ 20 ꥪ⮢,  . . ᥣ   4 (  ᫥ ࠡ祩 㯯 Yahoo!, ᫥ 4 ⮢ প ᪮॥ , 祬 ᭨).  ⮬, ᪮쪮 ꥬ ࠭   ᠬ HTML-䠩 (   CSS, JavaScript  data:URI),  ᪮쪮 ⠢  譨 ꥪ, 蠥 祭 .    砥 ਬ୮ ࠢ ᮮ⭮襭 ᫠ ﭭ  ६ 饭. ਬ, ᫨ 70% 짮⥫ 室  ᠩ  祭 ,  ਬ୮ 70% ࠭  室  譨 ꥪ  ⮫쪮 30% -  HTML-㬥. ࠭  㢨 ⮫쪮  ࠧ, 筮 㤥    ᠬ ࠭.   㦥 㯠  ᨫ 宫᪨ . ᫨  । 짮⥫ ࠭  ⮬ 㤥 㦠  3-4 ᥪ㭤 (뢠 ६  DNS-  ᮥ  ࢥ஬),  㤥 室 ࠧ   : ࢮ砫쭠 ,  ⮡ࠧ 筮 ,  ⠫쭠  ࠭.祭  ,  ⠤ 㧪  ⮬ ⨬    ॠ 짮⥫ (  襬 ,  ,  ). ஡    㧪 ࠭   ਬ ᪠뢠  쬮 .


祭
 ⠪,  ਬ 筮 ࠭ (㦥 筮  ᤥ, ⮨ ⬥)   ᪮७  㧪   15-20% (    ਬ gzip-ᦠ  HTML, ஥   砥  ਬ୮ 10%  饩 ᪮).   ⮤ 㦥 ਢ , ᥩ   㯮,   ⨬樨 ᪮ ࠡ ࠭  ᥣ   ७ 堭 㧥,     㫨஢  JavaScript (  砥    ⢥ <१> ⮪).  ,  饬 ᪨ 設 ⠭ 筮 묨 (  JavaScript- -  ⨬஢묨), ⮡ ⠪ ⮤ ࠡ⠫.   롮  - ⬨᪮ ஢.



 6. CSS ⨬


6.1. ⨬㥬 CSS expressions
CSS-ந⥫쭮  室 ᥩ  䮪   ࠧࠡ⪥ ᪨ ਫ  㧥. 祭    祢     ( 뢠),    ਢ   ⢠ <㧪>   ࠡ -ਫ,    ।⢥  ࢥ  .   室  ஭ 㧥.᫥ ⮣  ⠢  室 ꥪ⮢  ⮡ࠦ ࠭ ⨬஢,  㯠  ᬮ७ 㣨 ஭ ᪮ ந⥫쭮.    砥  ᮡ ࠡ CSS- 㧥   ⢨  JavaScript.  ᬮਬ   浪.


CSS-ࠦ
CSS-ࠦ (. CSS expressions) 뫨  ।⠢  Internet Explorer 5.0,    JavaScript-ࠦ  ⢥ CSS-᢮⢠. ਬ, ᫥騩   ⠢    ᨬ  ⮣,  ࠧ  㧥.#myDiv {position: absolute;width: 100px;height:100px;left: expression((document.body.offsetWidth > 110 ? document.body.offsetWidth - 110 : 110) + "px");top: expression(document.body.offsetHeight - 110 + "px");background: red;} ᠬ 訩 ᯮᮡ 襭 ⠢ ,   ⢥ ਬ  筮.஡  ⨬ ࠦﬨ  ⮬,    ࠧ , 祬    .    ⮫쪮  ६ 㠫樨 ࠭   ࠧ஢ ,  ⠪  ஫    짮⥫   誮  ࠭.  ᫮ ᫥ - 筮  稪  ᪮ ࠦ.⢥ ᯮᮡ  ஬ ᫠ ᫥ CSS-ࠦ - ᯮ짮 ࠧ ࠦ,  ᫥ ஢  室 ᫥  ⠭ ᢮⢮ CSS-⨫  - 筮 ᪮ 祭,   CSS-ࠦ.  ⮬ 砥, ᫨ 室 ᪨  ᢮⢮ CSS-⨫   ॡ뢠 짮⥫  ࠭,   ਬ ਥ  ࠡ稪 ᮡ⨩  ⢥ ୠ⨢. ᫨  ᯮ짮 CSS-ࠦ  ࠭  㤠,  㦭 ,      ࠧ  ⥬ ᠬ   ந⥫쭮 ᥩ ࠭.


᪨ ࠦ
CSS-ࠦ   ⮫쪮 ᫨ CSS-᢮⢮   ⨫,   ন  ﭭ  㠫쭮 ﭨ, ⮡  ࠦ 뫮 ᥣ ୮.  砥,  ᠬ ࠦ 㤥 뢠  ࠧ,  ( ᠥ ⮫쪮 ᬮ७ ਬ)  document.body.offsetWidth. ᫨    䠪, ᪨ ࠦ, , ਭ᫨     稫   ப ࠭.    ⠪,   ⮩ ப ந室  ࠧ,  稢 ᫥ JavaScript.   㦭  , ⮡ ,   ਢ  -ਫ  <ᠭ>. ᬮਬ ᫥騩  CSS-:#myDiv {border: 10px solid Red;width:  expression(ieBox ? "100px" : "80px");}  ⮬ ।,  ieBox -  ﭭ 䫠,  ⠢  true,  IE 室  ० ⭮ ᮢ⨬,  ࠦ 㤥   ࠧ  "80px".  ࠦ 㤥 ﭭ   ࠭,   ࠢ 㤥 뢠  ࠧ. ᭮  砥  ⮬,     㦭 ᫥.


᫥ ﭭ
   ᮡࠥ ᤥ: ன  ᥬ  ⨫   ᫥ ࠦ  ﭭ 祭.  ।饬 ਬ, ।,   ᯮ㥬 IE6  ⠭⭮ ०,  ⥫   ᫥騩 :#myDiv {border: 10px solid Red;width:  80px;}⠪,   㡥  ⮬,   ࠦ ﭭ?   ⥬   ᠬ ࠦ, ⮡     㦨. 襭   砥 㤥 祭 ࠦ  맮 㭪樨,   ⭠  ࠭ .function constExpression(x) {return x;}⠪,  襬 CSS-  襬 ᫥饥:#myDiv {border: 10px solid Red;width:  expression(constExpression(ieBox ? "100px" : "80px"));}


ᯮ짮
-,  ᯥࢠ   ⥪ cssexpr.js (    )  ⮫쪮 ⮬ 뢠  㭪 constExpression.<script type="text/javascript" src="cssexpr.js"></script>᫥ ⮣  ᯮ짮 constExpression     ⨫ (<style>),   砥 䠩 ⨫ (<link>),   ᯮ짮 ४⨢ @import.  ,  ਡ style  ⥣  ᪮७ ࠡ  ஢.



 砥  ⮬, ⮡ ॡ   ⠡ ⨫,    -  ࠢ    .  ⮣  筥  ᨢ document.styleSheets.function simplifyCSSExpression() {try {var ss = document.styleSheets;var i = ss.lengthwhile (i-- > 0) {simplifyCSSBlock(ss[i]);}}catch (exc) {alert("㦨 訡  ࠡ⪥ css. ࠭ 㤥 " +"ࠡ  ० ०, , ,  ⠪ " +"");throw exc;  }} ⠡ ⨫  ன  ᨢ 㥬 ⠡ (@import),  ⥬ 㦥   ⨫ ࠢ.  ⮣ ⮡  ᮢ  ⥫, 㤥 ஢,  cssText ᮤন expression(constExpression).function simplifyCSSBlock(ss) {// 室  import'var i = ss.imports.length;while (i-- > 0)simplifyCSSBlock(ss.imports[i]);// ᫨  cssText'  constExpression, ᢮稢if (ss.cssText.indexOf("expression(constExpression(") == -1)return;var rs = ss.rules;var rl = rs.length;  while (rl-- > 0)simplifyCSSRule(rs[j]);}⥬  㦥  ࠡ뢠   ࠢ cssText   , ᯮ 㭪 simplifyCSSRuleHelper, ⮡ ⥪   ᪮ ⠭ ᪨.function simplifyCSSRule(r) {var str = r.style.cssText;var str2 = str;var lastStr;// 塞 ப,     do {lastStr = str2;str2 = simplifyCSSRuleHelper(lastStr);} while (str2 != lastStr)if (str2 != str)r.style.cssText = str2;}ᯮ⥫쭠 㭪 室 ࢮ  ࠦ  ᯮ , ⥬  ࠦ 祭 祭.function simplifyCSSRuleHelper(str) {var i = str.indexOf("expression(constExpression(");if (i == -1)return str;var i2 = str.indexOf("))", i);var hd = str.substring(0, i);var tl = str.substring(i2 + 2);var exp = str.substring(i + 27, i2);var val = eval(exp)return hd + val + tl;},  㦭  맮 simplifyCSSExpression  㧪 ࠭.if (/msie/i.test(navigator.userAgent) && window.attachEvent != null) {  window.attachEvent("onload", function () {simplifyCSSExpression();  });}


 ⠪ ? ,  
   ᯮ짮 ᢮⢠ currentStyle (㯭  ⥭)  runtimeStyle (㯭  ), ⮡ ८। ᠬ ⨫ ᢮⢮    ( ᪮쪮 ᫮,  ⠪ ?).  ᠬ   १砩 . ਬ⥫쭮  襬 ਬ   㤥 :#myDiv {border: 10px solid Red;width:  expression(runtimeStyle.width = (ieBox ? '100px' : '80px'));}ਬ,   ࠢ ᯫ뢠 alt  title  ⨭:img {behavior: expression( (alt&&!title) ? title = '' : '',runtimeStyle.behavior = 'none')} ஧筮 १ 䨫:.button1 { opacity: .1 }.button2 { opacity: .2 }.button3 { opacity: .3 }.button4 { opacity: .4 }.button1, .button2, .button3, .button4{ filter: expression( runtimeStyle.filter =   'alpha(opacity='+currentStyle.opacity*100+')' ) } ࠧ,  ࠦ  ਬ  㧪 ࠭  ᫥饬 ᮧ  㧫 ਯ⮬.  ᯮᮡ ⨬樨 室 ⮫쪮  <> ⮢,   㦭  ᢮ ⮡ࠦ ᪨.  த⥫᪮ , ࠢ      position: static -   ஡ ⪨ ⨬樨.    ⨬஢,  ᯮ짮 ०.  ஡ ⮬,   ,  饥 믮 ਯ⮢  onresize.    쥧 ᮢ: ᯮ CSS-ࠦ  .  ᥣ 㤥, ᫨       ᠩ.


6.2.  , id  class?
  ᬮਬ,  ᯮ짮 id  class   ᪮ ⮡ࠦ ࠭  㧥 (ᥩ     ⢥ ᯮ짮  id -   ⠪ 饭 ᯥ䨪樥). ᫨   ࠭ 砥 ⢥ ࠧ (ਬ, <蠯>  <>),     ࠢ ᯥ宬 ᯮ짮 id  class   ⨫樨.


⮤.  䠩
⢥,  ᪮ ࠡ 筮 CSS-ࠢ 쬠 ᮪,   ⪨  ⭨    ⭮  ࠡ 㧥஢. ⮬ 㦭  ࠡ ᪮쪨  ࠢ,  筮 १⮢ 㤥 쬠 ᮪. ᯮ짮 JavaScript  樨 HTML/CSS-  ।⠢ ࠧ㬭,  ⮣ ਤ 뢠   ᪮ ࠡ JavaScript-  㧥,   ⮣ ᯥਬ 㤥 筮 . १ ஢ ᫥ 뫨 ᣥ஢  䠩 (浪 300  ),  ᮤঠ 筮 ᫮ ࠧ CSS-ᥫ஢.  <筮> ᫮ ࠫ  ᪮쪨 ࠬࠬ,  ⮬ ᫥ ⠪  ࠧ 䠩  ᪮ ࠡ HTML/CSS-  㧥 (   筮 , ⮡ 䠩  ᪮쪮 ⥭  㦥 ⭮ ମ  ⨨).⮣ 䠩 ᮤঠ  4096  ࠧ CSS-ᮢ ( ࠧ 䨪஢), HTML- ᮤঠ ᮮ⢥饥 ⢮ ,   ᢮ 㠫  ( 䨪). ⥫쭮 ஢﫠 ᪮ ࠡ   ᫥ 㧫 (div p, CSS1)  ᥫ  롮 ⮬ ࢮ ஢ (div>p, CSS2).


६  ࠭
 ஢ 㧥஢ 㦭 뫮, -,    ᮮ⢥   ࠭,  ⠪ - ᫥ ६  ⮡ࠦ ⭮ HTML/CSS- (⭮,    ᮢ  ६  ᥩ ࠭, ஥  ᮤন  ⥫ প). ⮣ 뫠 ᯮ짮  孨: ।  CSS-  ⥪ ⪠ ६,  ᫥ 砭 HTML-,   ⮡ࠧ,  ⪠ ⠥  ⥪饩.  ࠧ,  砥 ( ) ६  ࠡ  CSS-ࠢ  ,   뢠,   (, ,  - - ﭭ 室,  , ᫨  ⭮⥫,   ᮫ 먣).筮,  ⮢ ࠭  뫮 㦠   iframe   AJAX-ᮬ.    ⨬ 㧭, 䠪᪨, ᪮ ७ਭ 㧥஬ CSS-ࠢ  ᮮ⢥饣 ,   ६ 㤥 室 ⮫쪮  ⮡ࠦ ࠭   㧥. ⮬ 㦠 ࠭ 㦭 ⮡ࠦ  ࠭ ( , ᨬ쭮 ࠧ), ⮡ ᫥  ࠧ.



 ਢ  ⠡  १⠬ ⮢,    । ६ ⮡ࠦ ࠭  ࠧ ਠ権 ᥫ஢  ࠧ 㧥஢. 뤥 ६, 襥  ࠢ  .  ભ,    ⮫쪮 ⭮⥫쭮 ᪮७ ᯮ짮  ⨯ ᥫ஢ ⭮⥫쭮 㣨  ।  㧥.  ६   ᥪ㭤.ࠢ ᮫ 祭  ࠬ  ᯥਬ  ।⠢ ,   㧥 ⥫쭮 㦭 뫮 ᯮ  ࠭ ᪮쪮  <>   묨 ࠧࠬ (float:left; width:20px; height:20px, 䮭    ).     祣 饣  ᪮ ࠡ CSS-ᥫ஢,   ⭨ ⢥ ६  㧥  ⮢ ࠦ ࠭  ࠭ ( , ਬ,  Opera).
Firefox 2

Opera 9.5

Safari 3

IE 7

IE 6

IE 5.5

p.class
30858872378272145
.class
21964562257870149
p#id
34973773389187156
#id
21474272208384159
div>p.class
51994122479784158
div>.class
836128862579581159
div>p#id
5491029924710592172
div>#id
8581517224211391169
div p.class
827107062569784161
div .class
505158642479586160
div p#id
7721195224710899177
div #id
9481330625510895173
div.div p.class
10011051926311194165
div.div .class
10991874225310592166
div.div p#id
11611098926611795181
div.div #id
124715816256114100187 6.1.   ᥫ ਢ ६, 祭 㧥஬  ⮡ࠦ ⮢   ⨬ ᥫ஬  ᥪ㭤 


뢮
⢥ 뢮,    ⢥म ᤥ, -  २⢮ ᯮ짮 #id । p#id (।襭  ᥬ 㧥ࠬ  㭥 砥 9%).    ன 㢥७   ᯮ짮 .class  p.class (10%).  ⮨    ⢥ ( 2,5 ࠧ) ᪮७  室  CSS1-ᥫ஢  CSS2 ( div p  div>p,   㧥,   ন). ⥫쭮 㦭, ୮, ⬥,  롮ઠ ⮢   ࠡ⠥  楫 ॥, 祬  䨪 (11%). ⠫ 뢮 㦥  ,    ⠡. IE  ᨩ ⠡쭮 믮   ਬ୮   ஢,    ⥪饬 ஢ ⨬     ।  .


6.3. ﭨ ᥬ⨪  DOM-ॢ

 ᬮਬ ᥩ 㣮 ,  :   㧥 ᮧ DOM-ॢ  ᨬ     ⮢  id  class?

 ⮣  ⮢ 3  HTML-䠩.  㤥 ᮤঠ 10000 ⮢,   ⮫쪮  㤥  id (⢮  ⮢   50  10000:  ॡ  業 ﭨ DOM-ॢ). ன HTML-䠩 ࠪ᪨ 祭 ࢮ, ⮫쪮   id  ਡ class.  쥬   DOM-ॢ ⠢ ⮫쪮   id (. . 㤥  ᠬ ᫮ ⮢  50  10000).  ७ ⨬  ⮬ iframe, ⮡  ᮢ 㦠 ࠭  ࠭.



䨪 ﭨ DOM-ॢ

 ਢ ࠧ 䨪  ।襭 (⢥, ᭮ ஫ ࠥ Internet Explorer,  ᥩ    50%  70% ⥫  ᠩ⮢) ६ ᮧ 㬥 (. 6.1)



. 6.1.  ᮧ 㬥, ।襭  ᥬ 㧥ࠬ

 䨪  ६ 롮ન    ॢ ( 䨪)  稨  ⮬  ॢ ࠧ筮 ᫠ ⮢  䨪ࠬ. ID (10000 get) 뢠 ६  10000 権 ஢ ⠪ 롮ન, ID clean (10000 get) -   ᠬ,   ॢ 䨪 ᢮  ᥬ ⠬,  ⮫쪮 㪠  (. 6.2).



. 6.2.  롮 , ।襭  ᥬ 㧥ࠬ



뢮  DOM-ॢ

 䨪 ।襭 祭  ,    ࠢ ᫮ ᮧ 㬥  class 室 襩 ஢, 祬  id ( 饬 砥  2%  10% 먣). ᫨ ਭ  ,  class-ᥫ ࠡ뢠 ॥, 祬 #id,    10%,  騩 먣  ᯮ짮  㬥 ᮢ । 䨪ࠬ ⠢ 浪 15%.  ᮫⭮ 祭    ⠪ :  Centrino Duo 1.7 砥  ਬ୮  0,0085   1 䨪 ( । 3 CSS-ࠢ  1 㯮ॡ).

 㬥  100 ⠬ 먣  ⠢  1 ,  㬥  1000 - 8,5 ! ⮨ ,  । ࠭  ୥  500-1000 ⮢. ஢, ᪮쪮 ⮢  ࠭, ,  ⨢ ᫥騩   ᭮ ப 㧥  - ⮩ ࠭:

javascript:alert(document.getElementsByTagName('*').length)

⢥,  ਢ  -  㦥 ,    .

 砥  -ਫ প  100  ( ᫥ ⮢  10000) 㦥   筮.    㦭 㬥 (  㣨 <㧪> ⠬  JavaScript,      ᥤ쬮 ).

  ॡ : ⥫ 㧪 ⠢  ᮧ DOM-ॢ  㬥.  楫,    室  70% ᥣ ६ ७ਭ (. .   ⨣   樨 ࠧ ॢ).

 ᪮ ᫥    䨪,   ࠭, 襥 ﭨ 뢠 -⠪ DOM-ॢ,   ⢮ ⠪ ⮢.   1000 ⮢  id   ६ থ  १, ᫨  ᮪ 饥 ᫮ ⮢ (ᮡ   ⭮  IE).
 楫  ᭮ ᮢ⮢ : ⮨ 㬥 DOM-ॢ  ᯮ짮 id ⮫쪮  砥 ⢨⥫쭮 室.


᪮ DOM-ॢ

᪨ த 㦥 ஢ ᫥ CSS/DOM-ந⥫쭮 㧥஢ ⠫ ᬮ७ ᨬ ६ ᮧ 㬥  ᫠ ⥣ (㧫 ॢ). 쭮 뫨 ஠஢ 砨,  DOM-ॢ    ( div  אַ  body),   ࠧ⢫ (⪨  10  div 騢  body)    ⪨  div ᯮ  ᥬ᪠ ,  :
<div><ul><li></li><li></li></ul><p><a href="#"><em></em></a><span></span></p><blockquote></blockquote><h1></h1></div>
 ⮣  稫 ਬ୮ ᫥ ⨭:



. 6.3. ।襭 祭 ६ ᮧ 㬥  ᫠ 㧫  DOM-ॢ



 ॥?

, 祢,  ࠧ DOM-ॢ   ᪮ 㧪 ࠭.   楫  ᫥ 뫮 ,    (  ᫠). । ࠧ ࠭ - 700-1000 ⮢.    ॢ ࠢ⥫쭮  (3-7 ,   樠樨 ᠬ 㬥,   30-50 ).  ६ 㧪  ,   ࠢ  ࢠ  ⥫ <ମ>,  ᪮쪮  <> ⮢  筮 ᥬ⨪.

    ॢ ࠬ 室  । 譮,  ᥬ᪮ ॢ  ᠬ  (    50%).    砥, 㬥襭 ࠧ DOM-ॢ ᥣ   ਮ ࠢ.

筮  楫  ᯥਬ⮢ 뫮 ⠭,   ࠧ稥  ⮡ࠦ HTML 4.0 Transitional  XHTML 1.0 Strict 㬥⮢   ॠ쭠 짠  ᯮ짮 ᮢ⮢  ⨬樨 CSS- (   ᨭ⠪ ᥫ஢).  ⮬ ᪠뢠  ᫥饬 ࠧ.



⮤  DOCTYPE

뫠 ⭮ 몠砭  ࠭  ( 㦥  ⨬஢  窨 ७ ந⥫쭮, ⮬ ஢ ᯥਬ   쬠 ⥫쭮).   뫨 㤠  뫪  ⨭  譨 ਯ, ⮡  ᮧ ⥫ থ.  쭥襬 祭 <>  ९஢ ࠧ묨 ᯮᮡ.

 뫠  ⠭⭠ 奬 ७ 㧪 (७ਭ) ࠭: ६  ᠬ 砫 head ᥪ  ⥬ ⭨  ६ ࠡ뢠 ᮡ window.onload (  砥  ࠢᨫ쭮 砭 ७ਭ HTML-). 㧥   㣮  ࠢ ( ⭮, -  Safari,   ᮢᥬ ⭮ ᮮ頥  ⮬ ᮡ⨨), ࠢ ⮫쪮 ࠧ ਠ.

 ⢥ ன ᨨ ࠭ ࠫ ਢ    XHTML Strict . ⪠  ⮬  ,   楫 १ 稫 쬠 㡥⥫. ਨ  稩  (⨯  onclick="",     ) 뫨 ࠭. , ⢨⥫쭮, ᪮쪮 㢥稫 ( 1  - ᦠ    150 ⮢ - ᦠ).

  쥩 ᨨ 㦥 뫨 ࠭  onclick.  祣  ࠭楩  .     ࠢ (⮫쪮 Safari  稬 ⫨  ।饣 ਠ,  뫮 㤠 83  onclick).

 ⢥⮬ ਠ -  ⨬樮 ( ⭮襭 CSS/HTML-) ⢨ - ᯮ짮 id 뫮 ᢥ  ,  ᥫ  class   ⥣.  뫨 ࠭  ਨ  .



 ⨬樨

 ⠡ ਢ १  ᭮ 㧥஢ ( 2008): ࠧ  ਠ    ६  㧪. ६ ਢ  ᥪ㭤.

Size (b)

Gzip (b)

IE6

IE7

IE8b

Firefox 2

Firefox 3

Opera 9.5

Safari 3.1

1

26275

8845

56

80

76

130

127

142

33

2

27173

8993

60

75

320

127

118

148

27

3

26260

8949

61

75

320

131

116

141

23

4

26153

8862

55

73

306

94

102

178

28
 6.2.   ਠ ਢ ࠧ  ६  ⮡ࠦ  ᥪ㭤 


<  ᯨ窠>?

 १ ⮢ 㤠 ,   XHTML   (  ⠬ ॥), 祬 HTML.  ⨬ ॠ쭮 ࠥ ஫ ( ᪮७ 㧪 HTML  ࠭   10-12%). ᫨    ਬ,   100 /   祭 ᦠ⨥  FF3 ⨬஢ ਠ 㧨  9  ॥.   ண      ⫨稥 㤥  ࠧ⥫쭥.

⢥,   <>   짮⥫ (+/-50  - ᮢ襭  筮).  ᫨    <  ᯨ窠>,       ࢥ   ᥪ㭤,   㦥 ⮨ 㬠 -   -⠪ ᯮ짮.

   ᥣ, ᫨ ࠢ쭮 ⠢ 業,  㧪 XHTML  ᤥ  ॥, 祬 HTML. 稥  ࠧ 䠩   ⮣  (26153 ⨢ 26275  ᦠ⮬ ਠ,  8862 ⨢ 8845  ᦠ⮬, . .  0,5%).  ⮬  IE7  ᪮७ ⮡ࠦ ࠭  7  ( 60-80   㧪 ࠭).   ।  10% 먣  ᪮. FF3  ᥡ 宦 ࠧ ( 먣  ᪮ 20% (25   127 )).  ⠫ 㧥  ⫨稥  㧪  2-3 ,  㪫뢠  譮; Opera 뫠 ,  ⢥ত ।騬 ⠬.

 楫  ᢥ ⠫쭮 ࠭  㧥஢   묨 ࠬ ⠪  ⨬樨 룫廊 쬠 ᯥ⨢.



6.4.    砥  reflow!
 CSS- 㧥஢  ᪮쪮 権, ࠣ  ⨭  ࠭ 㧥.  ।  뫮 ᬮ७ 砫쭮 ᮧ 㬥  ᯮᮡ ᪮७  .   襯ਢ ᮢ  ࠢ ⥯ ⭮    㦥 ᮢ ⨭  -   㬥⮬.HTML-  㬥      JavaScript  CSS-᢮⢠ display. 㡫஢   JavaScript ,   CSS-, 筮 ᫮   ᥣ 㦭.   offsetHeight ꥪ (᫨  ࠢ 0,   ). -  筮 ,  ⮫쪮  業? ஢ન   ਭ ஢ 祭 ⨫ display  稥  hide.   襬 㭪 /⮡ࠦ ᠬ,  ,  祭 ⨫ display  ꥪ  㬮砭     ﭨ ᮮ⢥.  㭨ᠫ쭠 (筠) 㭪   ⮬  .


offsetHeight  style.display
஢ ஢ ᪮ ᫥ 祭 offsetHeight  style.display. 㤮⢠ 䠩 뭥ᥬ   ⨬ 祭  ⤥ 㭪樨:function fnOffset(el){return !!el.offsetHeight;}function fnStyle(el){return el.style.display=='none';} el - ⮢ ⥩.஢    権,   樨 㤥   ⮢ ⥩  <span>. ஢ਬ ६, 稢    ⮢,  맮 ⮢ 㭪権  clean. ஢ ஢   㧥,  ६ ᫥騬 ᯮᮡ:var time_start=new Date().getTime();/* ...  ... */var time_stop=new Date().getTime();var time_taken=time_stop-time_start; time_taken -  ६, 祭  ,  ᥪ㭤.
IE sp62

IE8b

Firefox 2.0.0.12

Opera 9.22

Safari 3.04b

clean

128

153

15

15

16

offsetHeight

23500

10624

4453

4453

5140

style.display

171

209

56

56

34

height vs. style

140 ࠧ

50 ࠧ

80 ࠧ

80 ࠧ

150 ࠧ
 6.3.  믮 ⮢  ।  ⮢. ६ ਢ  ᥪ㭤.  । 祭 ਨ  5 ⮢  १⠬ ⮢,   offsetHeight   50-150 ࠧ.砥,   ⤥쭮  offsetHeight,   ⮢ ࠡ ,   - 祭 .   ⠪?


 ⥮ਨ
Reflow -   ४ᨢ 室 ⢨ ॢ DOM, 騩  ⮢    ⭮⥫쭮 த⥫. 砫 室 - 訩 ,    ࠭  ⭮ 浪.  ᫥騥 ⨯ reflow:砫 - ࢨ筮 ⮡ࠦ ॢ;६ -     DOM; ࠧ஢; ⨫;<吝> - ꥤ ᪮쪨 ६ reflow,  饣 த⥫.Reflow   ⫮ ( ࠧ஢     㬥)  ᨭ஭,    ⫮  ꥤ ᫥⢨. 㫨஢ DOM ந室 ६ reflow,  㧥 ⪫뢠   믮 ਯ.  室  । reflow, <७>  㤨 㧥 믮 ⫮ reflow. ..  ࠭ ᭨ ,  믮  reflow,  ᫨ 塞  ਭ  襩 ⢨.樨 reflow 祭 ᮥ     稭  ࠡ -ਫ.᫨ 㤨   clean,  㧥  ࠢ  ஢ ᫥ reflow.  訢 offsetHeight,  <塞> ,  㦤 㧥 믮 ⫮ reflow.  ࠧ, 㧥   reflow   砥  ⮫쪮  -  㣮.砭:  Opera reflow 믮    ⠩, , ,  蠥  ன  ॥ ⠫ 㧥஢.  ⮬  Opera  室 ⮢ -  塞 窨.   ࠢ, .. 뢠  짮⥫ 饭 襩 ᪮ 㧥.


ᯮ짮 Computed Style
   ஢?  襩 , ४⭮ ࠢ 㭨ᠫ (offsetHeight)   (style.display) 砨. ஢ ,   㭨ᠫ쭮  . ᫨  -⠪  㭨ᠫ쭮,   । 㣮 室: । Computed Style - 筮 ⨫  (᫥  CSS-८ࠧ).getStyle = function(){var view = document.defaultView;if(view && view.getComputedStyle)return function getStyle(el,property){return view.getComputedStyle(el,null)[property] ||el.style[property];};return function getStyle(el,property)  {return el.currentStyle && el.currentStyle[property] ||el.style[property];};}();஢ ஢ ⮣ ᯮᮡ  ᢥ  १  ⠡.
IE sp62

Firefox 2.0.0.12

Opera 9.22

Safari 3.04b

offsetHeight

23500

4453

4453

5140

style.display

171

56

56

34

getStyle

5219

5318
 6.4.  믮 㭪樨 getStyle. ६ ਢ  ᥪ㭤 -,  IE  Firefox (  㧥஢) 㭪  ࠡ⠥ ४⭮ ( 饬 砥 頥  ). -, ࠡ⠥     , 祬 offsetHeight. , ४  짮 ⠪ 㭨ᠫ묨 㭪ﬨ (getStyle  ࠪ᪨   JavaScript-⥪),  ॠ뢠 室 㭪樮쭮   ⭮ 砥.  ᫨  ਬ,       hide,   ᢥ  ।  ⮣      த⥫.


⨬: ।  hide
 ஡ ⠭  ।  襭. । ᫥ ॠ:function isHidden(el){var p=el;var b=document.body;var re=/(^|\s)hide($|\s)/;while(p && p!=b && !re.test(p.className))p=p.parentNode;return !!p && p!=b;}।,  ୥  DOM 뢠   ᫠  ⮬ ஢ન  ⮫쪮  document.body.। 襭     reflow, ⠪   ᫥  ७  ஢.   頥 室   㬥:   㤥  让  ⮢?  ஢ਬ.  isHidden ஢   2 (document.body / test_div),   isHidden2 -   10 (document.body / div * 8 / test_div).
IE sp62

Firefox 2.0.0.12

Opera 9.22

Safari 3.04b

offsetHeight

23500

10624

4453

5140

isHidden

231

351

70

71

isHidden2

370

792

212

118

offsetHeight vs. isHidden

102 ࠧ

30 ࠧ

73 ࠧ

92 ࠧ
 6.5.  믮 㭪樨 isHidden. ६ ਢ  ᥪ㭤  뢠 ,   让   ᪮ .  ࠧ,  稫 㭨ᠫ쭮 襭, ஥ ॥ 㯠  offsetHeight  30-100 ࠧ.


祭
 襯ਢ ᫨ ।祭  ⮫쪮  襭 ஡ ᭥    饬 砥, ᪮쪮  ᭥      㧪  ⢨  DOM  ⠫쭮 ࠧ ⮤ ⨬樨.  室 ⮢  ७ ந 訩 砩.  ॠ  ⠪  ᪮  ⮫쪮  ᯮ짮  樨.   稭  堭 reflow    ⨬ .


 ⢥ ᫥᫮: ⨫  ?
 祭  ஭  ᪮쪮 ⨬樮 ⮢, 易  ⮡ࠦ HTML-࠭  ࠭ 㧥.   襬 㬥  ,   㦭  梥, 䮭  - , ⭮饥  ⨫. ਬ, ᢥ ப ⠡      , ᫨ ࠭ ᮮ⢥ 窠  ଥ.  ᯮᮡ  ᤥ:   ⨫  ⠭ 梥 ( 䮭)   JavaScript.  砫   -   :var items = el.getElementsByTagName('li');for (var i = 0; i < 1000; i++) {items[i].className = 'selected'}   ⨫:var items = el.getElementsByTagName('li');for (var i = 0; i < 1000; i++) {items[i].style.backgroundColor = '#007f00';items[i].style.color = '#ff0000';}   :
⮤

IE 6

IE 7

Firefox 1.5

Firefox 2.0

Opera 9

element.className

512

187

291

203

47

element.style.color

1709

422

725

547

282
 6.6. ਬ ⨫  ᮢ  ⠬


ᮢ ࠭
   塞  ,  ࠡ뢠 ⥫쭮 ॥,   ࠭  .   - ⮣,   ᢮⢠ className  ᮢ뢠 ࠭ ,  ⮣ 㧥  頥 ᮡ⨥   । reflow.   ஬ ᪮,  ,  ᫮ 楤.     :hover?  ᮦ, :hover ࠡ⠥ ⮫쪮  뫮  Internet Explorer 6. ⮬   砥 ਤ 짮 -  樥. ᥣ 襯᫥  ᤥ  祢 뢮ᯮ className ,   .      ஫  譨  ᠩ.᫨  ࠭  ⮢  ⥩  室 ந 祭  䥩, ⮨ ⠭ ⨫  १ ᢮⢮ style.


㯯  ⨫
᫨  㦥 㬠  ᨬ쭮   䥩 襣 -ਫ (ᮢ) १ ᢮⢮ style,  ⮨    ᫥騩 .    ᢮⢮ cssText, ஥ ⢥砥  㥬 ⨫ :element.style.cssText = "display:block;width:auto;height:100px;..."; ࠧ,   ⥫쭮 ᪮  ६  ⨫  , ⮬  ந ᥣ  ᢮ ᢮  ᥣ  reflow (   ࠧ  ᫥  ⮣ ᢮⢠,    ⫮ ०).


 ᫮  ⠡
 ⥫쭮 室  ࣠樨 ଠ樨.  ᫨  HTML-㬥 砥 ⠡,  㧥 室 ஡   :   ࠧ - ⮡   ,    ࠧ,  ⮡ ᮢ   -  ன ࠧ. ᫨  ࠭ 뢮 訥 ᨢ  (ਬ, ࠬ ⮢஢  ᪨ ),  ࠧ ॥ 㤥 㠫஢ ⠪ ⠡   室. ᬮਬ,    㧥ࠬ    㤥. 騥 ⢨   ⮡ࠦ ⠡   ⮣,  㤥 祭  ଠ  .室 ⠭  table CSS-ਡ table-layout  祭 fixed.⥬  । ꥪ col   ⮫. ⠭    col ਡ width. ⢥ ਬ  ਢ ⠪ ࠣ :<table style="table-layout: fixed"><!--  ⮫  ਭ 100 ᥫ --><col width="100"></col><!-- ன - 200 --><col width="200"></col><!-- ⨩  ⢥ -  250 --><col width="250"></col><col width="250"></col><thead>...</thead><tfoot>...</tfoot><tbody>...</tbody></table>



 7. ⨬ JavaScript


7.1. 㧥 window.onload
⫮ 㧪 ਯ⮢  ⢥ 㦥 ,  10 , - ਡ defer, ਧ  ᯥ,    ᯥ䨪   諮 ⮫⨨.  ஡ ⠪  ⠥ 㠫쭮.⨥ window.onload ᯮ ணࠬ⠬    -ਫ.    - 쭮 ⮥, ਬ 믠饥 ,     ᮢᥬ ᫮ - ᪠,  ⮢ ਫ.  ஡ 砥  ⮬,  ᮡ⨥ onload ࠡ뢠 ⮫쪮 ᫥ ⮣,  㧨  ࠭ (  ⨭  㣮 ୮ ᮤন). ᫨  ࠭  ⨭,    ⥫ প  㧪 ࠭  ⥬ ⮬,   筥 䠪᪨ ࠡ.  ᠬ ,  㦥 ⮫쪮 ᯮᮡ ।,  DOM  㧨, ⮡     㧪 ⨭  㣨 ⮢ ଫ.


Firefox ।  ᥩ
 Firefox  ᮡ⨥ ᯥ樠쭮   楫: DOMContentLoaded. 騩 ࠧ  믮  ࠧ ,   㦭,  Mozilla- 㧥 ( ⠪  Opera 9  )://  Firefoxif (document.addEventListener) {document.addEventListener("DOMContentLoaded", init, false);}


 Internet Explorer?
IE ন ⥫ ਡ  ⥣ <script>: defer. ⢨ ⮣ ਡ 㪠뢠 IE,  㧪 ਯ 㦭 ⫮   ,   㧨 DOM.   ࠡ⠥ ⮫쪮  譨 ਯ⮢.  ⠪ ,   ਡ  ⠢, ᯮ 㣮 ਯ.  砥,   ᮧ <script>  ⨬ ਡ⮬, ᯮ DOM-⮤, - ਡ 㤥  ந஢.ᯮ  㤮 ਡ,  ᮧ -ਯ,   㤥 뢠  ࠡ稪 onload:<script defer src="ie_onload.js" type="text/javascript"></script>ঠ ⮣ 譥 ਯ 㤥  ⮫쪮   窨 :init();


᫮ ਨ
 ⨬ 室   ஡. 㣨 㧥 ந ਡ defer    ਯ ࠧ .  ᪮쪮 ᯮᮡ,    ⨬ .  ᯮ짮 ᫮묨 ﬨ, ⮡  <⫮> ਯ:<!--[if IE]><script defer="defer" src="ie_onload.js"></script><![endif]-->IE ⠪ ন ᫮ . 騩  㤥 JavaScript-⮬    HTML-://  Internet Explorer/*@cc_on @*//*@if (@_win32)document.write("<script defer=\"defer\"src=\"ie_onload.js\"><\/script>");/*@end @*/


 ⠪ ?
 筮 ,  㦭 ᯥ প  ⠫ 㧥஢.    ⮫쪮  室 - ⠭⭮ ᮡ⨥ window.onload://  ⠫ 㧥஢window.onload = init;


 믮
⠥  쪠 ⭮ ( ᪠,  㤥 ?). ᪮  ⠭ ᮡ⨥ onload   (⠢) 㧥஢,  init ࠡ⠥  -  IE  Firefox. ⮡  ,  㦭 ᮮ 㭪樨,    믮 ⮫쪮  ࠧ. ⠪,  ⮤ init 㤥 룫拉 ਬ୮ ⠪:function init() {// 室, ᫨ 㭪 㦥 믮﫠if (arguments.callee.done) return;// ⠭ 䫠, ⮡ 㭪  ᯮ﫠 arguments.callee.done = true;// - };⮨ ⠪ ᬮ ⠢ 쭮 ६ READY   砥.   ,  ࠭ 砫 㭪樮஢,  ॡ  ⮫쪮  㭪樨 init.


塞  譥 䠩
 ᠭ 襭   ᮢ: IE  ॡ 譨 JavaScript-䠩. ন Safari (Opera 9 ন DOMContentLoaded).  襭   Internet Explorer, ஥    譨 䠩 ( ᮦ,    뢠 ।० ᭮  IE7  ᯮ짮 饭 ᮥ)://  Internet Explorer (ᯮ㥬 ᫮ )/*@cc_on @*//*@if (@_win32)document.write("<script id=\"__ie_onload\" defer=\"defer\" src=\"javascript:void(0)\"><\/script>");var script = document.getElementById("__ie_onload");script.onreadystatechange = function() {if (this.readyState == "complete") {init(); // 뢠 ࠡ稪  onload}};/*@end @*/  Safari!if (/WebKit/i.test(navigator.userAgent)) { // ᫮  Safarivar _timer = setInterval(function() {if (/loaded|complete/.test(document.readyState)) {clearInterval(_timer);init(); // 뢠 ࠡ稪  onload}}, 10);}


 襭
function init() {// 室, ᫨ 㭪 㦥 믮﫠if (arguments.callee.done) return;// ⠭ 䫠, ⮡ 㭪  ᯮ﫠 arguments.callee.done = true;// - };/*  Mozilla/Firefox/Opera 9 */if (document.addEventListener) {document.addEventListener("DOMContentLoaded", init, false);}/*  Internet Explorer *//*@cc_on @*//*@if (@_win32)document.write("<script id=\"__ie_onload\"defer=\"defer\" src=\"javascript:void(0)\"><\/script>");var script = document.getElementById("__ie_onload");script.onreadystatechange = function() {if (this.readyState == "complete") {init(); // 뢠 ࠡ稪  onload}};/*@end @*//*  Safari */if (/WebKit/i.test(navigator.userAgent)) { // ᫮  Safarivar _timer = setInterval(function() {if (/loaded|complete/.test(document.readyState)) {clearInterval(_timer);init(); // 뢠 ࠡ稪  onload}}, 10);}/*  ⠫ 㧥஢ */window.onload = init;


 㧪 JavaScript
譨 JavaScript-䠩  㧪 ࠭  ᨫ쭮    ந⥫쭮,   筮 ⮩ 室  ⮩ 樨: ᯮ짮 ᪨ ⥣ <script>  㦠 ਯ ࠫ쭮, 㢥稢 ⥬ ᠬ ᪮ 㧪 ࠭   짮⥫᪮ ⨥. ᭠砫 ᬮਬ,  祬 砥 ஡  㧪 ਯ⮢.  ᢮  ⮬,  㧥   ᪠,  室  ਯ,  㧨  . ਯ  ᮤঠ 맮 document.write(),   DOM-ॢ,   location.href,  ࠢ 짮⥫   ࠭.  ᫥ 砥  , 㦥  ।饩 ࠭,   㦭묨. ⮡ । 㧪,    譨, 㧥 ᭠砫 㦠, ⥬   ᯮ  ਯ । ⥬,  室  ᫥饬 䠩  ।  㧪.  १  맮 ਯ  襩 ࠭   㧪  뢠 ⨢ ﭨ  ᪮ 㧪. ਢ ६ ࠬ,    㧪  JavaScript-䠩. 㧪 ਯ⮢  ࠫ 㧪 䮭 ⨭,   ࠧ  :. 7.1. 


᫮ 㧮   
 ६ ࠬ (஬ ஢ ⨭)  ⠪ ⮨ 㬠  ⮬,  ⨭ ᫥ ਯ 㦠 ⮫쪮  .  ந室 - ࠭祭  ᫮ 䠩,    㦥 ࠫ쭮.  IE <= 7  Firefox 2  ࠫ쭮 㦠 ⮫쪮 2 䠩 (ᮣ᭮ HTTP 1.1 ᯥ䨪樨),    IE8,   FF3  ᫮ 㢥祭 㦥  6.  , ᯮ ᪮쪮   㧪  䠩, ⮬  ࠭祭 ࠡ⠥ ⮫쪮  㧪  ⮢    ( ஡  ஡ 뫠 ᬮ७  ⮩ ).  ᫥ ,  JavaScript  㧪   ⮢.  ⢨⥫쭮  ਢ  ਬ ਯ ᯮ  㣮 ,  ⨭,  -०   㧪.᫨  ᨫ - 稭  㤠 ᯮ짮 २⢠ <⫮> 㧪,  ᫥ ࠧ 맮  譨 䠩 ਯ⮢   ࠭, אַ । 뢠騬 ⥣ </body>.  ⢨⥫쭮   ᪮ 㧪 ࠭ (ਯ -० ਤ 㧨  饬 ⮪),   ᤥ ᮢ ࠭  ன. 짮⥫ ,  ࠭ ⠫ ॥, ᫨ 㢨 - 㠫 ⤠   㧪.


騥 ਯ
 ᠬ ,  쭮 ⮥ 襭  ࠭ ஢ 㧪:  㦭  ਯ ᪨, ᯮ DOM-⮤.  ? ஡㥬 ᮧ   <script>  ਪ९   <head>:var js = document.createElement('script');js.src = 'myscript.js';var head = document.getElementsByTagName('head')[0];head.appendChild(js); ਢ ࠬ 㧪  襣 ⮢ ,   㧪 ਯ⮢ 㦥 ᯮ ᠭ 孮. ⨬,  ਯ 㦠 ⠪  ,      ६ 㧪 㣨 ⮢ (. 7.2).. 7.2. ६ ࠬ: 饥  JavaScript-䠩  , 䠩 ਯ⮢ 㦥   㧪,  㧥   ࠡ  㣨 ⠬. 饥 ६ 㧪  ⮬ ᮪⨫ .  㤥 ࠡ ⮫쪮  ⮬ 砥, ᫨ <᪨> ਯ  ᮤঠ 맮 document.write. ᫨   ⠪,   ⠪ 맮 㦭 㤥   element.innerHTML  ⪠  ᯮ짮 ⮩ 孨.


ᨬ
  ஡,  易  ᪨ 祭 ਯ⮢, 砥  ࠧ襭 ᨬ⥩. ।,     3 ਯ   three.js ॡ 㭪  one.js.   ࠭ ࠡᯮᮡ  ⮬ 砥?  ᯮᮡ  ꥤ  ਯ⮢   䠩.   ⮫쪮    ᠬ ஡,    ந⥫쭮 ࠭, 㬥訢 ᫮ HTTP-ᮢ. 祭 ந⥫쭮    ந  砥 ஢ ⤥ 䠩  ୮ 饭,   ᠭ ஡  筮 뫥.᫨   室 ᯮ짮 ᪮쪮 䠩,     㦠 ⥣ ࠡ稪 ᮡ onload ( 㤥 ࠡ  Firefox)  onreadystatechange ( 㤥 ࠡ  IE).  㧥 室 㤥 ᯮ짮 ⮪   䠩 (ਬ, {filename}_loaded)  ஢ઠ    ࢠ  ᮮ⢥⢨ true.  ᯥ 믮 ᨬ⥩.  ᫥ ᪮ 㧪 ਯ⮢, ஡  ᨬﬨ 뫨 ⬥祭  IE6-  Safari3 ( Windows).  10 ਯ⮢,  㦠 ࠫ쭮 ( ᠬ  ᨬ  㦠  6  FF3,  易  ७ ࠭祭ﬨ 㧥  ᫮ ६ ᮥ   ⮬),  10 ࠡ뢠  砩 浪, 稭  3-5,  ࠧ   㧥.  㣨 㧥 (Opera 9.5, Firefox 2, Firefox 3, Internet Explorer 8) ⠪  ⬥祭  뫮.  ᪮ 㧪 ⠡ ⨫  ஡ ᬮ७  ⢥⮩  (  諠  孨 ꥤ ⨭  ᫥⥫쭮 ⮡ࠦ ࠭  砥 讣 ࠧ CSS-䠩).  砥 ஢ 㧪   ᯮ  浪 ਮ⭮, ⮬  㧥  ᬮ 㧨  ࠧ.  짮⥫   ࠡ  묨 <⫮묨> ﬨ ᨬ쭮 ,   㦭 ।.


 ᫨ -㣮?
 ਢ ࠢ 㣨 ⮤   ஢  㧪 ਯ⮢,    ⠪  ᢮ ⪠.
⮤

⪨
ᯮ㥬 ਡ defer ⥣ script⠥ ⮫쪮  IEᯮ㥬 document.write()  祭 ⥣ script饥   ⮫쪮  IE (१ defer) ४ ப ᯮ짮 document.writeᯮ㥬 XMLHttpRequest  祭 ⥫ ਯ, ⥬  ᯮ塞 १ eval()<eval() - > ( 믮,  ⥭樠쭠 ஧   । <ࠢ> )ᯮ㥬 XHR-  祭 ⥫ ਯ, ⥬ ᮧ  ⥣ script  ⠭  ᮤঠ ᫮, 祬 ।騩 砩㧪 ਯ  iframeপ  ᮧ iframe 7.1. ࠢ ⮤ <⫮> 㧪 JavaScript-䠩


 饬
 騥 ᨨ Safari  IE8 㦥 ᥭ ,  㫨 ᯮᮡ 㧪 ਯ⮢.  砥  ⮬, ⮡ 㦠 ਯ ࠫ쭮,  ᯮ  ⮩ ᫥⥫쭮,  ன  室  ࠭.  ᥩ ,   ४  ஡  ਯ⮢  㧪 ⠭  㠫쭮, ⮬  㤥  ⮫쪮 짮⥫ IE 7    Firefox 3  .     ᯮᮡ 襭  ஡  ਬ ᪮ ⥣ <script>.


7.2. ᭮ <稢> JavaScript
-ࠧࠡ⪠  ᫥ ६ ⢥ :  ४⨫ ᬥ訢 ᮤঠ, ଫ  㭪樮쭮, , ⠪ ࠧ,      ᥬ ᠩ ⠫  -  ⮣ 㦭   ⠡ ⨫.  ⥫쭠 㭪樮쭮      㦥 騩 䠩 ਯ⮢    祭 . ᬮਬ,   ᯮ짮  २⢠ ᮢ६ 㧥஢,  ࠭稢  ⮬ 짮⥫   ᨩ.


Javascript: ࠭ ⤥쭮
  ᨫ ஭ JavaScript 砥  ⮬,      ⤥ 䠩.    CSS  砥,   ᢮   㭪権   ࠭ ᠩ,  ᫨  㦭   㭪樮쭮,  ᤥ     㬥,  ।⥫쭥, 祬 ॡ  ࠭   -  ⮪   㣮.ਬ,    ⮫쪮  ⠪ 䠩,  㤥 ᯥ稢   㭪樮஢ ࠭  ᪮ 㧥:<script type="text/javascript" src="scripts.js"></script>


Javascript -  ७
 ᯮ㥬 JavaScript, ⮫쪮 ⮡  㦥  㭪樮쭮, ⠪        . JavaScript   몫祭  䨫஢ ப-ࢥࠬ  䠩ࢮ , ᯥ稢 ᭮.     ਭ JavaScript  c.  砥,   ᮢᥬ   ᯮ짮 Javascript,   ,      ⮫쪮  ⥫ . ࠭  ࠡ   몫祭 JavaScript -    ᭮ ࠢ <稢> JavaScript. ᬮਬ  ਬ ᫥騩 HTML-:<form action="/"><p><label for="login">:</label><input type="text" name="login" id="login"/></p><p><label for="password">G஫:</label><input type="password" name="password" id="password"/></p><p><input type="button" onclick="checkform()" value=""/></p></form>᫨  짮⥫ ⪫祭 JavaScript (  ࠡ뢠 ४⭮  ᨫ ᮡ⥩ ࠧ 㧥஢),    ᠩ 㤥  .   ⮫쪮  稭 ୮ ஥஢,   訡  ஭ ࢥ  ୮ ᯮ ⮢  .  ࠢ  ࠣ,  button  submit   ࠡ稪 ᮡ submit  :<p><input type="submit" value=""/></p>...<script type="text/javascript">document.forms[0].onsubmit = checkform;</script>


,  ஢
⢮ 訡  JavaScript ந室  ⮬,  ࠧࠡ稪 ᫨誮 , ⮡ ஢, 㯥    ꥪ  ⮤. ᥣ  ᯮ짮 - 譥 ६ (  ।   ⮩ 㭪樨)  㭪樮, 饣  㧥 (ਬ, DOM-⮤), 室  㢥७,  ᯮ㥬 ꥪ  ⮤ . ⢥ ਬ ࠢ ஢ப  ਢ ᫥騩 :function color(object, color) {if(object) {if (color) {if (object.style) {object.style.color = color;}}}}᫨  ⨬ 㡥,  㧥 ন W3C DOM,  筮 ஢ ᫥ ஢:if (document.getElementById) {} 饬 砥   室   । 㧥ࠬ ப .


  ⠬
 XML- ( ⠪  HTML-) 㬥 -  ॢ 㧫.  -  ⮣ ॢ ( ⢥   ਢ ॢ 䠩  ४਩  ⪮ ᪥).  ᬮਬ,  㭪樨  ਡ   ᯮ짮, ⮡ ६  ॢ 㬥  롨 室  㧫.getElementById('elementID')頥   䨪஬, ࠢ elementIDgetElementsByTagName('tag')頥 ᨢ ⮢   tag⢥,   ᬥ訢     ਠ. ᪮쪮 ਬ஢:document.getElementById('nav').getElementsByTagName('a')[1];//頥  뫪  ,   ID 'nav'document.getElementsByTagName('div')[1].getElementsByTagName('p')[3];//頥 ⢥ ࠣ  ண div  㬥. 祭  DOM-⮤,  ন ᥩ ࠪ᪨ ᥬ 㧥ࠬ,  ਢ   ᫠.        ᠩ w3.org.


 ᮢ
 ᯮᮡ      㬥  ⥬   ,     ࠡ 짮⥫,  ਢ뢠  JavaScript.    ஡ 饣 ࠪ.० 祬   , 㦭 㡥,   .JavaScript-    ਢ易  ⪥, ⮫쪮  DOM-ॢ. 譨 ॢ ப   ⠭   ⥪⮢ 㧥, ࠧ⪠  ,   ਯ      祭 .HTML, 祭 १ DOM-⮤,  設⢥ 砥 . ᫨  ⨬  ୮ ᯮ짮,  ᥣ ਢ      ਬ innerHTML   ⠪ 砥 (  ⢥ ࠬ   㬥).  ⮣ ॡ ⮢.   (ᮡ getElementesByTagName) 쭮 ᮥ. ⮨ ஢   ᯮ㥬  (஡  ஢  JavaScript ᪠뢠    ⮩ ). ⮨ ஢ ਡ,   (᫨      JavaScript-,        ਡ).㦭 室 ஦  ⪥  㣨 ᠩ⮢. ਬ,  ஢થ className  稥 । ப  ᯮ짮 筮 ᮮ⢥⢨, ⮫쪮 ॣ ࠦ ( ਡ   ᮤঠ ᪮쪮 ᮢ, ࠧ ஡).


塞 ࠡ稪 ᮡ⨩
 孨,   ᯮ㥬, ⮡ ࠭  JavaScript <稢>, -  ࠭ ਯ  ⤥쭮 䠩,  ।⥫쭥, 祬 ᬥ訢   ࠧ⪮ ࠭. ⮡ ᯮ 㭪樨  襬 .js-䠩,   맢 ,  ࠭ 㦥 (஡  ᮡ⨨ 㧪 ࠭ 뫮 ᪠  砫 ⮩ ).   (ਬ,  ६쭮 ⨬樨,  ⢥)  JavaScript-  室  HTML-㬥, 祭  <script type="text/javascript">...</script>.    㤥 ,   ᬥ訢 ࠧ ࠭   ࠡ⪮,  ᮤঠ -  㭪樮쭮.    JavaScript- 㤥  ⤥  ᮤঠ,  ண  ।祭.   ࠡ稪 ᮡ⨩    㦥 騬 ࠡ稪.  맮 㭪樨  ।  ꥪ,  㦭 ਢ易  ᮡ, ⨯ ᮡ   㭪樨.function addEvent(object, eventType, function){if (object.addEventListener){object.addEventListener(eventType, function, false);return true;} else {if (object.attachEvent){var r = object.attachEvent(\"on\"+eventType, function);return r;} else {return false;}}} - 쭮 ᫮ ⥬  Javascript.  ࠧࠡ⪨  -ᠩ⮢ 㪠 ਬ஢ 筮,  ᫨  室  ࠧࠡ⪥ -ਫ,   ⭮ ᫮. ⮬ ⮨  ⥫   㭪樮஢  ᫮ ⪫祭  ন JavaScript.


᪮塞 ࠡ ᮡ⨩
 ᬮਬ,   ᯮ짮 ⮤ <稢> JavaScript  ᨬ쭮 ᪮७ ࠡ⪨ ᮡ⨩  㧥.   㬥 ᫮ ਥ ᮡ⨩,  祭 㬥, ⥬ ।  ਥ  ⥩  ஢ન  ࠡ稪,   ୥  ᯫ뫮  ᮡ⨥.।,    ᭮   ᠩ 砥  뫮 ᢥ, ६   ॡ ࠡ稪 ᮡ⨩, ⮡    ਡ href.    뫮 ਡ class ⠢  bundle.॥ ᥣ,  㤥 룫拉 ᫥騬 ࠧ.var MenuNavigation = {init: function() {var navigation = document.getElementById('mainNav');var links = navigation.getElementsByTagName('a');for ( var i = 0, j = links.length; i < j; ++i ) {if ( /bundle/i.test(links[i].className) ) {links[i].onclick = this.onclick;}}},onclick: function() {this.href = this.href + '?name=value';return true;}} ⮬ ࠣ 쭮  譥. -, ⮤ getElementsByTagName ᬠਢ  ୨ DOM-㧥   mainNav, ⮡   뫪. ⥬   ࠧ ஡  ᥬ  ᨢ, ⮡ ஢    뫪.    ୮ ६   ⠯.    㧪 ࠭  ஢ JavaScript-.


 ᫮
 ਪ९ -⢥ ࠡ稪 ᮡ⨩   mainNav, ⮡ ⥬ ᫥    뫪  :var MenuNavigation = {init: function() {var navigation = document.getElementById('mainNav');navigation.onclick = this.onclick;},onclick: function(e) {if ( /bundle/i.test(e.target.className) ) {e.target.href = e.target.href + '?name=value';}return true;}}  ⭮  室   祢,      ஥ ⢮ २   ந⥫쭮:  ਥ ᮡ⨩ ਪ९  㬥, ⥬ .   㦠     १砩   ᨫ쭮  ࠡ 㧥஢.   㢥稢 ᫮ 몠,  ॢ 窠 . ஡ ᪠뢠   ⮩ .㦠    ࠭.    ஡  ᫮ -ਫ  প  㧪 JavaScript  ᯮ  㠫樨 㬥.  横  ࢮ ਬ   ஬.<ᯮ  ॡ>. ன ਬ 믮   ⢨,  뢠  ࠡ稪 ᮡ⨩,   , 祬 믮  ⢨  㧪 ࠭,     , 㤥  饭   ࠡ稪 ᮡ⨩. 뫮  ࠭   ,  짮⥫  ⮫쪮     .


६  Internet Explorer
   ஡  ᯮ짮   . । 楫   ᮡ,  ᠬ ,    맮 e.target.  Internet Explorer 室 ᯮ짮 e.srcElement.   襭  ࠭ ⮩ ஡   㭪 getEventTarget.  ।⠢  㠫쭠 .function getEventTarget(e) {var e = e || window.event;var target = e.target || e.srcElement;if (target.nodeType == 3) { // ६  Safaritarget = target.parentNode;}return target;}८। ᮡ⨩  饥 ६  ᠬ ࠭ ࠪ⨪, ᫨  室  讬 ᫥ ࠡ稪 ᮡ⨩ (ਬ,    ﬨ 祪,   祭 ࠡ稪 ᮡ⨩-).  ᥣ  ⮣  㬮砭 ᯮ짮 ⮩, ⨢    ⨬஢ ⮤  ਬ  ⢥ 蠡  ணࠬ஢  ஭ ,     ॡ ⥭ 祪 JavaScript-⥪  ᢮ ࠡ.


 
 , ᫨  㦭  ⠪ ࠡ稪   뫪 (   )? ࠢ쭮: ⮣  ⥩   뫮 ⮨  document.body.  ਢ ਬ ,   ⠪ ᤥ.var MenuNavigation = {init: function() {document.body.onclick = function(e) {var target = getEventTarget(e);if ( target && /bundle/i.test(target.className) ) {target.href += '?name=value';}return true;};}var getEventTarget = function(e) {var e = e || window.event;var target = e.target || e.srcElement;// ६  Safari  while ( !target.href || target.nodeType == 3 ) {target = target.parentNode;}();return target;}}window.onload = MenuNavigation.init;᫨  ᮡࠥ ࠡ뢠  뫪,  㦭 ,        ⨭,  㣨 ⥣, ⮬  ४ᨢ <ᯫ⨥> 뫪: ஢ த⥫ ꥪ,  ஬ ࠡ⠫ ᮡ⨥,  ᫨    । ਡ href,  ॡ த,  頥 ᪮ ꥪ.  뫮   㣠 饭 ⠭⠬, ⠪  ᫨  ᠬ  ஥㥬 HTML-,   祣.


ࠡ⪠ ᮡ⨩  㧥

 ᬮਬ ᪮쪮 ࠪ᪨ ᯮᮡ ࠡ  ࠡ稪 ᮡ⨩  㧥. ਬ,   ࠡ稪 :
node.onclick = function(){}
᫨ 㦭 ᪮쪮 ᮡ⨩   <஦砥>,   ᯮ짮 ᫥饩 ࠭ :
if (node.addEventListener)node.addEventListener('click', function(e){}, false);elsenode.attachEvent('onclick', function(){});
 ⠪ ஢ ਠ⮬ ( ᨬ):
if (node.attachEvent)node.attachEvent('onclick', function(){});elsenode.addEventListener('click', function(e){}, false);
 ⠪ ᯮ짮 ⤥ ६  ࠡ稪 ᮡ:
var addEvent = node.attachEvent || node.addEventListener;addEvent(/*@cc_on 'on'+@*/'click', function(){}, false);
    ப  ᯮ짮 ᫮ 樨:
node[/*@cc_on !@*/0 ? 'attachEvent' : 'addEventListener'](/*@cc_on 'on'+@*/'click', function(){}, false);


⠥  ᮡﬨ



 ᬮਬ,      ᮡ ᫥ 墠    ᮮ⢥饣 ࠡ稪:
node[/*@cc_on !@*/0 ? 'attachEvent' : 'addEventListener'](/*@cc_on 'on'+@*/'click', function(e){var target = e.target || e.srcElement// if (!e.target) {e.target = e.srcElement}// , ᫨   ᥣ  ࠧ(e.target || e.srcElement).tagName// true  ஬ IE,  ஬ this === windowthis == node;// ⬥塞 ᯫ⨥ ᮡif (e.stopPropagation)e.stopPropagation()elsee.cancelBubble//   ᯮ㥬 ਠ, //  ᮢ⨬ ࠡ⠥   㧥. e.cancelBubble = true// 㡨ࠥ ⢨  㬮砭 (  砥 )if (e.preventDefault)e.preventDefault()elsee.returnValue = false//  attachEvent ( ) ࠡ⠥ ⮫쪮  IE; //  祭  (node.onclick) - return false;}, false):


7.3. ਬ <稢> JavaScript


 । ࠧ 뫨 ।⠢  ⥮᪨ ᯥ ஥ ᪮ , ਥ஢  ᨬ쭮 த⢨      ஡ .  ਢ ࠪ᪨ 襭  祭  ࠪ ஭ ᪮ ⢨  ᠩ:  稪 饭  ࠧ饭 ४.    ᥩ ࠪ᪨   -஥.



ਭ樯 <稢> ४
⠪,   ࣠뢠 ࠧ饭 ४  -࠭  ⮣, ⮡ ⠢ ⥫ ᠩ⮢  㤮? ᪮ 設⢮ 뢮 ᫥   孨 <稢> JavaScript,  ࠧ   ⠪ ࠧ.    ᪮ ⨬樨 ᯮ짮 ४  ᠩ. 뫮 த஢  ᫥ 2007-2008 ,   থ  㧪 ࠭  筮 짮⥫ 室   ४, 砥  ᭮ १ JavaScript.   ᬮ७ ᭮ ⨯ ᯮ짮 ४  ᠩ  । ᯮᮡ ( 設⢥ ᢮ ஡  ࠪ⨪)  ࠧ  㧪. : 祬  ?  ࠧࠡ稪 ம ⥬, ⥪⭮ ४  㣨 ᫮ -ࢥ ਫ 㦥  㬠     ᫥⢨? 㬠,   㬠  .   ४  /㯪    饣 㤮⢠ 짮 ᠩ⮬.  ,  ᢮ ।, ⥫쭮 蠥  ୮ ਬ ࠧ ४ ⥩. ⮬ ᪠ ⨬ 맮 ४    ॠ쭮 襭 ਡ뫨   ᢮ -ᠩ (  楫  ). ᫨  㦥 뢠  ⥬, 祬  ᠩ ⠪   -  ४,  ஥஢   -室, ⮣ ᫥騥 ᫨  ⢨⥫쭮 .    祢 , 묨 ⮨ 㪮⢮   .


document.write ⨢ innerHTML
⥪⭠ ४, ,     <ମ>  㧪 ࠭ (  ࠢ ᫮),  ⨢ ਬ document.write,  <஧> 㧪  祭  室 JavaScript-䠩  譨 ࢥ஢. ⢥ । 뫮  ᯮ짮   innerHTML.ਭ樯 :  ஥஢ ४ 맮 ᯮ innerHTML  script.src (᫥ ࠧ㬥 祭 譥 JavaScript-䠩 ⥬ ᮧ ᮮ⢥饣 ⥫쭮 㧫  head ᫥ 㧪 ࠭, 孨  ஡ ᠭ  砫 ).   室,   業 䥪⨢ ४  ਬ ᪠  (   室 ᫥  ࢥ ).᫨   㤠  맮 document.write, 묨 ﬨ 頩   ᠬ  㬥. , ⮨ ᬮ ਠ,  ᫥ 㧪 ࠭   ⥪⭮ ४ ६頥  室 ,    ६   -   㬥     ᪮ 㧪 ᭮ ᮤঠ.ਭ樯 ன: ⠢ ४  ᨬ쭮    ࠭.


⥪⭠ ४
᭮묨 ப  뭪 ⥪⭮ ४     .४, Google AdSense  . Google 㯠  ࠪ筮:  १ 맮 ਯ ⠢ iframe,   㦥 㦠  ४ . ᪮ 室 䠩 ४ ਯ⮢ ᯮ    ᠬ 㯭   CDN  ,  ᪮ ⮡ࠦ ⠪    . ᮬ  㦥.  ⮣,  믮 document.write ᮤন ४   ᭮ DOM-ॢ,  ⮬  㦠 浪 5 ⥫ 䠩   㧫 ⥪饣 㬥 ( ⭮,  稪  䠩 ⨫).    ᠬ 訬 ࠧ ᪠뢠  த⢨. ८ࠧ   砥 맮 .४   innerHTML  㤠 (  ⭮,  ࠧࠡ稪  ஭   襥 ६  JavaScript-,  ⠪  ).  ⮬  ⭮ 㤨:  ।⠢ (᫠ 㬥஢,   ) API  ⢥ ⠢ ४   ࠭   innerHTML.  ⮣ ᥣ  㦭 ⠢ JavaScript-६:begun_multispan=1,begun_spans=[{'span_id':'ad','limit':7,'width':230}]  砥 砥 ⢥  ४  (begun_multispan=1),  ,       ⢥  뢠.  ந室 १ ᨢ begun_spans,   span_id 砥 䨪 ,    ⠢  ᫥ 㧪, limit 㪠뢠   ⢮   ,  width  뢠 ਭ ४  ( ᥫ).  ࠧ,  ⠢  㭠  ᠬ  ࠭  ᨬ쭮 ᪮  㧪. 砥 㭠  ᪨ 㧥  쭮 ਠ 㦠 ᥣ 2 䠩 (⢥騩    ᮤঠ騩 ᠬ ),  ⠪    ⥬ ⥪ . ⢥ ୠ⨢  ᬮ ࠧ饭 ࠪ᪨ ᥣ   ᮡ⢥ ᠩ,  㦠 ⮫쪮 室 ⥪ ⠢ (  ࠢ ४ ⥩   頥,  㣨 न ᯮᮡ ᪮ 㧪  ᦠ ਯ,  ( 㭠, ਬ) ⤠  筮 , ୮,  ).


TopLine, Pop-Up, Pop-Under  RichMedia
 ⠭ ४  ᥩ ॢ  ଠ    ࠭: TopLine, Pop-Under  RichMedia. ᫥  쬠 㦥⢥  孨 <稢>,   ⮫쪮 ᫥  㧪 ࠭ ( ⠪ ४, , 㤥 ᫨誮 ࠧࠦ饩, ⮡ ᯮ짮   ଠ ᠩ). TopLine ⫨砥 ⥬,    ⠢  ᠬ 砫 HTML-㬥 , ⠪ ࠧ, ᨬ쭮   㧪.᪮ TopLine  祬 ⫨砥  ⠭ ஢,  ⥫  쭮    ᯮ짮.     ࠢ    㧪?  ,    ⥪⭮ ४: ६ 맮 document.write  innerHTML (  appendChild).   뫮 ᯥ譮 த. 室  ஢ ਠ ᫨誮 ⮩, ⮡ ਢ  .  ⠭  맮   ᯥ譮  DOM-⮬,  ࠡ뢠  ஢ ᮡ window.onload  ⠢  ࠭ ⮢   室 .ਭ樯 ⨩: ᯮ ࠭ ⮢   ४ . ᫨ ࠭ (१ ⨫)  ࠧ ⥬ ,  㤥  ४ ( ᫮ ᤥ,   ᥣ   ࠧ ஢  ⥪⮢ ),  ⥫  뢠 ࠧ  ᪮  室  ࠭ ᠩ. ࠭  㤥 <࣠>  㧪,  ४ 㤥  ⥯,  ண ⢥  .


७ ४ 
  -࠭, ᯮ ७ ⥬  ४, ⠢  믮 १ iframe ( 饬 砥 -   ᯮᮡ),  १ document.write (  ᪠,     document.write ⠢ ਯ,  ஬ ᮤন 㣮  . .). ᫥ ᯮᮡ  筮  㧪 ࠭, ᫨ 쥢  楯窥 ⠢     ᯮ   ࢥ. ⮫쪮  讬 業 ᠩ⮢    室:  ४  뢠  ࢥ,    ⤠ 㦥   .  ࠧࠡ⪥ ७ ४ ⥬ ᠬ ⨬ 㤥  ⠪ ⮤.ਭ樯 ⢥: ᮧ ४   ࢥ.  (᫨  )    뭥ᥭ  ࢥ  直  㭪樮쭮. । ࠭, 몠, 㧥, 筨 室 -    ⠭   ⮣,  ࠭ 㤥 뤠 짮⥫.    㦭 -   ⮣ ⨭  ⨬ 䠩. 祬 ࠨ  । ᫥  짮⥫᪨ 設, ᫨   ᤥ  魮 ࢥ, ᯥ樠쭮  ⮣ ।祭?


쭠 ⥪ ४ 
室  ᥣ ᪠,  ।⠢ ஥ ७   ४  ਬ୮  ᫥饬 : ७ ࠭ .  ⠯    ᮢ६ ம ,  㦭 - 㯮冷  ४ ਠ  ⥣ । 祭    . ⠫ ४ .  ⠯ ⮦ 筮 室,   ᥣ .  ४    祭 ⮫쪮  ᪮쪨 ᮮ⢥  (ਬ,  ࠭  3  ਠ  뢮 : 240x240, 240x720  120x800).  ४    ਪ९   ࠭,    .  ४ . ᫥   蠣 室  ࠢ, ᮣ᭮       뢮  ᮮ⢥ ࠭.  ⠪ 筮 ⢫,   ⮣ 蠣 ,  ࠢ,   -    JavaScript-맮  ।  室 ࠬ 뤥 ਯ,  ᠬ ⠥,  ⤠ .ன ࢥ୮ ஭.  ᠬ ,  ᪮    ࠧࠡ⠭ ࢥ ,  ᯥ   ᠬ 㭪樮,   ⥫ ᮢ  ࢥ.   (  ) ,  뫮 㯮 ,   㦥  - ⠪ 祬  ⥫쭠 㧪  짮⥫?ன ⨪.   , ,  祢  ᥩ 奬.   맮 譥 ਯ  䠪᪨  㤥 㬠  ⨪ -  ᮡࠥ ⮬᪨ ஭ ਫ. ᫨  ࠧࠡ뢠 ७ 襭,     ந   ᮡ  ᠬ 㫥,    ⢫,  (  ।⥫쭮) ᮡ  ᭮  ᮢ  ४ 䠩 (ਬ,  ⠪ ࠧ ࣠ 稪 頥).襭   ஢.  ᮪㦥 ஥⮢,     ਬ ஢,  㤥 㬠  ⥬,  ࠧ 䫨 ४   ᥭ ࠭  ࢥ (  ᪨) .  ⮣ 㦭 㤥  ஢ ࠭ ⤥쭮   (. . ४    ஢),       ਠ ࠭,  ⮬ 뢠 ⮫쪮 ,  㤮⢮ ⠢ ᫮. 㬥,  ஡  ⮫쪮  ஥⮢  让 頥 ( 襭,   砥,  ஧筮 ᫥  ⥪ ⠪ ஥,    ⥫쭮    ࢥ ࠧࠡ稪). 饬, ᮢ  - ᯮ ᢮ ࢥ  祭,   ४뢠  ࠡ   짮⥫.  ᮮࠦ  ࠧ  প  㧪 ࠭, 맢묨 ४묨 ,  㬥 . ᠫ 襭     ⠪ ,  ᭮ 室 㪮⢮  騬 ਭ樯.


塞 稪:  䮢  ॠ쭮
 ᬮਬ ⥯,  ᮡ ।⠢  JavaScript-稪. 筮 ( 99% 砥)  <᪨>  ᪮ 㦥  ࠬ஢: URL ⥪饩 ࠭; URL ࠭,   諨  ⥪; 㧥;   . . ⥬   ।  ࢥ ⨪.  ⥫  稪 易  ᯥ祭 ᨬ쭮 筮 । ଠ樨 (㧥୮, 䠪᪨).   (Omniture, Google Analytics) ᯮ   ᮡ⢥ ६  ᮡ, ⮡ ᨫ થ⨭ ⠢. ᥩ    ⮬.  ᮡ࠭      ࢥ ⨪?  祭 :  㬥 ᮧ 㭨 ,  URL ண <訢>  室 祭 (筮  ⢥ GET-ࠬ஢). URL  ,   ,  ࢥ ⨪,       - ࠧ 뢠  ᪮ 䥩.  ᮧ  ᠬ <㭨> ?  ᫮,    ࠭ᯮ ।⢮   ⠫ ⨭.  ᥫ GIF-䠩 (ᥩ,   CSS-⪨, , , ⢥  ਬ) ⤠ ࢥ஬  ⢥  URL  ࠬࠬ  .


ࠥ  窠
 㦭 ࠭஢ 㧪 譥 JavaScript-䠩 <稢> ࠧ,  ⮬ ᯥ   ࢥ ⨪ (ᮧ ⨭  ᯥ樠묨 ࠬࠬ).  砥 Google Analytics  㤥 祭 ਢ쭮,  ⨭ 㦥 ᮧ १ new Image(1,1).  設⢮ 稪 (㭥   ⮫쪮)  document.write,  ᫨ ⠪  ࠡ⠥ ᫥ ᮧ ᭮ 㬥,  㧥  ᮧ ,    ॡ㥬 १.  짮⥫    ᮢ襭  ࠭  㧥.᭮ ᫮  ७ ਯ⮢ ⨪  ⠤ -㧪 ( ஢ ᮡ window.onload, ஥ ᠭ  砫 ) 砥  ࠧ   맮 ⨭, ᯥ稢饩 ᡮ ⨪,  DOM-⮤ (    ⮫쪮 new Image,   appendChild).  ⢥ ਬ ᬮਬ ८ࠧ ਯ ⨪  LiveInternet:document.write("<img src='http://counter.yadro.ru/hit;tutu_elec?r"+escape(document.referrer)+((typeof(screen)=="undefined")?"":";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";"+Math.random()+"' width=1 height=1 alt=''>")  ,    ⠪ ७   ᪮ 㧪.  ⮣   㦭 ८ࠧ ਬ୮ ᫥騬 ࠧ:new Image(1,1).src='http://counter.yadro.ru/hit;tutu_elec?r"+escape(document.referrer)+((typeof(screen)=="undefined")?"":";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";"+Math.random() ࠧ ( ਢ ⪨  -   ப, ࠧ  㤮⢠ ⥭),    맮 document.write  new Image().    設⢥ 砥. ᫨     ᫮ 㦥 ᠭ,  ᫥騥   ᬥ ய.


 ᫨ ᫮?
  稪  . ਬ,  ᡮ ⨪   ⮣  Google Analytics  㦭 㧨 楫 ⥪ - 䠩 urchin.js  ga.js.   , ⭮  ⮬ ਯ  㦥 ᮡ   ᮧ ᪮ ⨭.⮬ ,   ॡ  ⮬ 砥, ᫨  譥 ⥪ 室 騩  맮 document.write, -    ᮮ⢥騬 ࠧ. 筮  ⮣ 室  ᠬ JavaScript-䠩.  㤥  室  ਠ  ᬮਬ ८ࠧ  ਬ Omniture - 쭮 ୮   ⥪  ᡮ ⨪.砫  㦭  ᮮ⢥騩 ⮪   JavaScript-䠩.  襬 砥  㤥 頥 ப,  ⥬ 뢠  㬥:var s_code=s.t();if(s_code)document.write(s_code)  Omniture 筮  ᮮ⢥騩 return:return '<im'+'g sr'+'c="+"\"'+rs+'\" width=1 height=1 border=0 alt=\"\">'    ᫥騩  (⨬,   src ⨭  ६ rs):return 'new Image(1,1).src=\"'+rs+'\"'⥬  㦥   맮   ᠬ HTML-䠩 var s_code=s.t();if(s_code)eval(s_code) ⮣ ⮡  ⥫쭮 ࠡ⠫, 室   䠩 s_code.js  ⠫ 맮 document.write (ᥣ  ⠬ ). 룫廊  ਬ୮ ⠪:var c=s.t();if(c)s.d.write(c);...s.d.write('<im'+'g name=\"'+imn+"+"'\" height=1 width=1 border=0 alt=\"\">');塞 var c=s.t();if(c)eval(c);...new Image(1,1).name=imn;⥫ ⥫ 㦥 ⨫,  ୠ⨢ document.write  襬 砥 ⠫ eval,   讬   祭 .    ⠢  ॡ  ਯ < 窠>, ⮡   ⠪ .    ⮨ ࠭  㢥७,   ⠫쭠  ⠭ ஭⮩ ᫥ ⥫,    ᠫ ⮫쪮 ࠢ ᮡࠥ   ࢥ.


 ⨪ ᪮
⠪,  㧭,  ⮢ 譨 JavaScript-䠩  ᪮ 㧪. ⠫ ,  ⥯  ᯮ짮.᭮ २⢮ ( ⮪?) Omniture 砥  ⮬,  JavaScript-䠩 (筮 s_code.js) ᯮ  襬 ࢥ. ⮬ 祣  蠥   ⠬  . ᫥ ⮣ ᯥ  㧪  맮 稪 㦥  ⠢ 㤠. ⮩ 樨,  ਯ ᮢᥬ 譨 (Google Analytics),    讬  ⮫쪮 2 室:७ ᠬ ਯ   ࢥ,    室 樠樮 ६  맮 ( ᠬ ) 㭪樨 ⨪ ( Google Analytics  urchinTracker()).  ⢥ ᮢ  ⬥ ,   饬 砥 ਯ 㤥 㦠  襣 ࢥ ॥, 祬 㤥 ⠭  ᮥ  www.google-analytics.com  ஢,  䠩  .  ⢥ ᮢ - 室 ᫥ ()  ਯ  室 ⤠ JavaScript-䠩  ᮡ⢥ ࢥ  ᥬ ⥪騬  ⮣ ᫥⢨ﬨ.஢ १ । ஬⪨ ६, 㧨  ⥪.  祭 ⮩ ,  १  10  ஢, 㯭   ⥪ 室 㭪. ᫨ ,   뢠.  ⨢ 砥 ஢ઠ ᪠ ᭮ १ 10 . :  ᯮ짮   ᠬ ਯ,   ࠭. : ⥫쭠 () 㧪  ᪨ 㧥  㧪.  ⢥ ਬ  ᬮ ᫥騩   Goole Analytics:var _counter_timer = setInterval(function() {if (urchinTracker) {urchinTracker();clearInterval(_counter_timer);}}, 10);,   ࢮ 砥   㧪 ᨫ쭮 ᪮ (ᮡ  ﭭ ⥫),  ஬ 砥 - 砥 襢  न,    ( ᫥ ⢨ ⥫쭮 ⥫⢠  室 ).



7.4. 몠  窨 
 ⮬ ࠧ   २⢥  Internet Explorer   ਯ⮢ - JScript. , -,   ਢ ⮤  ᮢ⮢  讥 祭  㣨 㧥஢   㠫 JavaScript-設. -, IE     浪 60% 짮⥫᪮ 㤨ਨ, ⮬  ᬮ७ 䥪⨢ ணࠬ஢  JavaScript 뢠    ७ 뫮   襩  㯮. 諮 窨   ᮧ  ஡ -ࠧࠡ稪. ࠭ 뫨 ।쭮 묨,  室      ⢥ ଠ ᯮᮡ  ᢮ ᥩ 㯭 . ᫨ 窠  ந室,  뫠 ⮫쪮 ⥫쭠,  ⠢ 祭.६ -ਫ  ࠧࠡ뢠  ⮬  ᮪ ⠭⮢. ࠭  믮  祭 ᮢ  ⥫ 室  ᠩ,  ⮬  㤥 ᠬ ᪨ 訢  ଠ १ -ࢨ. ਯ⮢  뢠  筮 ᫮묨 奬 ࠡ⪨ ᮡ⨩, ꥪ⭮-ਥ஢ JScript  몠ﬨ, ந  ᢥ     த ਫ.  ⮬, 뢠  㣨 ᮡ,  ࠪ 蠡 祪  ⠭   室,  ᫨  뫨 ࠭ ⠭  堭 樨  ᠩ.襩  㤥 ,  蠡 祪     㦥, ᫨ ,   ᪠. ⮤ ࠭  殮   ஡ ᠭ,   ॡ  讣 ⢠ ⥫ ᨫ.   ࠭  -० <> -  祪, ᠬ ⥫ 窨    㤠.


 祪
 ᫥ ࠧ  㤨 騥 蠡 祪   ਢ ᪮쪮 ਬ஢  . ⥫ ਬ஬ 祪 㤥 砩 몠  JScript,  ⢥ 㣮  ਢ ᯮ짮 몠  ࠡ⪨ ᮡ⨩.  ⢥  ࠡ稪 ᮡ⨩  㤥    ࠭ e 窨 ,  㣨 砨, 易  몠ﬨ,   祭묨.᭮  祪  ࠧ  ᫥騥 4 ⨯.᪨ 뫪,    뫪  DOM-ꥪ⮬  㧥  ਯ⮢ .  ꥪ  ਢ  窠 .  ᠬ ࠭ 蠡.몠  ᠬ 稬 蠡   ⥪ -ਫ. 몠 쭮  䨪஢, ⮬     祢 ᫮, ⭮饣  ᯮ㥬 ਯ⮢ ,       饬 砥 㦥.࠭ 窨  ।⠢ ᮡ 祭 쪨 窨,   -  ꥪ⮢  ६饭    .  㤥 ᬮ७ 冷  DOM-ꥪ⮢,    ࠪ ਬ,  ,  讥  襣   । ᮧ ⠪ 뢠 ꥪ⮢.ᥢ-窨,  ,   窠,   뢠 ஥ ᯮ⢮, ᫨  , 㤠 室 . 㤥 ᬮ७ १ ꥪ ਯ      室 祭  ⢠ , ᫨ ࠡ⠥ ⠪,  ॡ.


᪨ 뫪
᪨ 뫪  筨 ࠪ᪨  窨. 筮 ਯ⮢  ଠ쭮 ࠡ뢠  横᪨ 뫪   ᮡ⢥ ᡮ騪 ,  -  ।⥩  堭 ᪨ ࠢ   ᡮ.   ⠪ ।⥩ 㤥 ﭨ DOM-ꥪ,  ஬   ⥪  ਯ. ᭮ ਭ樯   砥   ⠪: . 7.3. ᭮ 蠡 横᪮ 뫪窠  ⠪ 蠡 ந室 - ᮡ⥩  DOM-뫮. ꥪ ਯ⮢  㤥ন 뫪  DOM-  ,   ᢮  譨 뫪, ⮡ ᢮,  ᢮ ।,  㪠⥫  DOM-.  襬 砥    뫪  ꥪ ਯ:    ਯ⮢    ७ ᢮⢠ DOM-.  砭 ᢮ ࠡ ਯ ᢮  뫪,  뫪  DOM-   㤥 ᢮, ⮬  ,   ᤥ ꥪ ਯ!୮, ࢮ   㤥,  ⠪ 業਩ ࠧ ᮡ⨩  㦨  ࠭,   ࠪ⨪ ।⠢  砩  ⮫쪮 設 ᡥ࣠.   ⠪,  横᪠ 뫪 室   楯窨  30 ꥪ⮢,  㦨   ⮬ ࠩ 殮.⮨ ᬮ,   蠡 㤥 룫拉  HTML.   맢 , ᯮ  ६  DOM-ꥪ,   .<script type="text/javascript">var myGlobalObject;function SetupLeak(){//  砫 ᮧ 뫪  ਯ  DOM-myGlobalObject = document.getElementById("LeakedDiv");// ⮬ ⠭ 뫪  DOM   ६document.getElementById("LeakedDiv").expandoProperty =myGlobalObject;}function BreakLeak(){document.getElementById("LeakedDiv").expandoProperty = null;}window.onload = SetupLeak;window.onunload = BreakLeak;</script>⮡ ࠧ  蠡,  ᯮ짮  ᢮ null ⮬ ᢮, ஥ <>.  ࠧ,  ⨨ 㬥  ᮮ頥 ਯ⮢ ,   DOM-⮬  쭮 ६    裡.  १  뫪  饭,  ᠬ DOM- 㤥 ᢮.  ⠪ 砥 -ࠧࠡ稪    ७ ⭮襭  ꥪ⠬, 祬 ᠬ ਯ,    ⮩ ଠ樥  ਯ⮬.


 ᫮ 砩
  ⮫쪮  蠡,   ᫮ 権    ᭨ ࢮ稭 窨. ࠭ ࠪ⨪  ᠭ ꥪ⭮-ਥ஢ JScript  ७ DOM-⮢ ⥬ 樨   JScript-ꥪ.   ᮧ ⠪ ꥪ  設⢥ 砥 砥 뫪   DOM-,  ⥬  ࠭  ⮫쪮  ᮧ ꥪ,  ⮬  ⮣ ꥪ 뢠 ਪ९  DOM-.  ᯮᮡ  ਫ ᥣ 砥   ᥬ  㦭. ஡ 砥  ⮬,    横᪠ 뫪,  - ᯮ짮 㣨 ᯥ⮢ 몠    祭. ࠭ 蠡 ⠪ த   쬠 㤭⥫,     ᯮ짮  ⮤, 㦤 ࠭.<script type="text/javascript">function Encapsulator(element){//  this.elementReference = element;//  横 뫪element.expandoProperty = this;}function SetupLeak(){// 窠:   new Encapsulator(document.getElementById("LeakedDiv"));}function BreakLeak(){document.getElementById("LeakedDiv").expandoProperty = null;}window.onload = SetupLeak;window.onunload = BreakLeak;</script><div id="LeakedDiv"></div>  襭  ஡   ᮧ  ॣ樨 뫮, ⮡ ᮮ⢥騬 ࠧ 㢥 ਫ,      㤠.  ⮬ 砥   㬥 㦭 㤥 ன  ᥬ ⠪ ⠬     뫪.   ୮ 室   ⮫쪮  㬥,   㢥 ⢮ 横᪨ 뫮,     ஡.


몠
몠 祭   稭 祪 - ⮣,   ᮧ 横᪨ 뫪 ࠪ᪨   ணࠬ.   ⠪ 祢,  ࠬ த⥫᪮ 㭪樨   <஦>  ६,     ᮧ 뫪,  㤥 㤥ন   ᢮ 몠.  ⠫ 㦥 ப ࠭ ࠪ⨪ ணࠬ஢,  짮⥫ 筮  ⠫  墠⪮ 㯭 ᮢ. ᨫ ⮣,   ᮤঠ   ਨ 믮 ਯ,    ⠪    ࠢ.  ᥩ ᬮਬ  ࠬ 横᪨ 뫮  ⮬  몠, ⮡ , 㤠  ⥫ 뫪.. 7.4. ᪨ 뫪  ᠬ몠 砥 筮 横᪮ 뫪    2 ﭭ ꥪ,  ᮤঠ 뫪   㣠, -  몠 ⫨  ⮩ .  ᮧ  뫮  ᫥ ଠ  ࠭⢠ ஦  ꥪ⮢.  筮 砥  ६  㭪樨  ᯮ㥬 ࠬ  ⮫쪮  祭 ६  ᠬ 㭪樨.  砥 몠  ६  ࠬ   뫪   ਮ  몠,    ⥫쭮 , 祬  த襩  㭪樨. ⢥ ਬ  ᬮ ꥪ 2,    ᢮  砭 맮 㭪樨,  饬 砥.  ᫥  몠 뫠 ᮧ  뫪   ࠬ,     ᢮,   㤥  몠. ᫨  ਪ९ 몠  ᮡ,   ਤ   ᮡ   殢 . ᫨ 몠 ਪ९  ७ ࠬ, 㦭 㤥  㫨 (ࠢ  ࠬ  null).몠 ᮧ  맮 㭪樨, ⮬  ࠧ 맮 த  ᨬ 몠,  㤥 ᮤঠ 뫪  ࠬ ᢮ 맮. - ⠪ 譥 ஧筮 祭 ,  ᠬ ,  몠 <>.  ᫥饬 ਬ ਢ    砥  祪  몠:<script type="text/javascript">function AttachEvents(element){//   ᮧ   뫪  ClickEventHandlerelement.attachEvent("onclick",ClickEventHandler);function ClickEventHandler(){//  몠 뫠  }}function SetupLeak(){// ந室 窠AttachEvents(document.getElementById("LeakedDiv"));}function BreakLeak(){}window.onload = SetupLeak;window.onunload = BreakLeak;</script><div id="LeakedDiv"></div>࠭    ⠪ ,   砥  筮 横᪮ 뫪. <몠>  ᬠਢ  ६ ꥪ,      㭪樨. ᫥ 襭 㭪樨 뫪  ᠬ 몠 , ⮬ ⠥ :   맢 騩 detachEvent?   室 砥  ᯮ짮 ண 몠, ஥ 楯  ᮡ⨥ onUnload ᥣ  㧥. ᪮   ꥪ  ⮩   ,  ⠭   ࠡ ᮡ, ᢮ 몠    ⪨. ⮡ ⥫쭮 ᭨ ,      ਬ ⥫쭮 ᢮⢮,  ஬ ࠭ 뫪  몠, ⥬  뫪 ᢮ 몠  㫨 ᠬ ᢮⢮.<script type="text/javascript">function AttachEvents(element){// ⮡   ᢮ 몠,//   - ࠭ 뫪  element.expandoClick = ClickEventHandler;//   ᮧ   뫪//  ClickEventHandlerelement.attachEvent("onclick", element.expandoClick);function ClickEventHandler(){//  몠 뫠  }}function SetupLeak(){// ந室 窠AttachEvents(document.getElementById("LeakedDiv"));}function BreakLeak(){document.getElementById("LeakedDiv").detachEvent("onclick",  document.getElementById("LeakedDiv").expandoClick);document.getElementById("LeakedDiv").expandoClick = null;}window.onload = SetupLeak;window.onunload = BreakLeak;</script><div id="LeakedDiv"></div> ਬ  ࠧ  孨 ࠭ 祪   ᮧ 横᪨ 뫮, , ,  ᠬ ࠬ⭮ ࠭, ⠪    ࢮ砫 뫪.  ਬ   ᯮ짮 몠  ࠡ稪 ᮡ,  ६    ⥪.  ⮫쪮 몠 ⠭ 㭪樥,    ᫥ ࠬ   ६  த⥫᪮ 㭪樨, ⮬   㦭     横᪨ 뫮, 뢠  몠.     ஡   襭  ⥬ ࠭  몠,  ॠ쭮  㦭.


࠭ 窨
窨,    浪  ⮢  DOM-ॢ, ᥣ 맢 ⥬,  ᮧ ஬ ꥪ,  ⥬  㤠  ࠧ.  ந室   砥 ᮧ ᪨ ⮢,  ⥬ ᮥ  DOM.  蠡 砥  ६ ᮥ  ⮫쪮  ᮧ ⮢, - 祣   ,  ன । ୨ . ⥬,  祭 ⮣ ॢ   ⮢  ᭮,   ᫥ ⥪ ᥣ 㬥,  ந室 窠  ६ ꥪ (祩 ⥪   ). ᫥饩 ࠬ   ⮤ ᮥ ᪨ ᮧ ⮢  饬 ॢ.  ࢮ   ᮥ塞 ୨    த⥫ ,   殢, 祭 ॢ -  DOM.  ⮤  맢 窨   ࠢ쭮 ᮧ ६ ꥪ⮢.  ஬ 砥  ᮥ塞  ࠧ  ࢨ筮 ॢ, 稭 ᪮ ᮧ 㧫  ᠬ   ᫥ ୥ .  ᨫ ⮣,    ᮥ 뢠    쭮 ꥪ,    ᮧ ६ ⥪⮢.  ⮤ ⥫쭮 , ⮬    ⥭樠 祪 .. 7.5. 窨, 易  浪  DOM-⮢ ⮨ ஠஢ ࠪ ਬ,  筮 ᪠  ᬮ७ 設⢮ ⬮  㦥 祪. ᪮   ࠣ 㡫筮 㯭 ⮢  ꥪ,  뢠 窨, 쬠 ,   ,   ஡    . ⮡ ⠢  ਬ ࠡ,  㦭 ᭠ ᪨ ᮧ  㪠⥫  - ७ 㭪.  ࠧ,   ⠪ 맮 㤥 ந室 窠   ᮧ ६ ७ ꥪ (ਬ, ࠡ稪 ᮡ⨩),  ⮫쪮  㤥 ਪ९ ᮧ ꥪ  饬 ॢ. ᪮ 窠 쬠 ,  ਤ  ⭨ 横. ᪨  ⠢ ᥣ ᪮쪮 ⮢.᪠ ਬ    ⮩ ࠭,   ࠧ  ꥬ   ⨬  ﬨ.  ᯮ짮 ࢮ DOM-  ਪ९ ୥ 㧫  த⥫᪮,  ⥬ த⥫᪮ -  饬 ॢ, 㧪    ⠥.  窠 ᯮ짮 ४ 뫮 ࠪୠ  Internet Explorer.  ⮬   ᢮, ᫨  १⨬ IE-. ᫨ ஢ ਬ, ᯮ  DOM-    ᠬ ⢨,     ࠧ   ᫥.  ࠧ,  ࠢ 窨 ⠪ த:<script type="text/javascript">function LeakMemory(){var hostElement = document.getElementById("hostElement");//  ᬮਬ,  ந室    ᯥ for (i = 0; i < 5000; i++){var parentDiv = document.createElement("<div onClick='foo()'>");var childDiv = document.createElement("<div onClick='foo()'>");//  뢠 窠  ६ ꥪparentDiv.appendChild(childDiv);hostElement.appendChild(parentDiv);hostElement.removeChild(parentDiv);parentDiv.removeChild(childDiv);parentDiv = null;childDiv = null;}  hostElement = null;}function CleanMemory(){var hostElement = document.getElementById("hostElement");//  ᬮਬ  ᯥ   ᯮ짮 for(i = 0; i < 5000; i++){var parentDiv = document.createElement("<div onClick='foo()'>");var childDiv = document.createElement( "<div onClick='foo()'>");//  浪  祭.  祪 hostElement.appendChild(parentDiv);parentDiv.appendChild(childDiv);hostElement.removeChild(parentDiv);parentDiv.removeChild(childDiv);parentDiv = null;childDiv = null;}hostElement = null;}</script><button onclick="LeakMemory()">⠢  窠 </button><button onclick="CleanMemory()">⠢  祪</button><div id="hostElement"></div>⮨  ப஢ ਢ ਬ, ⮬   ⨢  ࠪ᪨ ᮢ⠬,   ⭮⥫쭮 ᠭ ਯ⮢  IE. 祢 ⮬   砥  ᮧ 稭 窨  ,  DOM- ᮧ  ਪ९묨   ࠡ稪 ᮡ⨩.     窨, ⮬   砥  DOM-⮢,   ᮤঠ  ਯ⮢,   ᮥ     筮 ०,   ஡, 易  窠.  । ன ⮤ 襭 ⠢ ஡,        ॢ쥢 ( 襬 ਬ  ࠡ⠫ ⮫쪮   ⠬,  ࠡ  ॢ  ᯮ짮 ࢨ筮 DOM-ꥪ   쬠   ⨬쭮 ந⥫쭮). ⠪, ஥ 襭 砥  ⮬,    ᮧ 砫    ਪ९   ਯ⮢, ⮡ ᭮ ᮡ  ॢ. ᫥ ⮣  ਪ९ 祭   ࢨ筮 DOM-ॢ, ॡ  室 㧫     ॡ㥬 ࠡ稪 ᮡ⨩.   ᭮ ᯮ짮 横᪨ 뫮  몠, ⮡  맢  ⥫ 窨 , 易  ࠡ稪 ᮡ⨩. ⮨ ᯥ樠쭮    ⮬ 㭪,   ,    窨  ⠪   㦨. ,  ⮣, ⮡ ஡ ⠫ , ॡ  権.      饩 , ਬ,  浪 ⠢ ⮢  DOM-ॢ,  १ 㤥   ᠬ:  ந⥫쭮. ᫨  ६  ᢮ ணࠬ  ⮫쪮  ப ࠭ ⮤  ࠪ᪨ ᮢ  ࠧࠡ稪,  ⮨ ,  訡  ,   ᠬ 訥 ᮢ    - ᯥ 묨.   砥  襭 砥  襭 ⥪饣 ⮤   ᮧ ,   蠫  ஡.


ᥢ-窨
祭  ⢨⥫쭮     API  ਢ  ⮬,  訡筮 뢠 窠 . ᥢ-窨 ࠪ᪨ ᥣ   ᠬ ࠭  ᪨   祭 । 뢠 祭  ࠭,  ன ந室 뤥 , ⭮⥫쭮 ⮩ ࠭.  㬠,  ।  ࠪୠ ࠭筠 窠,   ᪠  ࢮ稭 -   ந室 室 .  ਬ ⠪ ᥢ-窨  ਢ ਯ  १ ⥪.    , 易   ⮢  DOM-ॢ,  ஡ ࠥ  ᮧ ६ ꥪ⮢  ਢ  <ꥤ> . ९뢠 ⥪⮢ 㧥  ਯ⮢  ࠧ  ࠧ,  ,  ⢮ 㯭  - 㬥蠥 - ࠧ ꥪ⮢ ७ ,  뫨 ਢ易  ।饬 ᮤঠ.  ⭮,   ꥪ, ⢥騥  ⫠ ਯ⮢, ᪮   ਭ ।饬  .<script type="text/javascript">function LeakMemory(){// ᬮਬ,  ந室    ᯥ   for(i = 0; i < 5000; i++){hostElement.text = "function foo() { }";}}</script><button onclick="LeakMemory()">⠢  窠 </button><script id="hostElement">function foo() { }</script>᫨  ⨬ ਢ   ᬮਬ  ᯥ ,  ந室  室  <⥪饩> ࠭  ,   㢨  祪. ਯ 室  ⮫쪮  ⥪饩 ࠭,   ६饭    ⢮  ࠧ ᢮. 訡 砥  ୮  । .  ,  ९뢠 ண ਯ ਢ  ⮬,  ।騩 ᮪ 㤥 ᫥ 祧, ⠢ ⮫쪮 ⥫ 横᪨ 뫪  몠,  䠪᪨   祧. 祢,  ᥢ-窠.   砥 ࠧ 뤥  룫廊 ,   ⮣  ᮢ襭  稭.


஥㥬 窨
 -ࠧࠡ稪 ⠢ ᮭ ᯨ᮪ ਬ஢ ,  ண ⭮,   <>,  ⠥     ⮩ 襭,  㦨 筨 ஡.  쬠 ,    ⮩ 稭 ᥩ -࠭ ⭮⥫쭮 ᢮  祪 .   ஡ 뤥   ନ 蠡,   㠫 ᪮ ,    ࠧ  த⨢   ᫥ 襭. 砥  ⮬, ⮡ 㦥  ⠯ ஥஢ ਫ   ।⠢  ⮬,  窨      㤥  ࠡ. ᯮ <஭⥫> ⠪⨪  ࠧࠡ⪥  ।,   ⢮ ਫ    ᢮.    㢥祭 ⢨⥫쭮 ஡, ⮬  ⮫쪮  祭 ।  ⢨⥫쭮 ॡ ᢮  ,   ⠭ ⢥  稨  ६  塞 ᢮ ⥭樠쭮 ᪫  窠.


7.5. ⨬㥬 <殮> JavaScript-᫥
 ⢥ ९⢨  믮  -㧥 <殮> ᫥   䠪,   䥩 짮⥫  㧥 ⠭   砭 ᯮ JavaScript-.  砥,     ᫮  ᪠ ⮣, ⮡  襭 ࠡ ਯ ॡ  300  ( , ᫨ ࠧ ). 襭 ⮣ ࠢ 㥬   宬   짮⥫. ⮬   -㧥  JavaScript-  ࠭祭 ६  襭 ᢮ 믮 (   䨪஢ ᫮  砥 㧥஢   Mozilla  - 㣮 ࠭祭, ਬ ᨬ쭮 ᫮  権  砥 Internet Explorer). ᫨ ਯ 믮 ᫨誮 ,  짮⥫ 뢮  ,  ஬ 訢, 㦭  ࢠ ਯ.


⨬㥬 ᫥
Google Gears ( http://gears.google.com/ ) ᯥ稢 믮 殮 ᫥   襮७ ࠭祭.   饬 砥    稥 Gears ( 饬 뫮  ⥫쭮, ⮡ 襭  ⨯ Gears WorkerPool API ⠫  ⠭⭮ API 㧥஢). ,  쭮 ꥪ  ⮤ setTimeout,   믮 ।   প,  ⥬ ᠬ 㧥  ࠡ ᮡ   䥩 짮⥫.  ࠡ⠥   ⮬ 砥, ᫨ প  setTimeout ⠢  0,   ࠧ 騩   ⢮  ⥩. 騩 蠡  ᯥ祭 ⠪ 㭪樮쭮  ।⠢  ᫥饬 :function doSomething (callbackFn [, additional arguments]) {// 믮塞 樠(function () {//  ᫥...if (筮 ᫮) {//  稫callbackFn();} else {// ࠡ뢠 ᫥騩 ᮪  setTimeout(arguments.callee, 0);}})();}


蠥 蠡
 蠡   , ⮡  ࠡ뢠   襭 ,   室  ᯮ.   祭   ᯮ짮  ﭨ:function doSomething (progressFn [, ⥫ 㬥]) {// 믮塞 樠(function () {//  ᫥...if (᫮  த) {// 塞 ਫ  ⥪饬 ணprogressFn(祭, ᥣ);// ࠡ뢠 ᫥騩 ᮪setTimeout(arguments.callee, 0);}  })();}


  砭
 蠡    室 ( ᬥ ⥪ ᯮ  䥩 -㧥  ⭮), ⮬ 饥 ६ 믮     , 祬 ᫨   ᫥  筮 ०.   横, ⥬   室, ⥬  ࠪ⨢ 䥩 짮⥫ (  ॠ  ⢨ 짮⥫),  ⥬  饥 ६ 믮 ਯ.᫨  㢥७,    ⬠  ᮢᥬ  ६ (᪠, 10 ), ⮣  㯯஢ ᪮쪮 権   㯯, ⮡ 㬥 প. 襭, 稭   横 (뢠 ⥪騩)  ᤥ   ,  ਭ  ᭮ ⮣,   믮  横.  । ப  setTimeout! ᫨ । ப,  㧥 㤥  ࠧ 믮 ⥫ eval   ᪥, ,  饬 砥, 쭮 ᨫ쭮 㢥 㬬୮ ६ 믮 ਯ   㦭 ᫥. ᯮ짮  ६  ᫥ । 室  । 横 㡥,   室  ᨭ஭஢, ⮡  㣮 JavaScript-⮪,    饭   横,   ᢮ .


祭
 ,   殢, 믮  ᫥ ⠪ த  ࢥ (  ⮬ 砥 ਤ    ८ࠧ        ⥢묨 প, ᮡ ᫨ ꥬ  筮 ).  <殮> ᫥  , ᪮॥ ᥣ,  ਧ 㡮, 쥧 ⥪ ஡  襬 ਫ.  ⢥ ୠ⨢ ਠ  ᬮ ࠢ -   ࢥ   XHR-,  ࠡ  ⮡ࠦ  . ᪮ JavaScript - 㥬   㧥,   믮  ᪮쪮 浪  ࢥ .


7.6.  DOM
  DOM-ॢ  JavaScript  ᠬ ஡ ⮬.   ࠢ ⮫쪮 ࠧ      ࢥ ਫ. ᫨ JavaScript 믮 祭 , ᪮॥ ᥣ,    DOM-⮤.  ᬮ७ ᪮쪮 ਪ ⮢,   ᯮᮡ ᨬ쭮 ᪮  <>.


DOM DocumentFragment: ॥ ண
DocumentFragment  祭 ⥩஬  DOM-㧫.  ᠭ  ᯥ䨪樨 DOM1  ন   ᮢ६ 㧥 (   Internet Explorer  6- ᨨ). ᯥ䨪樨 ,  ࠧ 樨 - ਬ,  㧫  ୨  㣮 Node -  ਭ  ⢥ 㬥 ꥪ DocumentFragment;  १ ⮣  ୨ 㧫  DocumentFragment ६  ᯨ᮪ ୨ 㧫 ⥪饣 㧫. 砥,  ᫨    㯯 DOM-㧫,   塞  ࠣ 㬥,  ᫥ ⮣   ࠣ    ᠬ 㬥 (१ 㤥 ⠪ , ᫨   㧥  㬥  㠫쭮 浪).     먣  ந⥫쭮. ,  DocumentFragment ⠪ ন ⮤ cloneNode.  ᯥ稢   㭪樮쭮  ६쭮 ⨬樨   㧫  DOM-ॢ. ᬮਬ ,     㯯 㧫,  㦭   DOM-ॢ 㬥 ( ⮢ ᨨ  12 㧫 - 8  孥 ஢ - ⨢ 楫  div).var elems = [document.createElement("hr"),text( document.createElement("b"), "Links:" ),document.createTextNode(" "),text( document.createElement("a"), "Link A" ),document.createTextNode(" | "),text( document.createElement("a"), "Link B" ),document.createTextNode(" | "),text( document.createElement("a"), "Link C" )];function text(node, txt){node.appendChild( document.createTextNode(txt) );return node;}


ଠ쭮 
᫨  ᮡࠥ    㧫  㬥, , ᪮॥ ᥣ, 㤥   ᫥騬 ࠤ樮 ᯮᮡ: ன  ᥬ 㧫  ⪫㥬   㠫쭮 浪 (⠪ ࠧ,  ᬮ த    ᥬ 㬥).var div = document.getElementsByTagName("div");for ( var i = 0; i < div.length; i++ ) {for ( var e = 0; e < elems.length; e++ ) {div[i].appendChild( elems[e].cloneNode(true) );}}


   DocumentFragment
 ᫨  㤥 ᯮ짮 DocumentFragment  ᮢ襭   ᠬ 権,   .  砫     㧫  ᠬ ࠣ (ᯮ 騩 ⮤ createDocumentFragment). ᭮ 稭 ⮣,   ᮡࠥ  ᠬ 㧫  㬥:  㦭 맢   ࠧ appendChild  cloneNode   㧫!var div = document.getElementsByTagName("div");var fragment = document.createDocumentFragment();for ( var e = 0; e < elems.length; e++ ) {fragment.appendChild( elems[e] );}for ( var i = 0; i < div.length; i++ ) {div[i].appendChild( fragment.cloneNode(true) );} ஢ ஢ ६  㢨 ᫥ ⨭ (⠡. 7.2).
㧥

ଠ

Fragment

Firefox 3.0.1

90

47

Safari 3.1.2

156

44

Opera 9.51

208

95

IE 6

401

140

IE 7

230

61

IE 8b1

120

40
 7.2. ࠢ ⮤ ࠡ  DOM-ॢ, १  ᥪ㭤


 ᫨  ॥?
 㬠  . 祬   ࠧ ᮧ ࠣ 㬥, ᫨   ⮩ 楫  ᯮ짮   㧥 (䠪᪨ ᮧ  襣 㧫,   ᮡࠥ  )?   ਩  ᫥饬 ࠣ :var div = document.getElementsByTagName("div");var child = document.createElement("div");var parent = div[0].parentNode;for ( var e = 0; e < elems.length; e++ ) {child.appendChild( elems[e].cloneNode(true) );}for ( var i = 0; i < div.length; i++ ) {//  IEif (IE) {parent.replaceChild(child.cloneNode(true),div[i]);//  㣨 㧥஢} else {div[i] = child.cloneNode(true);}}  ᮮ⢥騥 㧫 㬥   ஢ ਠ ஢ ᨨ ( ᮧ DocumentFragemnt).  ࠡ⠥  ॥ (, ஬ IE - ਬ୮  冷,  IE -  - ࠧ).


innerHTML  
⮡ 㬥 ᮢ ⤥ ⥩ 㬥    - 讣 ࠣ,   ࠭ HTML-   ⥪    䨭쭮 ⠯ ⠢   DOM-ॢ.  ᬮਬ ᫥騩 ਬ:var i, j, el, table, tbody, row, cell;el = document.createElement("div");document.body.appendChild(el);table = document.createElement("table");el.appendChild(table);tbody = document.createElement("tbody");table.appendChild(tbody);for (i = 0; i < 1000; i++) {row = document.createElement("tr");for (j = 0; j < 5; j++) {cell = document.createElement("td");row.appendChild(cell);}tbody.appendChild(row);}
  ⥫쭮 ᪮, ᫨  㧫  ᫥⥫쭮   㣨,  ᭠砫 ᮧ HTML-ப  ᥬ 室 ,  㤥 ⠢ १ innerHTML    権.

  ਬ ஬ 㦥 㪠 ᪮७  ᯮ ࢮ砫쭮 ᮧ ᨢ ⮢,   ꥤ १ ᢮⢮ join  ப.   ப  ࠡ⠥ ॥, 祬 ᫥⥫쭠 ⥭ ⤥ ⥩.
var i, j, el, idx, html;idx = 0;html = [];html[idx++] = "<table>";for (i = 0; i < 1000; i++) {html[idx++] = "<tr>";for (j = 0; j < 5; j++) {html[idx++] = "<td></td>";}html[idx++] = "</tr>";}html[idx++] = "</table>";el = document.createElement("div");document.body.appendChild(el);el.innerHTML = html.join("");


7.7. ஢  JavaScript
祭   JavaScript ᯮ  ꥪ  ६  ⥭ - ࠬ஢ ( 맮 । ⮤).  ᥣ ⮣  , ᫨ ஢ ꥪ  쭮     -  饭  ஢ ꥪ  믮  ॥.


樨  쭮 ஢
 DOM- ॡ ᨢ ꥪ⮢  쭮 ⨯筮 祩.  ।,   ࠧࠡ뢠 HTML-ਫ, ஥  ᮤঠ ࠭. 襩 祩  ᡮ  ⮢ h1  ⥪饩 ࠭, ⮡ ⥬ ᯮ짮   ந஢ ᨢ. ਢ ਬ ⮣,    ⢨:function Iterate(aEntries) {for (var i=0; i < document.getElementsByTagName('h1').length; i++) {aEntries[aEntries.length] =document.getElementsByTagName('h1')[i].innerText;}} 宣  ਢ ਬ?  ᮤন  饭  ᨢ document.getElementsByTagName('h1')   樨.  横  ਯ 㤥: ࠧ ᨢ; 祭 ᢮⢠ innerText  ⥪饣   ᨢ. ᮢ襭  䥪⨢. ⥫ ᫥, 易  ᫥묨 㦭묨 饭ﬨ  DOM-ॢ  祭 ଠ樨,    ⠪ ,  ᮢ襭 譨.  ᬮਬ ᫥ 䨪 ⮣ ਯ:function Iterate2(aEntries) {var oH1 = document.getElementsByTagName('h1');var iLength = oH1.length;for (var i=0; i < iLength; i++) {aEntries[aEntries.length] = oH1(i).innerText;}} ࠧ,  㥬 DOM-ᨢ   ६,  ⥬  ⢨   ந ࠧ ॥. N 饭  DOM-ॢ ॢ頥 ᥣ  -⢥  १ ᯮ짮 ஢.


஢ ᮥ 맮
 뢠 ࠪ⨪,  ᥣ 㤥 ᯮ짮 ६ ᨬ쭮        ᯮ짮  ६  業. 쭠   筮 ᮤন ⪨, ᫨  ⭨ ꥪ⮢,   㧥஬ ᮣ᭮ ᯥ䨪樨   ᮡ⢥ 㦤, ⮬ 饭   ६ ᥣ ᮥ. ⮨  ஦ ᯮ짮 祢 ᫮ with, ⠪      ஢   ண 㯠   ६ ( 室 ᭠砫 ஡  楯窥 ⨯ ꥪ, ⥬  楯窥 饩    . .).᫨    ਬ୮ ⠪ ⮪ :var arr = ...;var globalVar = 0;(function () {var i;for (i = 0; i < arr.length; i++) {globalVar++;}})();   ⨬஢ ᫥騬 ࠧ:var arr = ...;var globalVar = 0;(function () {var i, l, localVar;l = arr.length;localVar = globalVar;for (i = 0; i < l; i++) {localVar++;}globalVar = localVar;})(); ⮬ ਬ  㬥訫 ᫮ 饭  쭮 ६  ࠭  ࠧ ᨢ   樨 横.


㥬 楯窨 맮
ᯮ (ࠧ襭) 뫪  ꥪ  ⮤ 믮  ࠧ,  ந室 饭  ⮬ ꥪ  ⮤. ६ ࠧ ᥣ  ⭮ 浪:   ⭮     饩. ⮬, ᫨    ਬ୮ ᫥騩 :for (i=0; i < 10000; i++) a.b.c.d(v);  㤥 믮 ᪮쪮 , 祬var f=a.b.c.d;for (i=0; i < 10000; i++) f(v);var f=a.b.c;for (i=0; i < 10000; i++) f.d(v);   㧥  ࠢ  ஢ 맮 㭪権,  ᮡ  ந⥫쭮  ⠪ ⨬樨  IE  Firefox  .  ஥஢ ਫ  㣨 㧥஢ ⮨ 뢠   ᯥ,   让 ⭮ ஢ 맮 ꥪ⮢ 㦥  ( 㤥   ᠬ 襥 ६)  ࠧࠡ뢠 JavaScript-,      㧪   ந⥫쭮 -ਫ.,  ᯮ짮 ஢ (ᮡ ⥩ DOM-ॢ) ⮨ ,   㬥蠥 ᯮ짮 CPU,  㢥稢 室  (  ਢ  ᥢ-窠), ⮬   ⭮ 砥 㦭 롨 襥   .


7.8.  , ॣ ࠦ  㣨 ᭮
 ⮬ ࠧ ᮡ࠭  ࠪ᪨ ᮢ  ந⥫쭮 ⤥ 権  JavaScript-  㧥.



 ᬮਬ,  ᯮᮡ ॡ ⮢ 㤥 ᨬ쭮   JavaScript.    ᪮쪮 ⥩  ॠ樨 横,  ਢ  ਠ   ஢.<!--  ⮢  १⮢ ஢ --><p id="test1"></p><p id="test2"></p><p id="test3"></p><p id="test4"></p><p id="test5"></p><p id="test6"></p><script type="text/javascript">// 롨ࠥ    DOM-ॢvar items = document.getElementsByTagName("*");// 㥬 ⥪騩 ࠧ DOM-ॢvar length = items.length;//  ⥪騩  ६var time = new Date().getTime();// ᪠  ,  ॡ ⮢ ᨢ,// ᪠ 10000 ࠧfor (var j=0; j<10000; j++) {for (var i=0; i<items.length; i++) {var item = items[i];}}// 뢮 १  ⮢  ⥩document.getElementById('test1').innerHTML = "⮩ 横: " + (new Date().getTime() - time);time = new Date().getTime();// 㥬 ࠧ ᨢfor (var j=0; j<10000; j++) {for (var i=0; i<length; i++) {var item = items[i];}}document.getElementById('test2').innerHTML ="⮩ 横 ( ஢): " + (new Date().getTime() - time);time = new Date().getTime();// ஥ for-in   ꥪ ᨢfor (var j=0; j<10000; j++) {for (var i in items) {var item = items[i];}}document.getElementById('test3').innerHTML ="⮩ १ for-in: " + (new Date().getTime() - time);time = new Date().getTime();//  ॡ ⮢ ᨢfor (var j=0; j<10000; j++) {for (var i = length - 1; i >= 0; i--) {var item = items[i];}}document.getElementById('test4').innerHTML =": " + (new Date().getTime() - time);time = new Date().getTime();//  do-whilefor (var j=0; j<10000; j++) {var i = 0;do {var item = items[i];i++;} while (i < length)}document.getElementById('test5').innerHTML ="do-while: " + (new Date().getTime() - time);time = new Date().getTime();//  while (ᠬ )for (var j=0; j<10000; j++) {var i = length - 1;while (--i) {var item = items[i];}}document.getElementById('test6').innerHTML =" while: " + (new Date().getTime() - time);</script> १  稬 ਬ୮ ᫥ ⠡ (⠡. 7.3).
㧥



 襬

for-in



do-while

 while

Firefox 3.0.3

714

657

835

280

297

217

Safari 3.1.2

141

140

157

125

125

93

Opera 9.61

188

125

765

94

94

78

IE 6

1281

1219

1094

468

500

360

IE 7

1391

1297

1250

515

532

406

IE 8b2

954

906

922

406

422

328

Chrome 0.2

288

246

332

117

114

95
 7.3.  ਠ ॡ ᨢ, १  ᥪ㭤 饬 砥 ਬ ⭮ while  ॡ 横  2-3 ࠧ ॥  ⠫ ਠ⮢. ᫨ -ਫ  ᨢ 浪 1000 ⮢,   १ ਬ ⨬஢ ਥ 㤥 ⥭ ⥫  ந⥫쭮.


 ࠦ
 JavaScript  ᪮쪮 ᯮᮡ ஢, 㤮⢮  ப  蠡:// 1. 塞 ꥪ   ॣ୮ ࠦvar RegExp = '/script/gi';//  饬   ᨢ ᮢ   蠡items[i].nodeName.search(RegExp);// 2.   ஢ ᮮ⢥⢨ ப,//   ᪠  பitems[i].nodeName.match(RegExp);// 3.     ᠬ ॣ୮ ࠦitems[i].nodeName.match(/script/gi);// 4.   ॣ୮ ࠦ  쭮 䨪,//   饬  (=ࢮ) ᮢ 蠡items[i].nodeName.match(/script/i);// 5.  ⥬  ᯥ宬   믮 蠡/script/i.exec(items[i].nodeName);// 6. ,  ஢ ᠬ 蠡  宦  ப/script/i.test(items[i].nodeName); ᬮਬ,    ࠡ⠥ ॥ ᥣ.  ⮣ ⨬  ஢  ⮢  ࠧ  (  10000 ࠧ  ᥣ DOM-ॢ). 稬 ᫥騥 १:
㧥

search

match

< >



exec

test

Firefox 3.0.3

2120

2041

1295

1273

1225

1348

Safari 3.1.2

453

469

344

359

360

359

Opera 9.61

2141

2063

406

344

312

313

IE 6

2594

2516

1875

1859

1953

1906

IE 7

2562

2469

1859

1844

2000

1860

IE 8b2

2140

2032

1453

1453

1547

1469

Chrome 0.2

856

870

416

397

385

392
 7.4.  ਠ 믮 ॣ୮ ࠦ, १  ᥪ㭤加  ,   砥 ᮧ  ॣ୮ ࠦ - 쬠 ᮥ , ⮬  設⢥ 砥  室  .  ⠫쭮  㧥  ᥡ 筮 ஢  ᮯ⠢ match, exec  test.



 8. ਫ


8.1.  ᪨ 㬥⮢
 ᬮਬ  ਥ,  ᠬ⥫쭮 ஢  ந⥫쭮 ᠩ.    ⭥  ஢ ६ ᮧ ࠭  ࢥ, ⠪  ७ 䠪᪮ ६ 㧪 ࠭  짮⥫.


塞 䥪⨢ ਭ  짮⥫
   ॠ ய᪭ ᯮᮡ   짮⥫ ᫥㥬 ᠩ.   ⮬ 砥, ᫨ 짮⥫ 㦠 ࠭ ⢥ , 祬   (뢠 䨧᪨ ࠭祭   ), , ⮨ ਬ   ࠢ ⮩ 樨.० 祬  㧥  뫪  譨 ꥪ (<img src="...">, <link rel="stylesheet" href="...">, <script src="...">  . .),    ⥪饥 ६. ᫥ 㧪 ᥩ ࠭  㤥    , ⠪ ࠧ,  ६ 㧪 ࠭ ( ᪫祭 祭 HTML-䠩  থ, 易   ᮥ  ࢥ஬). 祭 ६  ⥬   맮  URL (ਬ, ⨭), ᯮ  襬 ࢥ.JavaScript-  ⮣ 㤥 룫拉 ਬ୮ ᫥騬 ࠧ:<html><head><title>...</title><script type="text/javascript"><!--var began_loading = new Date().getTime();window.onload = function(){  new Image().src = '/timer.gif?u=' + self.location + '&t=' +   ((new Date().getTime() - began_loading) / 1000);};// --></script><!--  ࠧ 뫪   譨 JS-  CSS-䠩,, ⮡  諨  孥 // --></head><body><!--  筮 ᮤঠ ࠭// --></body></html>  ந ਬ୮ ᫥   -䠩:127.0.0.1 - - [28/Oct/2006:13:47:45 -0700]   "GET /timer.gif?u=http://example.com/page.html&t=0.971 HTTP/1.1" 200 49 ... ⮬ 砥,     , 㧪 ⠢襩  ࠭ http://example.com/page.html 﫠  짮⥫ 0,971 ᥪ㭤. ᫨ ।,  ᥣ  ࠭ 뫮 㦥 䠩 饣 ࠧ  57842 ⮢, 57842 ⮢ * 8 ⮢   / 0,971 ᥪ㭤 = 476556 ⮢  ᥪ㭤 (45 ).  䥪⨢ ய᪭ ᯮᮡ   㧪 ⮩ ࠭. ᫨  짮⥫ 䨧᪨ 室騩  1,5 ,   让   㢥祭 ᪮ 㧪.᫥ ⮣  㤥 ᮡ࠭  ⨪  ६ 㧪 ࠭  䥪⨢ ਭ   ॠ 짮⥫,  ᯥਬ஢  ﬨ,  ᯮᮡ   ⥫  襬.  砥 ⥫ 襭 ⮣ ⥫ ⮨ ९ ᥭ .


Apache Benchmark  JMeter
⨫ ab    Apache (⠭  Linux 筮   ᠬ Apache)  ந ⮩   ந⥫쭮 ࢥ. ⮨ ,   㤥  ࢥୠ ந⥫쭮,   ᪠.      ab -c10 -n1000 http://www.website.ru/㪠 ᯮᮡ  ᪠ -  ᠩ www.website.ru.  ஢ ஢  ࠭ ᠩ 㤥 ᪠砭 1000 ࠧ (䨪    -n1000)  ᯮ짮 10 ࠫ ᮥ (䨪 -c10). ᫨  ⠪    ᪨ 䠩,   ஢  㦨  ᮢ (筮 ᪨ 䠩 ⤠  ᪮ 浪 1000  ᥪ㭤). ᫨  ࢥ ⢥砥 , 祬 5-10 ᥪ㭤  樨 ࠭,  ⮨  ࠧ,   室 ୮ ६.᭮ ࠪ⨪  -  ६, 襤襥  ⠭ ᮥ. ਬ, ᫥饥 祭 㤥   襩 ॠ樨 ࢥ  짮⥫᪨ :Time per request:    40.599 [ms]Connection Times (ms)       min mean[+/-sd] median  maxConnect:184012.53861Processing:000.301Waiting:00  0.301Total:184112.43861  砥     । 諮 41 ,     ६ 뫮 祭  ⠭ ᮥ  㧪 . ⢥  ࢥ ࠪ᪨   室. ⠪ 㧮筮 ஢ ⮨ 室 ࠩ ᬮ⥫쭮:  ᪠   ⮬  ᠬ ࢥ,  ᯮ ᫥㥬 ᠩ ( ab ᠬ  ᥡ 筮 <殮>  㤥  䨧᪨  設  Apache). ᫨  १ ⠪ ⮢ প  쬠 ᮪   -ࢥ ( CGI) <ꥤ> ᫨誮  CPU,  稭 ⮣    室  樨 ਯ⮢   믮   .  魮  筮 ஢ ⮨ ᬮ  ஭ 㣮 ணࠬ - Apache JMeter,  ।祭  㧮筮 ஢ ࠧ ⥢ ࢨᮢ  ਫ,  ࠭稢 ⮫쪮 HTTP.    㭨ᠫ쭠   த  ab, ⮫쪮  ॡ⥫쭠  짮⥫, ⠪  ᮤন   㬥⮢, ࠢ쭮 ਬ   ᨫ ⮫쪮 ᨮ. , JMeter   ⮫쪮 ஢ -ਫ,    㣨 ⥢ ࢨ - SMTP, POP     १ JDBC. ᫨   ⮨ ﭭ ᯮ짮 ஢,  ⮨      ਫ:  ᯫ   - , , ᠬ   魮 襭.


஢  ࢥ
 ணࠬ ᯥ祭,  eAccelerator/xCache/ZendOptimizer  PHP, mod_perl  perl, mod_python  python  .,  ஢ ࢥ ਯ  ᪮஢ ﭨ, ⢥ ᪮ 㧪 襣 ᠩ. ஬ ⮣, ⮨  䨫騩 㬥  ᯮ㥬 몠 ணࠬ஢, ⮡ ⠭,      CPU. ᫨ 㤠 ࠭ 稭  㧮  ,  ࠭  ⤠ ॥    뤠  䨪  襬 ᫥ 設.᫨  ᠩ  ᮧ ࠭ 믮  ᮢ     - 㣨 殮 ᫥, ⮨ ᬮ  ஢  ஭ ࢥ   権. 設⢮  稭          ,    ⠥ ࠡ, ᫨ ⥬    -ࢥ஢ (  ᢮  ᪮  쭮 ). ⠪ ᬮ ᯮ짮 memcached  ஢  ஭ ࢥ. Memcached ᮧ 祭  騩 ,  ꥤ ᢮ ⨢    設.    ७ᥭ  設⢮ ࠭ 몮.


Web Developer Toolbar  Firefox
 㬥  ஠஢ ࠧ  㦥  ࠭ 䠩 (⮡  , 㦭    १ ࠢ   㬥⮢ Web Developer -> Information -> View Document Size).  ᬮ  ᯨ᮪ 䠩  業,  ⭨   ६  㧪 ࠭:. 8.1.   㧪 ᠩ  Web Developer Toolbar ᮦ,  ࠧ ஥ ࠦ ⮡ࠦ ୮.     ⮬,   ⠤ 㧪  ⮩   䠩. ⠥ ⮫쪮  Firefox.


Firebug NET Panel  Firefox
㣨,   㬥⮬   㧪 ᠩ  Firefox  Firebug ( ஥ NET Panel).  ᫥  ,  ।  訢 Firefox,  ⥬ ᠬ ந   ࠬ 㧪 ࠭. ⢥,  㢨   HTTP- ( , ⠪  ⢥)  祭 䠩.  ᮦ,    Firebug  뢠 ६, 祭  DNS-, ।४  ⮡ࠦ ࠭.  頥 ࠢ,    न ࠧ: 㦥 ᥩ 㯭 - Firebug 1.4a1,  ன   㦠 ꥪ ࠭ ⥯ 뢮  ⨪ 稢 ६. 筮,   㤠 ६:     ࠬ 㧪,   ६    ,    ⤥쭮.    蠣 㤥 쬠 ⥫.. 8.2.   㧪 ᠩ  Firebug Net Panel 1.4a1 ⮩ ࠬ ⥯  㢨,    ࠭ ⠥ 㦥  筮, ⠪   (ࢠ   ⠤ 㧪 ᮮ⢥⢥):  ⨪  ᨭ  ᭮ 梥 뢠  ᮡ⨩ DOMContentLoaded  ᠬ load. 祢,  ᫥ ᮡ load  ந室 ⥫ 㧪 ⮢,  室  ⢥⮩ ⠤, , ⢥,  ᥣ ᮢ  䠪᪮ 㧪  ⮡ࠦ ⮢ ࠭.  ᬮਬ 㧪 ࠭  ⥪饩 ᨨ 㬥:. 8.3.   㧪 ᠩ  Firebug Net Panel ࠬ 㧪  webo.in  ᫥ ⠤ ।㧪 (稢 c 祭 䠩 c.css?20081010).  ⮩  ⠤  짮⥫ 뢠 㦥묨 2 ࠦ ( 襭 १ new Image().src,    - < 饥). ᫥ ⮣  ࠭   㧥 짮⥫ (  諮 浪 200     ࠭), ࠡ⠫ ᮡ⨥ ⮢ 㬥  쭥訬 ⢨.  ⮬ ᮡ Firefox ᨫ 3 䠩: d.css?20081010, g.js?20080920  j.js?20080924.g.js ( ᦠ ਯ⮬ Google Analytics) ࠢ   饭  ࢥ ⨪   䠩 __utm.gif . ⮨ ,   맮 譨 ᮢ  HTML-䠩 ⢫﫨  ᯮ짮 DOM-⮤  ⮢,    ᨬ쭮  ᯠࠫ.  Firefox (⠪    ⪫祭) ᨫ 䠩 b.png ୮ (᭮뢠 㦥    䠩 d.css, ᮤঠ饣 ଠ  ⨫  䮭 ⮢).  稨   䠩  ⮡ࠧ   ࠭,    ந諮.᫥ 祭  䠩  ࠭ ࠡ⠫ ᮡ⨥ window.onload,  ஬ 㧨 ᫥ 䠩 ( ⠡ ⨫, ᯮ㥬  㣨 ࠭ ᠩ).  짮⥫  ந諮 ᮫⭮ ஧筮: ࠭ 㦥 뫠  ⮢  ⢨,  ॡ  ⥫쭮 ६ .  砥 ࠧ ࠭ ⠢ 浪 100   ᦠ⮬    200  ᦠ⮬.    蠫  㧨 (᫨      䠩 < 饥>  ⪫祭 ஢)  祬  500 .


Yslow  Firebug  Firefox
 ⢥    Firebug ( Firefox) ⮨ ᬮ  YSlow.     㬥, ,      ᪮ 㧪 ࠭. ᯥ ந⥫쭮 ࠧ  ࠧ.  砥 믮 - ᮢ⮢  뫪    ਠ  ᪮ 몥. ⢥,  ᮢ  ,     ⨬  ᫥  㪢쭮.    ࠢ ᫮  ᮪ 業 (ᨬ 100) ᮮ⢥  ⨬஢ ᠩ (. 8.4).



. 8.4.   㧪 ᠩ  YSlow


Web Inspector  Safari
筮 㦥 ᬮ७ Firebug Net Panel, Web Inspector ।⠢ ࠬ 㧪, ᭮뢠  䠪᪨ .     ⪮:  ⭮, ६ ⮡ࠦ (믮)   ⤥  ६  㧪,     ஥ ࠦ (. 8.5).



. 8.5.   㧪 ᠩ  Web Inspector


HttpWatch
HttpWatch ( http://www.httpwatch.com/ )   ⠭   IE, ⠪   Firefox.    ஬ ᠬ HTTP-  ।⠢ 筮 ஡ ࠬ 㧪 ᠩ,   訬 ᯮ쥬   ந⥫쭮 (. 8.6).. 8.6.   㧪 ᠩ  Http Watch  த  ⭮.


Fiddler
Fiddler ( http://www.fiddlertool.com/fiddler/ ) ⠭    IE   ஢  㦠 䠩 (, ࠧ, ६ 㧪  ࠧ 祪  ) (. 8.7).. 8.7.   㧪 ᠩ  Fiddler


Live HTTP Headers
Live HTTP Headers ( http://livehttpheaders.mozdev.org/ )  ᬠਢ HTTP-  Firefox  ० ॠ쭮 ६.  㯠 筮 㤮   Firefox, ᫨ 㦭 ⫠ 饭 㧥  ࢥ஬   ஢  ᦠ (஢ ᮮ⢥騥   <> ᮥ) (. 8.8).



. 8.8.    ⢥  Live HTTP Headers  webo.in


ப-  Sloppy
᫥ ᬮ७  ⮤ ᪮७ 㧪 ⮨ ,     孨 ⨬樨 ࠢ   ।  짮⥫    -    襩   먣   ய⫨ 権  ஥⮬.    ஢    ⠯ ࠧࠡ⪨ -   設⢥ 砥 ⮢ ࢥ ᯮ  ࠡ祬 ,   ୥-  ᨮ -ࠧࠡ稪 ⮦  ᠬ 宩. 室 : 㫨஢ ⠪ ᮥ,  १ ᯥ樠 ணࠬ,  筮 <ମ> (  ୥,  ⮫쪮   ⮢ ᠩ) ᮥ,  祭 짮⥫, ᪠,  ADSL-128 Kbps. ⮣     祭  ணࠬ Sloppy - ப-ࢥ.  㫨   㪠 ᠩ १    ᮩ ய᪠:   9,6 /  뤥  512 /.  ⮬ 砥, ᫨ ᪮ 祭  ୥ 1   ,  ஥ 㤥 㦠 筮 , ⮬ ஢  ᯥ樠쭮   ᫠ (⮫쪮  饬 浪).  ﭨ থ  ⠭ ⢠ ⥫ ᮥ  ⠭  ஢    . 㯭 ஥   :  ᠩ,  㤥 ஢, 롮 ᪮ (  9.6, 14.4, 28.8, 56, 128, 256  512 ),  ⠪ ,  ஬  㤥  ࠭.  <ப-த>   ᯮ짮  ஢  쭮 ஥, ⠪   譥 ஥  . 筮,  ⮬ 砥 㦥   ୥, ⮣     쭮 ࢥ ⮣ ᮢᥬ  ॡ (᫥ 㧪 ᠬ ਫ).Sloppy ᥭ   ⥬,  ࠭  JNLP-䠩,   ᯮ Java Web Start  ᪠;  ⮬ ᠬ  㦠  ᠩ ஥, 祬,  㧨 室  ⤥쭮.. 8.9. ன Sloopy  ஢ 㧪 ᠩ   


Analyze.WebSiteOptimization.com
, ᠬ     -ࢨ  ஢ન ᪮ ⨬樨 ࠭ ᠩ. 뤠  ᮢ⮢ ( ४ Yahoo). ᪮  ᭮  ᮡ⢥ ⬥,   ᯮ data:URI  mhtml-ࠦ.   ᥣ ୮ ࠪ ਯ  ࠭.



. 8.10.   㧪 ᠩ  analyze.websiteoptimization.com


Octagate.com/service/SiteTimer/
   㬥  ந ࠬ 㧪 ᠩ.  ᠬ  ⭥ ,  ⥫쭮  RSS-⮪ ( ᮮ⢥饬 ).  , ࢨ  ᯮ data:URI  mhtml-ࠦ; ⠪ ஥ ᠬ ࠬ 㧪 ⠢  襣.



. 8.11.   㧪 ᠩ  octagate.com/service/sitetimer/


Tools.Pingdom.com
ࢨ 樮 ᥡ  㬥  ஥ ࠬ 㧪,      ᯮ ᦠ 䠩  뤥 䮭 ⨭ (. 8.12).. 8.12.   㧪 ᠩ  tools.pingdom.com


AlertSite.com
ࢨ 樮 ᥡ  㬥  ஥ ࠬ 㧪, ,     ᯮ ᦠ 䠩, data:URI  mhtml-䠩.   ஡  ᯮ ⠡ ⨫. ,   䠩 뢮 筮 讥 ᫮ ࠬ஢, ࠪਧ  㧪 (. 8.13).. 8.13.   㧪 ᠩ  www.alertsite.com/cgi-bin/tsite3.pl 


Site-Perf.com
⭮⥫쭮  訩 ࢨ,  ।   ᪮ 㧪 ᠩ.   業  㧪   㧪, ⠪  騩 <> ࠭.  ஢  㧪  ᯮ짮 ᪮쪨 ࠫ ᮥ.       ᪮쪨 ⮢ 祪. ᠬ  ⭥  ᯮ ᪨ 䠩 ⨫  ਯ⮢,  ⠪ ᫮ ਥ.. 8.14.   㧪 ᠩ  site-perf.com


GetRPO.com
   ࠧࠡ뢠 㦥  ⮬⨧஢ 襭  㬥襭 ६ 㧪 ࠭.   ⠪ ࢨᮢ  Runtime Page Optimizator,   ( ⮬᪮ ०  IIS) 㬥 ६ 㧪 ࠭.     ஢ ॡ㥬 ᠩ    ⠫ ,     ᤥ  ᪮७  㧪. ᪮   ᯮ ஥ 㧥 (MSIE),  १ ஢ન  ⮢ (. 8.15).. 8.15.   㧪 ᠩ  get-rpo.com


Webo.in
Web Optimizator - ⢥    ᪮ , 饭 ᪮ ⨬樨.   ᠩ 뤠   ࠪ⨪, ⠪   ᮢ   ᪮७  㧪 (. 8.16).. 8.16.   㧪 ᠩ  webo.in ⠪ ᬮ  ࠬ 㧪 ᠩ  ࠧ 㧥, 뢠 ਭ   ஢ (. 8.17).. 8.17.   㧪 ᠩ  webo.in (ࠬ 㧪)ࢨ ।⠢  ᫥  ஢ப  ⤥쭮 ᠩ,  ⠪ ந <㠫 ⨬>,  ஢  । ⢨  쭮 ०   ,  㦭    ।    ⮣ 㤥 ⤠.⥫쭮   ந⥫쭮  ⮬᪨ 㬥  ꥤ  ⮢ 䠩  ⨬஢  ࠧ 䨪   <⭮ ⨬樨>.  ࢨ ࠡ⠥   㦥 ஢७묨 ᠩ⠬, ᫥⥫쭮 㦠  ⨬  䠩, ⠪   娢. ⪠ Web Optimizator ⮨ ⭥ ⢨ ᯮ ᪮ 㧪  䠩 (ਬ, १ DOM-⮤).


䨫஢ JavaScript
JSLint ( http://www.jslint.com/ )  ஠஢   㡥  ⮬,   ४⭮ ଠ஢. 祭   訡  ୮ ଠ஢  㡭 ᪠뢠  쭥襬  㬥襭,     ᮡ⢥ ᨭ⠪᪨ ⮬,   ᯮ 㧥  ஢ન ४⭮ JavaScript. ⮬,  ஢ਢ   ᮮ⢥⢨ ⠭⠬,   蠭   ᫥ 㬥襭  ᪠樨 ࠡ騬.JsUnit ( http://www.jsunit.net/ ) ।⠢  ३  ஢  ⫠  JavaScript-ਫ.   AjaxView ( http://research.microsoft.com/projects/ajaxview/ )  ப஢  ஢ AJAX-.  ᨮ쭮 䨫஢ -ਫ ⮨ ᯮ짮 JsLex ( http://rockstarapps.com/pmwiki/pmwiki.php?n=JsLex.JsLex ),  ६ 믮 ࠧ 権  ࠭     YUI Profiler ( http://developer.yahoo.com/yui/profiler/ ).   ⮨ 뢠,  襩 ஢મ -ਫ  筮 ᥣ   ⠥ 짮⥫.


8.2. ᪮쪮 ᮢ⮢  㧥஢


᪮塞 㧪 ࠭  Firefox 3
 Firefox  㢥 ᪮ 㧪  ⮡ࠦ ࠭, ⥫쭮 ᨢ ⭮ ࠡ  ୥.   ⮣ 㦭 ᤥ: ࠭ ஥, ࠢ  ᭮ ப about:config.।஢ ᫥騥 樨:network.http.pipelining - truenetwork.http.proxy.pipelining - truenetwork.http.pipelining.maxrequests - 8nglayout.initialpaint.delay - 0( ᫥ 砥 室 饫 ࠢ   ᮧ  楫 祭  ⠪ )., ⥯  ᫠ 襩 ᪮ 㧪  ⮡ࠦ (ᮡ ⭮  ப ).


  ࠡ⠥?
 ⮪ HTTP ᨨ 1.1, ७  1999   ᯮ㥬  ᥩ   ᥬ୮ ⨭,    ࠬ  TCP-ᮥ  ᪮쪮 ᮢ -ࢥ.뢠,  ࠭ ᮢ६ ᠩ⮢ 筮 ᮤঠ 讥 ⢮ ࠦ  㣨 ꥪ⮢, ६ ⠭ TCP-ᮥ (  ꥪ) 稭  ⥫ ஫. ⮬   ᯮ짮  ࠭஢ ᪮७ 㧪 ࠭,  㦥 9 .network.http.version - 1.1, network.http.keep-alive - true 樨 ⠭  㬮砭  ࠧ Firefox ᯮ짮 HTTP ᨨ 1.1,    ᪮쪮 ᮢ  ᮥ.network.http.pipelining - true, network.http.proxy.pipelining - true 樨 ।뢠 Firefox  ᪮쪮 ᮢ  ᮥ,   ⢥ ࢥ. ᪨,  稭 ᯮ짮 HTTP-   魮.  㦭 ,    -ࢥ  ⥪騩  ন  孮      ஡  㧪 ᮢ.network.http.pipelining.maxrequests - 8   ᨬ쭮 ⢮ ᮢ, ஥   ᤥ  ᮥ:  1  8. 뢠 祭  8 ᫥, ⠪   䨧᪨  ন Firefox  䥪   㤥.nglayout.initialpaint.delay - 0  㬥蠥   প । ⮡ࠦ ଠ樨, 祭  -ࢥ,   㢨 襭 ࠭  ॥.


᪮塞 㧪 ࠭  Opera 9
 Opera ⠪   ஥,  짮⥫   .  ⮣ 㦭   ࠭ opera:config,  ன  室 ࠬ      ᪠. ⠪, ४ ⠢ ᫥騥 祭:Max Connections Server = 16⠭ ᫮ ࠫ ᮥ   ⮬. ஡  ﭨ ᫠ ᯮ㥬 ᮥ  ᪮ 㧪 ᪠뢠  ⮩ .Max Connections Total = 32  64⠭ ᨬ쭮 ᫮  ᮥ ( ࠧ묨 ⠬   ࠭).Check local Hostname ⪫   Opera ⠥  ।,  ⮬ ᫥ ᭮뢠  ࠭⢥   쭮 . ᫨  㧥  ᯮ   ᮢ,   ⮨ ⪫,   ᪮ ᯮ IP- ᠩ.Always load favicon = 0favicon.ico ( 뫮 ᠭ  ன ) 뢠 ⢥ ﭨ  ᪮ 㧪. ᫨ ᯮ  祭  ୥,  㧪  ᠩ  ⪫.   ॥ 㦠 ⢨⥫쭮 㦭 䠩 (ਬ, ⠡ ⨫).Documents Expiry = 3600 㬮砭 Opera  HTML-䠩  5  (300 ᥪ㭤).  㢥祭 ⮣ ६  1  㧥  㤥 譨 ࠧ 訢 ࢥ,   쬥 㬥  .Images Expiry = 86400  ࠭  ஢ ⨭, ஥,  㬮砭,  5 ᮢ.  ⠢ ப ஢  ࠦ  1 ⪨.Other Expiry = 86400    㣨 ᪨ 䠩.   ⠪  ⠢ ஢  ⪨.Delayed Script Execution ⫮ 믮 ਯ⮢  Opera  ⮡ࠦ ࠭ ࠧ  祭 HTML-䠩 (  CSS-䠩, ᫨   筮 ).  㧪 JavaScript Opera   ࠭  㧥.  㭪樮쭮 ᯮᮡ ⢥ ᪮ 㧪 ࠭,   ⥫   㧪 ਯ⮢   ⨥ ᠩ⮢:  ᥣ ⭮, ᫨ ࠭  ࠧ  ᥪ㭤.᫥   ஥ 㦭  ࠭  १ Opera.  ஡ 㬥 প  ᮢ ࠭.  ⮣ 㦭  (筠 ):Tools -> Preferences -> Advanced -> Browsing -> Loading -> Redraw instantly  ᪮筮:㬥 -> ன -> ⥫쭮 -> ॢ⥫ ->ᮢ뢠 ࠭ -> 뢭 


Interner Explorer
IE   - 䨣樮 ࠭楩  ⠪  ,   ᠭ  㧥.       ᪮ 㧪 ࠭.  ⮣ 㦭   ॥ 祭, ᮮ⢥騥  ᨬ ᮥ   .    ॥ (ਬ, १  -> 믮 -> regedit)  ன  ᫥ :HKEY_CURRENT_USER -> Software -> Microsoft -> Windows -> Current version ->Internet settings 㦭 ᮧ 2  ࠬ (DWORD)  ﬨ MaxConnectionsPer1_0Server  MaxConnectionsPerServer.    祭 (ࠢ  -> )  10.  ⮨ , ,  㬮砭, 祭 뢮  ⭠筮 ⥬ ᫥,  ᮮ⢥ 16  筮.  ࠧ,  ⠢ ᫮ ᨬ ᮥ    ࠢ 16.᫥ ⮣ ⠥ ⮫쪮 १ IE  ᫠  ୥⮬.



8.3. ⨬஢ 䨣樨


䨣 Apache 1.3
<IfModule mod_gzip.c># 砥 gzipmod_gzip_on          Yes# ᫨ 冷  訢 䠩  ᦠ   ७ .gz,  # 㤥 ⤠  ,  CPU 室  mod_gzip_can_negotiate    Yes# ᯮ㥬  ᪮ 娢஢ ७ .gzmod_gzip_static_suffix    .gz# ⠢塞  Content-Encoding: gzipAddEncoding       gzip .gz# ⠢塞  ࠧ  ᦨ 䠩mod_gzip_minimum_file_size  1000#  ᨬ ࠧ 䠩mod_gzip_maximum_file_size  500000# ⠢塞 ᨬ ࠧ 䠩, ᦨ אַ  mod_gzip_maximum_inmem_size  60000# ⠭  ⮪,  ன  ⤠ gzip-䠩 #   mod_gzip_min_http       1000# ᪫砥  ஡ 砨mod_gzip_item_exclude    reqheader "User-agent: Mozilla/4.0[678]"mod_gzip_item_exclude    reqheader "User-agent: Konqueror"# ⠭ ᦠ⨥  㬮砭  䠩 .htmlmod_gzip_item_include     file    \.html$# 砥 .css / .js 䠩, ஡   mod_gzip_item_include     file    \.js$mod_gzip_item_include     file    \.css$# ⥫쭮 ᦨ 㣨 ⥪⮢ 䠩mod_gzip_item_include     mime    ^text/html$mod_gzip_item_include     mime    ^text/plain$mod_gzip_item_include     mime    ^httpd/unix-directory$# ⪫砥 ᦠ⨥  ⨭ (   䥪)mod_gzip_item_exclude     mime    ^image/# ⪫砥 'Transfer-encoding: chunked'  gzip-䠩, ⮡# ࠭ 室    ᪮mod_gzip_dechunk       Yes# 塞  Vary  ४⭮ ᯮ 㧥஢, # 室  묨 ப-ࢥࠬmod_gzip_send_vary      On</IfModule><IfModule mod_headers.c># 頥 ப-ࢥࠬ ஢  ᥡ ᦠ ᨨ 䠩<FilesMatch .*\.(js|css|html|txt)$>Header set Cache-Control: private</FilesMatch></IfModule><IfModule mod_expires.c># 砥 ஢   䠩 ப  10 ExpiresActive OnExpiresDefault "access plus 10 years"# ⪫砥   HTML-䠩<FilesMatch .*\.(shtml|html|phtml|php)$>ExpiresActive Off</FilesMatch></IfModule>


䨣 Apache 2
# ⠢塞  Content-Encoding: gzipAddEncoding       gzip .gz#  ᠬ 砫 砥 gzip  ⥪⮢ 䠩AddOutputFilterByType DEFLATE text/htmlAddOutputFilterByType DEFLATE text/xml#   favicon.icoAddOutputFilterByType DEFLATE image/x-icon# ⠪  CSS-  JavaScript-䠩AddOutputFilterByType DEFLATE text/cssAddOutputFilterByType DEFLATE text/javascriptAddOutputFilterByType DEFLATE application/x-javascript#  ⠭ ᨬ ⥯ ᦠ (9)#  ᨬ ࠧ  (15). ᫨ ࢥ  ⠪ ,#  ஢ ᦠ  ⠢  1, ࠧ 䠩  ⮬# 㢥稢 ਬ୮  20%.DeflateCompressionLevel 9DeflateWindowSize 15# ⪫砥 ᦠ⨥   㧥஢,   ஡ #  ᯮ:BrowserMatch ^Mozilla/4 gzip-only-text/htmlBrowserMatch ^Mozilla/4\.0[678] no-gzipBrowserMatch Konqueror no-gzipBrowserMatch \bMSIE !no-gzip !gzip-only-text/html# 㪠뢠 ப-ࢥࠬ ।  User-Agent # ४⭮ ᯮ ᦠHeader append Vary User-Agent# 頥 ஢  ஢ ப-ࢥ   䠩,#     ⠢ ᦠ⨥, <FilesMatch .*\.(css|js|php|phtml|shtml|html|xml)$>Header append Cache-Control: private</FilesMatch># 砥 ஢   䠩 ப  10 ExpiresActive OnExpiresDefault "access plus 10 years"# ⪫砥   HTML-䠩<FilesMatch .*\.(shtml|html|phtml|php)$>ExpiresActive Off</FilesMatch>


䨣 nginx 0.7+
ਬ 䨣樮 䠩   㠫쭮 ࢥ:server {#蠥  80  listen 80;#塞 १ ஡  ⮣ ࢥ  server_name core.freewheel.ru:#   ࢥ  root /my/path/to/core.freewheel.ru; #    access_log /my/path/to/core-access.log combined;  error_log /my/path/to/core-access.log info;#砥 蠡 ஥ ࢥ,   ᠬ ᭮  include _servers_template;#ࠧ蠥 ᥡ ᬮ  ࢥ  location = /nginx_status {stub_status on;access_log  off;allow 127.0.0.1;deny all;  }#砥 ᦠ⨥   㧥஢,     gzip on;#।塞   ⮪ HTTP,  ன ⤠ 娢  gzip_http_version 1.0;#⠭ ᨬ ஢ ᦠ  gzip_comp_level 9;#ࠧ蠥 ப஢ ᦠ 䠩  gzip_proxied any;# ।塞 ⨯ 䠩 (,   ᦨ)  gzip_types   text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript image/x-icon;} ⥯ ᮡ⢥ ᭮ 䠩 ஥ (_servers_template), ᯮ騩   㠫 ࢥ஢   :index index.php index.html;location / {# ⨫, ਯ  XML-䠩  location ~* ^.+\.(css|js|xml)$ {#   ⮣   ࠭ 娢஢ .gz ᨨ# css  js 䠩. Nginx  㤥  ६  ᦨ   ࠧ# ,   ⤠ 㦥 ⮢ 娢, ᫨ 㧥  #  ਭgzip_static on;expires   1y;  }# 騥 䠩 html   ࠢ塞    if (!-e $request_filename ) {rewrite ^/(.*)$ /index.php ;  }# ப㥬    PHP-䠩  FCGI   location ~* \.php$ {fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;include    _fastcgi_params;  }# ⨭  location ~* ^.+\.(bmp|gif|jpg|jpeg|ico|png|swf|tiff)$ {expires   1y;  }# 䠩  location ~* ^.+\.(bz2|dmg|gz|gzip|rar|tar|zip)$ {expires 1y;  }# 㣨 ᪨ 䠩  location ~* ^.+\.(pdf|txt)$ {expires 1y;  }}筮 nginx ᮡࠥ   ᪮ ᦠ, ⮬   ᡮથ  㪠  --with-http_gzip_static_module -  ⮣ gzip_static  ࠡ⠥,  ࢥ ਤ ᦨ 䠩  ࠧ .     ,  㪠 䨣 ਢ  ᨨ 0.7+.


ன IIS
 IIS  ᦠ⨥ 筮 : 室  ᯥ 㦡 IIS   ᢮⢠  <-㧫>  ३   <㦡>. ⠪ 祭 ᦠ:;প ᦠ IIS ᪨ 䠩;প ஢ ᦠ 䠩; ॡ ᠭ . 祭 প ᦠ  ࢥ IIS:   蠥 ࢥ,    㤥 , ,    ᦨ;쭮 祭: ᦠ⨥ 砥  ᥩ 㦡 ࠧ  㤥    㧫  㠫 ⠫ 襣 ࢥ ( ࠩ , १ gui ⪫ ᦠ⨥  ⭮ 㧫 ); ࠧ ஡  ஢ 䫨⮢  ࢥ ਯ⮢  ஡ ᮢ⨬  묨 㧥ࠬ.  䨪஢ 砩,    짮⥫   ,    ⠫ ⮡ࠦ   ࠭  ࠧ ᫥ 祭 ᦠ १ IIS; ᫥ 몫祭  㫮  .



8.4.  ⮢
 ⮬ ࠧ   頥 ஥ 㭥  ᬮ७  窨 ७ ᪮ ⨬樨. ᭮ 楫  ஢      ࠡ ਬ,   ࠧ  ᪮ 㧪 ᠩ.     筮 㦥   ,      祭.


vkontakte.ru
 ⠪ ( http://vkontakte.ru/ )     (  ᬮ஢ ࠭)  頥 ᠩ⮬. ࠬ 㧪 ७ ࠭ 䨫 룫廊 ਬ୮ ᫥騬 ࠧ:. 8.18.   㧪 ७ ࠭ ᠩ vkontakte.ru ᠬ 砫  ।४   ࠭   ࠭ ⭨ - ᫨ 室 ࠧ १ ࠭ 䨫, , ⢥,  㤥.   蠥 㤮⢮  짮⥫, ஬ 㦭  ᥣ  .   ।४ 祭  ਯ 稪,   㦠 ࠫ쭮 ᭮ 㬥  ⭮   砥  ६ 㧪  ᫠. : gzip.   ⥪⮢ 䠩 (HTML, CSS, JavaScript)  祭.     ࠤ.   樨    ந.  窨 ७ ந⥫쭮  ᮢᥬ   譮:  ᠬ 襩 樨 먣  5%  㦥 饣 ᦠ ࠩ ᫮.  짮⥫   ࠧ  10-50  㧪.ꥤ 䠩. ᫥ ਬ ᦠ CSS-  JavaScript-䠩 ⠫  2-5 , ⮬ 㦠   ⤥쭮 ᮡ ᫠  . ꥤ  ᯮ㥬 ⨫ ࠢ  ᭮ 䠩 (  ࠧ஬  15-20 )   ᮪ ६ 㧪  100  (  砥). ⮨ ⠪ ⬥,   짮⥫ IE 㦠 ⥫ 䠩 ⨫ (ࠩ 쪨  ࠧ), , ⢥,  뫮    ᭮.-㧪  JavaScript-⮢.  ࠭ 㦥 ᯮ  ⮤-  ⭮, ४  㦠  ࠧ १ ᪮ ᮧ ࠦ  ࠭ ।  蠡 ࠭.  뭥ᥭ ᥩ ᪮   㧪  ஢ ᮡ window.onload   ᮢ ࠭  ࠭  300  ॥ (  砥  40%  ⠤ ।㧪). , ,  ॡ  筮 ⢥ ࠡ⪨ ⥪饣 㭪樮஢ ⤥ ⥩ ⠫.஢.     ⨬  ⥫쭮: ⠢  max-age  ᪨ 䠩, ⠪  Last-Modified. ।,  設⢮ 짮⥫ 室  vkontakte.ru ﭭ, ⮬   䠩  㧥஬ ࠧ  .  ⮬ 稥 ⨫  ਯ⮢  HTML-䠩 ᢥ  :   㬥 ꥬ ᫥  稨    室 䠩.  ⮨ ⬥,   ⢥ 譥 ࢥ ᯮ nginx.. 8.19.  ⢥  ᪮ 䠩  vkontakte.ru ࠭  ஥ ⢮ (5-10)  䮭 ⨭,     ᯥ譮 ꥤ  CSS Sprites     ᮮ⢥騩 CSS-䠩.   ⢨  ᨫ쭮 ᯠ᫮   - ᭮ 㧪 室  짮⥫᪨ ⨭.     ᯮ  ࠧ  ( ࠬ 㧪  ᪮쪮 ⪮ ⮢).    㬥襭 ६  ⢥,    窨 ७ DNS Lookup.  ⢥ ⥫쭮    ,  । ࠧ ⨭ - 2 .᪮      ⥫᪨ ᠩ⮬,   ᮪㦥 ⠫,  ਢ쭮 襭   ஡   (筥,  㦥 ॠ - ஧筮 । ⨭  ࠬ,  ᨫ 祣   ⨭ ਪ९  ⢥ ).    ࠭  ⨭ (⭮騥   짮⥫   )  砩 ࠧ. ⢥  襭  ஡ ⮨ ᬠਢ ᮧ Image Map ( CSS Sprites)    ᯮ㥬묨 ࠦﬨ   ࠭.  ࠭ 짮⥫ -  ᯨ᮪ ᠢ  ⥭:   ⭮⥫쭮 ।,  ꥤ  짮⥫  㯯  5-7 (ࠧ ⮣ 䠩 10-15 )  ᪮쪮 ᮪ ६ 㧪 ࠭.  饬 砥 (ᬠਢ ࠫ 㧪)  㤥 DNS Lookup + ६ ᮥ.  vkontakte.ru 㦥  ⠪ ᯮ ᢮ த CDN (६ ᮥ ᢥ  ), 먣  ࠢ ⠢ 浪 200-300    ப᭮ 㯠. ⢥ ୠ⨢ 襭  ᬮ ਧ  짮⥫   - . . ᮧ 쭮 , ᮤঠ饣  室 ࠦ  ⤥쭮 짮⥫, ਬ,    㧥.   ᬮ ࠭ ⮣ 짮⥫ 㤥 ᯮ짮  ⠪ 讥 ⢮ ⮢,  ⢥ 㬥 ६  DNS Lookup.


odnoklassniki.ru
. 8.20.   㧪 ७ ࠭ ᠩ odnoklassniki.ru ᬮਬ אַ ७ vkontakte.ru - odnoklassniki.ru.  ⮣ ᠩ , 祢,  㦥. -, ⥫쭠  ⨢ ⨭  ᥭ  ᫮ 䮭 ࠦ,  ⠢ IE  ᨩ 訢   筮 浪. -, ४   뭥ᥭ  -㧪  ᨫ쭮   饬  ⮡ࠦ ࠭ ( ࠭  ஬ <ᠥ>   ⢥ ४ ࢥ).  稪 ⨪ ⮫쪮 㡫 .  ⨬  ? ⢥,   䠩 ਯ⮢   㦭 ꥤ  ,   뭥  -㧪.  ⨭ 筮 ꥤ  2-3 䠩,   㦠  㣨 짮⥫ (   ⠢  ⥫ ) ॥.. 8.21.  ⢥  ᪮ 䠩  odnoklassniki.ru ⠫쭮    㦥 ਭ: ⥪⮢ 䠩 ⤠ ᦠ묨,  ⨪ ⠭ ப ஢   饥. ,    .8.21,  ஢ ந襫 让 ॡ: 稥  ETag,  Last-Modified   .  ४⭮ ஢ન 䠩  ⢮  ᨨ 筮 ⮫쪮   .⢥,   odnoklassniki.ru ஡ । ࠧ ࠦ  ᪮쪨 ⠬ ⠪  㠫쭠,    vkontakte.ru.      蠥 筮 ⠪ . ᪮ ᪨   訬 ⢮ ࠦ  ࠭ ࠪ᪨ ,   ४⭮ 襭 㪠 ஡    ⢮.


yandex.ru
 ᫥  ᠬ묨 묨 樠묨 ﬨ ᬮਬ  頥 ᪮  ⮢ ⠫ 㭥. 筥  .. 8.22.   㧪  ࠭ www.yandex.ru  ,  ࠭ 㦥 ᨫ쭮 ⨬஢.  ᥬ ꥬ ଠ樨  ७  ᯮ ᥣ 19 ᮢ  ࢥ; 騩 ꥬ ।  - 49 .  ⢥ ࠪ୮ 蠣 ⨬樨  頥  ࠭ ⠪ ⠫   ,  CSS-䠩 ᥭ  HTML   JavaScript- ᯮ ⠬  ( 뢠, 筮, - ﭭ , த  ਧ樨  ᥧ ४).⢥,   ⥪⮢ 䠩 ਬ ᦠ⨥, 祬  ᠬ HTML- ஢   ᨬ: ࠭ ॢ ப  譨 ஡.  ⢥ ᯮ୮   ⬥ ⢨ ஢   ࠭.   砫  5 , ⮡ 㬥 ᫮  ᮢ.    (୮,  裡   ⮢ ਧ樨) 类 ஢ ⪫祭.  ४⭠ ன Last-Modified ( ᨬ  ६ 㦥, 易   짮⥫)   㬥 ᫮ ।  (ࢥ   ⢥ - 304   ।  ).. 8.23.  ⢥  HTML-䠩  yandex.ru ᥬ ⠫쭮 ᮡ   ४樨:   ᯮ㥬 ⨭ ꥤ  CSS Sprites,  㧪 ᪨ 䠩  ᪮쪮 ⮢ ( ⮬ ᫥ ,    । cookie). ,    ࠬ 㧪,  ࠭   ஥ ⢮  ࠦ,  ⠪  ꥤ       ᠬ 㬥 (  㧥஢, ஬ IE)   data:URI.


rambler.ru
. 8.24.   㧪  ࠭ www.rambler.ru 砥  ஬  ᪮쪮 㣠:   ࠭ ⠫ ।⠢ 筮 讥 ⢮ ଠ樨,  裡  祬 ᫮ 譨 ꥪ⮢ ⥫쭮  - 㦥 46.⢥,  ⥪⮢ 䠩 㦥 祭 ᦠ⨥.  樨  HTML-䠩  ࣭ - , ࠧࠡ稪    䨪 ᢮ 짮⥫  ⠪ ⥫쭮.CSS Sprites 쭮 ⨢ ᯮ  ࠭,     諮  祢 ஬客. ਬ,   ﭨ   뫮   ꥤ   䠩,    뫮 ᤥ. ᯮ짮 PNG-ଠ  GIF  䮭 ࠦ ⠪ ᯮᮡ 㬥 ࠧ 筮 䠩. ਬ  ਯ patch_script.js ࠧ஬  185 ⮢ ( ࠢ  HTML  20 ) ࠩ ᬮ⥫쭮. 㧪 設⢠ ࠦ (    ࠬ 㧪) ᯮ ᥣ 2  (rambler.ru  i.rl0.ru). 祭  ᫠  4   ⢥ ᪮  㧪 ᫥ ⨭. ᪮ ⨭   60%  饣 ६,    ⮢     ᪮ 㧪 ࠭  . ⥫쭮: 設⢮ JPEG-ࠦ ᣥ஢  ⨬ ࠧ,   ࠧ  㬥  20-30%.  ᪠:   ࠭    㤠 ६   ᯥ祭 㤮⢠  ᢮ 짮⥫.


mail.ru
Mail.ru , ,  㯭 ⮢ ⠫  㭥.  ⠫ ࢨ         ঠ⥫ ⮢ ᮢ.. 8.25.   㧪  ࠭ www.mail.ru HTML-㬥 ⤠ १ gzip,   CSS-  JavaScript-䠩 ᦠ⨥  ਬ (, ⢥,  ࠦ  ६ 㧪).  ࠭ 訢 4 JavaScript-䠩  3 CSS.  ⮬ JavaScript 砥  ᭮  head ࠭.   ࠩ ⨢   ᪮ ⮡ࠦ ࠭. ,    . 8.26, ஢  䠩 ⨫  ਯ⮢ 祭   Expires  Last-Modified.     ࠤ.. 8.26.  ⢥  ᪮ 䠩  mail.ru ⨭ 㦥 ꥤ  ࠩ (     ꥤ),  ⥫쭮 㬥襭 ࠧ    ᯮ짮 PNG.  設⢮ JPEG-⨭  ⢥ 㬥  ࠧ.  ᬮ ஢  ꥤ ᪮쪨 ⨭ (  <>  <>)  Image Map, ⮡ 㬥 ᫮ ᮢ  ࢥ. ᪨ 䠩 ᯮ ᥣ 2  (r1.mail.ru  img.mail.ru).    (  㦥 ᠭ묨 ⮤ 㬥襭 ࠧ 䨪) ᯮᮡ ᪮ 㧪 ਬ୮   ࠧ.  楫   ࠧࠡ稪 mail.ru   让   ⢮⢠   ᪮ ⨬樨.


rbc.ru
  ᬮ७ 㯭 ࠧ⥫ ⠫ ६⨬  ⭮ .   ⮩ ।  ᬮ ᠩ  <ၨኮᠫ⨭>.. 8.27.   㧪  ࠭ www.rbc.ruࠧ ᠥ  ,   ࠭ ᯮ 3 CSS-䠩  3 JavaScript-䠩,   ꥤ     ਫ筮 ६,  ⮬ 짮⥫  ࠭.   ⥪⮢ 䠩  祭  ᦠ⨥,  ⢥ 㢥稢 ६  । (115  HTML-    㯠).८ࠧ .gif  .png  ࠭ ਥ  JPEG-䠩 ᯮᮡ ᮪ ꥬ ।   ਬ୮  20%  514 ,  㦠  ⨨  ࠭ (䠪᪨ ꥬ ᠬ HTML-䠩). CSS Sprites   砥  ᮪ 饥 ᫮ ᮢ     (  ⮬ ᠩ    㦥 <᪫>   䠩).⢥,   3 ⮢ ( pics.rbc.ru)  뤠 ⨭ ⮫쪮  ᪮ 㧪 (  40-50%).  ஢, ࠢ,   ⫨筮:  ⠭  3 ,    Last-Modified, 騩 ⢥ 304  ⮬ 砥, ᫨ 䠩     ᫥ 饭. 楫,  ᪫祭  ᬮ஢, ᠩ  ਬ ࠬ⭮ 室  ᪮ ⨬樨.


lenta.ru
騬   㤥 㣮 㯭 ଠ樮 ⢮ - Lenta.ru.. 8.28.   㧪  ࠭ lenta.ru ⭠   짮⥫:  ⥪⮢ 䠩 ⤠ ᦠ묨, ⨭   ஢, ᯮ ⮫쪮  䠩 ⨫   ਯ⮢ - ⮫쪮 譨 稪.   ⭮ (. 8.29).. 8.29.  ⢥  ᪮ 䠩  lenta.ru ⨫ ⤠  㪠  㧥 ࠭    (Cache-Control () Expires),  ETag 㡫 㭪樮쭮 Last-Modified.    .   ⠫ ᪨ 䠩 (ࠦ)  ஥ ᮫⭮ ४⭮ ( ६   뫮 㢥  , ਬ).᪮   ⨭ ᯮ ⮫쪮   (img.lenta.ru),    - ⮢ ᯮᮡ ⢥ ( 50%) ᪮ 㧪  ࠭ ( ᨫ 讣 ⢠ 뢠 ࠦ).  ⥫ ,   뫮  ਬ,     ⨬ , ⮨  CSS Sprites   ४ १ <稢> JavaScript. ࠧࠡ稪  ⮫쪮 墠  筮 ⢥⢥ 室  ᢮ .


kommersant.ru
. 8.30.   㧪  ࠭ kommersant.ru ᠩ ⥫᪮  <ᠭ>   ⠪ ࠤ㦭.    ࠬ 㧪,  稪 㦠  ᠬ  ।,  ⢥   ᮤঠ ࠭  ࠭. ஬ ⮣,   ४  㦠 । ᭮묨 ࠦﬨ.  窥     : 祭 ᦠ⨥  HTML-  CSS-䠩.   JavaScript 祬- 뫨 (. 8.31):. 8.31.  ⢥  JavaScript-䠩  kommersant.ru .    . 8.31, 騥   ଥ,   筮    ETag / Last-Modified (  ࠭    䨪  짮⥫᪮ ६).   ⥪⮢ 䠩  ਬ,   砥  ᦠ   ⮫쪮 筮.ࠦ  ⢥ <ࠧ>  ࠧ. ॢ .gif  .png ᯮᮡ   50  ( 饬 ࠧ  䠩  800 ). CSS Sprites    3 ⮢  ࠦ      ᪮ 㧪 ࠧ ᨫ쭥:    ⨭  ᭮ 殮.   먣  60%  ⥪饣 ६ 㧪. ᫨   ⮬ ⮡ࠦ ஢  ⠤ -㧪,     䥭쭮 ᪮ ⮡ࠦ ᠩ. ⮣:   ᠩ 믮   ,   뫮  ᤥ.  䥪⨢ ࠡ ᠩ   ⥫쭮 襭   쭮  ⢨.


marketgid.ru
 ᫥ ࠧ⥫   ⠫ ३   <ॠ쭮>   ᬮਬ 㧪 ⮢୮ ⠫  ਬ MarketGid.. 8.32.   㧪  ࠭ marketgid.ru      饭:  300 HTTP-ᮢ ।  㧥 짮⥫  700  .  ன  ⮦   祭 : ᦠ⨥ 祭 ⮫쪮  HTML-䠩, ⨫  ਯ ⤠  . ᥣ 1 CSS-䠩  <ଠ> 㧥஢  ६   ᨨ IE ( 짮⥫  ⠪ 㧥஬ ᥩ 60-70%).   뢠 ᥣ 2 譨 JavaScript-䠩.᪮   ᦠ⮬  HTML   70 ,  ⮨       . ਬ, ࠢ 譨 ஡  ॢ ப  稢  ࢥ ᨬ ஢ ᦠ,  㬥  ࠧ  ⢥. ᫨ ᬮ ᯮ짮 ᯥ䨪樨 HTML 4.01  ନ஢ 㬥, , ᪮॥ ᥣ, 䠩  <१>  ᨫ쭥.  GIF-ࠦ  ॢ  .png ଠ  ꥤ  CSS Sprites,   祭  :    ࠭ ᪮쪮 ⥭ ࠦ ࠧ஬ 2-4 ,  ଠ .jpg  㦥 筮  ⨬஢. ᪮ -  ࠭  ࠢ   ᭨ 㧪  ࢥ,  筮 뫮  ꥤ ࠦ  Image Map 15-20 , ᪮ਢ    짮⥫  ᪮쪮 ࠧ. 㧪 ᪮ ଠ樨  ࠭ 㦥 ਬ ᪮쪮 ⮢, ⮬, ᪮॥ ᥣ, 㢥祭  ⢠   祬  ਢ.᫨  冷  ⨭,   ᪮७ 㧪 ᠩ  ।ਭ  蠣,     ᫮  孮᪮    ᬮ ⥫쭮   ᪮ 㧪.


habrahabr.ru
堡,      樠 ⥩  -, 樮 ᥡ,  ⮬ ᫥,  筮 <த> .  ᬮਬ, ᪮쪮   ⠪ .. 8.33.   㧪  ࠭ habrahabr.ruᯮ짮 6 CSS-  15 JavaScript-䠩 (砥  head ࠭) ࠧ   ⫥. 㧪 ᠩ  ᠬ  ࠧ (  ⪫祭 )  ஬ ᮥ   宦  騩 謠:  ࠭  㧥   ⠥ ய. 襩  㤥 ,   ⥪⮢ ᮤন 娢. ⥫쭮,  䠩   㦭 ꥤ., ᬮਬ  㧪 ⨭:   让 뭥 뤥 favicon-㯯.  ,   - 몠稢    ᥡ  ࢥ  ⤠  짮⥫  ॥.   ᨫ ⮣,  砥 祭   ꥪ⮢, ࠧ㬭 뫮  ꥤ   Image Map - ਬ, ,  뢮   ࠭ (஢  10 ).஢  ᠩ 㦥 ஥  :  樠쭮  ⢮  ᮢ  ᬮ ७ ࠭   .   讥 ⢮ ⨢ ࠦ,    㦭 ꥤ  CSS Sprites. ᫥ ꥤ ࠦ ⮨ ⠪       ⥫  -  ᪮  㧪. ⢥ ୠ⨢ ⮤    JavaScript १ <⫮> 㧪  㦠 ४  ⮫쪮 ᫥ ⮡ࠦ ᠩ-࠭.



祭


 ⢥ ᫥᫮
      ( -饬 ) ᪮ ⨬樨  ᢥ 祢   ஡ . 祭  ,  ᫥ ⥭   ⥫ ᫮ 楫⭮ ।⠢  , 室饬  ࠭楩  㧥 짮⥫  ࢥ묨 魮ﬨ.  ⮬,  ந室,   ᭮ ப 㧥     ᠩ,  ⠤ 室 㧪 ࠭, ० 祬  .  ᠬ  -  ⨬ ᮬ  ࠢ. ।⠢  ਠ  १⮬ ࠪ᪮    ⥮᪨ ᭮    -ࠧࠡ稪  ᥬ . 訥  ᪠, 室  﫨 ࠪ᪨ 襭  ⮣, ⮡  ᠩ 㦠    ॥. ᫨ ꥤ      㭤⠫ 室,  १   쬠 騬 ( 㦥 뫮 த஢  ।饩 ).᪠ ⨬   몥 ⠪ ⥩,  ᪮ ணࠬ஢, ࢥ୮ ணࠬ஢, 㤮⢮ ᯮ짮, -   㣨.    ਬ    㪠  ⥫쭮: -, ࠡ뢠 祭 ᫮  ᨢ ,  ,  ६ 㧪 ᮢ ࠭  ᨫ쭮 㢥 -  ࠧ஢ 䨪. -ࠧࠡ稪, ⢥騩  ࢥ ,    祭 ᦠ  HTML-࠭, ᫨   뢮 ᫨誮    १ - 롮ન   . ⠪   ᫨  ᨨ - ᪠ ⨬ 㦭 ᥬ.  襭   ⮫쪮  - ⮡  ᠩ⮢ ⠭   .⠪  ⭮ 裡  ஬ ਢ  ᫥饬 :http://webo.in/contacts/ 樥᪨  ࣥ - ᪭ , ⭨ -  ᨩ᪮ 뫠 WSG. ᨮ  ।祭   ᪮ ⨬樨  ࠪ᪨ ⮤  㬥襭 ६ 㧪 -࠭  ᪮쪮 ࠧ.  ࠡ⠥   ᪮   ᮪ ந⥫쭮  2001 , 㯠  ਥ    ⥬  ய ClientSide-2007,  Ice-2008, -2008, iCamp-2008, RIW-2008,  Autumn-2008, ClientSide-2008.   ᯥ ஥⮢  ⭥ www.creative.su (  ᠩ creative.fizteh.ru,    ࠦ ୥-६ﬨ  2005  2006 )- ⢮᪮ ᮮ⢮ 㤥⮢ ,  webo.in,  ᮤন ⪨ ࠪ᪨ ᮢ⮢, ⥩, ⥪⮢ ,  ⠪  㬥⮢   ᪮ ந⥫쭮.  樥᪮  । ਬ ॢ訥 ⮤    ਬ. ⨢:    ᠬ 㠫,  ⮣- भ 孮, 묨   ᮢ६ ᨮ -ࠧࠡ稪.  ᮬ,  ⢥ ⮩ ⢥   ᫥ ᪮쪮 . , 㪮⥫ ᨩ᪮ 뫠 WSG     -   ᯥ ࠧࠡ⪨ ୥-ࢨᮢ   쭥襥 ࠢ ࠧ  ⪨. ,    .⠫ ᮢ, 㪮⥫ 㯯 HTML-⪨ 




          See more books in http://www.e-reading.club
