 |
|
|  |
JavaScript·ÎµùÀ» ÃÖÀûÈÇÏ¿© ÆäÀÌÁö ·»´õ¸µ ¼Óµµ¸¦ ºü¸£°Ô ÇÏ´Â 6°¡Áö ¹æ¹ý |
|
|
 |
10³â Àü |
1. HTTP Request¸¦ ÁÙÀ̱â À§ÇØ JavaScript ÆÄÀÏÀº ÇÑ°³·Î ÅëÇÕÇÕ´Ï´Ù.
À¥ÆäÀÌÁö ·»´õ¸µÀ» ºü¸£°Ô ÇÏ´Â ¹æ¹ý Áß Çϳª´Â HTTP ¿äû ¼ö¸¦ ÁÙÀÌ´Â °ÍÀÔ´Ï´Ù. 1°³ÀÇ À¥ÆäÀÌÁö¸¦ ·ÎµùÇÑ´Ù°í Çصµ HTML¹®¼ÆÄÀÏ, À̹ÌÁö, ½ºÅ©¸³Æ®µîÀ» ´Ù¿î·ÎµåÇϱâ À§ÇØ À¥¼¹ö¿Í ºê¶ó¿ìÀú(Ŭ¶óÀ̾ðÆ®)°£¿¡ ¸î ¹øÀ̳ª µ¥ÀÌÅ͸¦ ÁÖ°í¹Þ°í ÀÖ½À´Ï´Ù.
HTTP ¿äû ¼ö¸¦ ÁÙÀ̱â À§Çؼ ¿©·¯ °³·Î ³ª´©¾îÁø JavaScript¸¦ ÇÑ°³ÀÇ ÆÄÀÏ·Î Á¤¸®ÇØ¾ß ÇÕ´Ï´Ù.
[³ª»Û ¿¹]
<script src="http://www.example.com/menu.js"></script>
<script src="http://www.example.com/ajax.js"></script>
<script src="http://www.example.com/nav.js"></script>
<script src="http://www.example.com/tools.js"></script>
<script src="http://www.example.com/footer.js"></script>
<script src="http://www.example.com/others.js"></script>
[ÁÁÀº ¿¹]
<script src="http://www.example.com/combined-all.js"><</script>
À§ ¿¹¿¡¼´Â ÆÄÀÏ 1°³·Î ÇÕÃļ 6¹ø¿¡ °ÉÃÄ ¹ß»ýÇÏ´Â HTTP ¿äûÀ» ÇѹøÀ¸·Î ÁÙÀÏ ¼ö ÀÖ½À´Ï´Ù. Á¢¼ÓÀÚ¼ö°¡ ¸¹Àº »çÀÌÆ®¶ó¸é È¿°ú¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù.
2. CSSÂüÁ¶ ű׸¦ JavaScriptÂüÁ¶Å±׺¸´Ù ¸ÕÀú Ãß°¡ÇÕ´Ï´Ù.
HTML head¼½¼Ç¿¡´Â ½ºÅ¸ÀϽÃÆ® ÂüÁ¶¸¦ ¸ÕÀú ÀÛ¼ºÇÏ°í ±× ´ÙÀ½¿¡ JavaScript ÂüÁ¶¸¦ Ãß°¡ÇÕ´Ï´Ù.
[³ª»Û ¿¹]
<head> <script src="http://www.example.com/nav.js"></script>
<script src="http://www.example.com/tools.js"></script>
<script src="http://www.example.com/footer.js"></script>
<link rel="stylesheet" type="text/css" href="stylesheet1.css" />
<link rel="stylesheet" type="text/css" href="stylesheet2.css" />
</head>
[ÁÁÀº ¿¹]
<head> <link rel="stylesheet" type="text/css" href="stylesheet1.css" />
<link rel="stylesheet" type="text/css" href="stylesheet2.css" />
<script src="http://www.example.com/nav.js"></script>
<script src="http://www.example.com/tools.js"></script>
<script src="http://www.example.com/footer.js"></script>
</head>
JavaScript´Â ·ÎµùÀ» Çϱ⠽ÃÀÛÇÏ¸é ±× ·ÎµùÀÌ ¿Ï·áµÉ ¶§±îÁö ´ÙÀ½ ÄÚµå ·ÎµùÀ» ÇÏÁö ¾Ê½À´Ï´Ù. ±×·¡¼ ÀÌ·± °æ¿ì¿¡ ´ë±â ½Ã°£ÀÌ ¹ß»ýÇÏ°Ô µË´Ï´Ù. ¹Ý¸é¿¡ ½ºÅ¸ÀϽÃÆ® Àбâ´Â ¿©·¯ °³¸¦ µ¿½Ã ·ÎµùÇÒ ¼ö ÀÖ°í ¸ðµÎ ÀоîÁöÁö ¾Ê¾Æµµ JavaScript ÆÄÀϵîÀÇ ´Ù¸¥ ÆÄÀÏÀ» ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù.
Ãß°¡ÀûÀ¸·Î´Â ¿©·¯°³ÀÇ ½ºÅ¸ÀϽÃÆ®¸¦ ÂüÁ¶ÇÒ µ¿¾È¿¡ JavaScriptÂüÁ¶¸¦ Áß°£Áß°£¿¡ ³Ö°í »ç¿ëÇÑ´Ù¸é ´õ ¼Óµµ ÀúÇÏ°¡ »ý±æ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù.
3. ÇÁ·ÎÅäÄÝÀ» »ý·«ÇÕ´Ï´Ù.
JavaScript ¿ÜºÎ ÆÄÀÏÀ» ³ªÅ¸³»´Â URL·ÎºÎÅÍ http: ¶Ç´Â https:¶ó´Â ÇÁ·ÎÅäÄÝÀ» »ý·«ÇÕ´Ï´Ù. »ý·«ÇÏ¿© ÆÄÀÏ Å©±â¸¦ Á¶±ÝÀÌ¶óµµ ÁÙÀÏ ¼ö ÀÖ½À´Ï´Ù.
[³ª»Û ¿¹]
<script src="http://www.example.com/scripts/javascript.js"></script>
[ÁÁÀº ¿¹]
<script src="//www.example.com/scripts/javascript.js"></script>
ÇÁ·ÎÅäÄÝÀÌ »ý·«µÇ¾î ÀÖ´Â °æ¿ì, ÇØ´ç ÆäÀÌÁö ·»´õ¸µ¿¡ »ç¿ëµÇ°í ÀÖ´Â ÇÁ·ÎÅäÄÝÀÌ µ¿ÀûÀ¸·Î Àû¿ëµË´Ï´Ù. Áï, https:¸¦ »ç¿ëÇÏ¿© »çÀÌÆ®¸¦ Á¢¼ÓÁßÀ̶ó¸é, ÀÚµ¿ÀûÀ¸·Î https:°¡ »ç¿ëµË´Ï´Ù.
Âü°í·Î JavaScript»Ó¸¸ ¾Æ´Ï¶ó, CSS, À̹ÌÁöµç ÇÁ·ÎÅäÄÝÀ» URL¿¡¼ Á¦¿ÜÇÏ°í »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ü, »ý·«ÇÒ °æ¿ì, ¿ÜºÎ ¸®¼Ò½º¸¦ »ç¿ëÇÒ ¼ö ¾øÀ» ¼ö ÀÖÀ¸¹Ç·Î ¿ÜºÎ ¸®¼Ò½º¸¦ »ç¿ëÇÒ °æ¿ì¿¡´Â ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÕ´Ï´Ù.
4. script¿ä¼ÒÀÇ type¼Ó¼ºÀº »ý·«ÇÕ´Ï´Ù.
HTML5 ÆäÀÌÁöÀÏ °æ¿ì·Î Á¦ÇѵÇÁö¸¸, script¿ä¼Ò¿¡ »ç¿ëÇÏ´ø type¼Ó¼º(type="text/javascript")¸¦ »ý·«ÇÕ´Ï´Ù. HTML5¿¡¼´Â script¿ä¼ÒÀÇ type¼Ó¼º ÃʱⰪÀÌ "text/javascript"·Î µÇ¾î Àֱ⠶§¹®ÀÔ´Ï´Ù. »ý·«Çϸé ÆÄÀÏÅ©±â¸¦ ¾à°£ ÁÙÀÏ ¼ö ÀÖ°Ô µË´Ï´Ù.
[³ª»Û ¿¹]
<script src="//www.example.com/scripts/javascript.js" type="text/javascript"></script>
[ÁÁÀº ¿¹]
<script src="//www.example.com/scripts/javascript.js"></script>
Ãß°¡ÀûÀ¸·Î HTML5¿¡¼´Â style¿ä¼ÒÀÇ type¼Ó¼ºµµ »ý°½ÇÒ ¼ö ÀÖ½À´Ï´Ù.
5. ExpiresÇì´õ·Î ij½¬±â°£À» ±æ°Ô ¼³Á¤ÇÕ´Ï´Ù.
À¥ºê¶ó¿ìÀú´Â 1°³ÀÇ ÆÄÀÏÀÌ¶óµµ ´Ù¿î·ÎµåÇÑ µ¥ÀÌÅÍ´Â ·ÎÄÿ¡ ij½¬ÇÕ´Ï´Ù. ´Ù½Ã °°Àº µ¥ÀÌÅÍ°¡ ÇÊ¿äÇÒ °æ¿ì¿¡ ·ÎÄÿ¡ ij½¬°¡ µÇ¾î ÀÖ´Ù¸é, ¼¹ö¿¡ ¿äûÀ» º¸³»Áö ¾Ê°í ij½¬µ¥ÀÌÅ͸¦ ÀÌ¿ëÇÕ´Ï´Ù. ÀÌ·¸°Ô µÇ¸é, ÀÚ½ÅÀÌ °¡Áö°í ÀÖ´Â µ¥ÀÌÅ͸¦ »ç¿ëÇϱ⠶§¹®¿¡ ÀÀ´äÀÌ »¡¶óÁý´Ï´Ù.
´Ù¸¸ ij½¬´Â ±â°£ÀÌ Áö³ª¸é »èÁ¦µÇ±â ¶§¹®¿¡, Expires¶ó´Â HTTPÇì´õ¸¦ »ç¿ëÇÏ¿© ij½¬±â°£À» ´Ã¸± ¼ö ÀÖ½À´Ï´Ù. À¥¼¹ö°¡ Apache¶ó¸é, .htaceess ¶Ç´Â httpd.conf·Î ExpiresÇì´õ¸¦ ¼³Á¤Çϸé JavaScriptÀÇ Ä³½¬½Ã°£À» °ü¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿¹·Î ¾Æ·¡¿Í °°ÀÌ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
<IfModule mod_headers.c>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/javascript "access plus 4 weeks"
ExpiresByType application/x-javascript "access plus 4 weeks"
ExpiresByType application/javascript "access plus 4 weeks"
</IfModule>
</IfModule>
JavaScript ÆÄÀÏÀ» óÀ½ ·ÎµùÇÑ ´ÙÀ½ºÎÅÍ 4ÁÖ°¡ Áö³ª¸é ij½¬ ±â°£ÀÌ ³¡³ª »èÁ¦µË´Ï´Ù. Áï 4ÁÖ°£ ·ÎÄÿ¡ ij½¬°¡ ³²¾Æ ÀÖ´Ù´Â ¼Ò¸®ÀÔ´Ï´Ù. ±â°£ ¼³Á¤ ¹æ¹ýÀº À¥¼¹ö¸¶´Ù Ʋ¸®±â ¶§¹®¿¡ ¼¹öº°·Î È®ÀÎÇϱ⠹ٶó¸ç, ApacheÀÇ °æ¿ì, ÀÌ ¹®¼¸¦ Âü°íÇÕ´Ï´Ù.
Ãß°¡ÀûÀ¸·Î ¼¹ö¿¡ mod_expires¸ðµâÀÌ ¼³Ä¡µÇ¾î ÀÖÁö ¾ÊÀ¸¸é »ç¿ëÇÒ ¼ö ¾øÀ¸¹Ç·Î ÁÖÀÇÇØ¾ß ÇÕ´Ï´Ù.
Âü°í·Î JavaScript»Ó¸¸ ¾Æ´Ï¶ó, ´Ù¸¥ ÄÜÅÙÃ÷ ij½¬ ±â°£ Á¦¾îµµ ExpriesÇì´õ·Î ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ExpiresByType image/gif "access plus 4 weeks"ExpiresByType image/jpeg "access plus 4 weeks"
ExpiresByType image/png "access plus 4 weeks"
ÆÄÀÏ Å¸ÀÔ(MIMEŸÀÔ) ÁöÁ¤Àº apache¹®¼¸¦ Àо±â ¹Ù¶ó¸ç, JavaScriptÆÄÀÏŸÀÔÀº ¹®¼¿¡ ¾²¿©ÀÖÁö ¾Ê¾Æ Á¶»çÇغ¸´Ï ¸î °³°¡ ´õ ÀÖ´Â °Í °°½À´Ï´Ù. ¼¹ö ȯ°æ¿¡ µû¶ó ´Ù¸£¸ç ÀϹÝÀûÀ¸·Î »ç¿ëµÇ°í ÀÖ´Â 3°¡Áö Á¾·ù°¡ ÀÖ½À´Ï´Ù. ±×·±µ¥ ¿ø·¡ Æ÷½ºÆÃµÈ ±Û¿¡´Â ÀÌ ³»¿ëÀÌ ¾ø¾î¼ º¸ÃæÇÕ´Ï´Ù.
ij½¬±â°£À» ¾î´ÀÁ¤µµ ¼³Á¤ÇÒÁö°¡ ¹®Á¦ÀÌÁö¸¸, ÀÌ´Â º»Àνº½º·Î°¡ »ý°¢Çؼ ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù. ¿©±â¼ ¼³Á¤µÈ 4ÁÖ°¡ ÇÕ¸®ÀûÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. (Âü°í·Î RFC¿¡ µû¸£¸é 1³â ÀÌ»ó ±â°£À» ÁöÁ¤Çؼ´Â ¾ÈµË´Ï´Ù)
¶ÇÇÑ httpd.conf°¡ ¾Æ´Ñ .htaccess¸¦ »ç¿ëÇÑ´Ù¸é, '4 weeks'º¸´Ù ¼º´ÉÀÌ ÁÁ¾ÆÁúÁöµµ ¸ð¸¨´Ï´Ù. ´Ù¸¸ ÁÖÀÇÇØ¾ß ÇÒ Á¡Àº °ÅÀÇ ¾÷µ¥ÀÌÆ®°¡ ¾ø´Â Á¤ÀûÀÎ ÆÄÀÏ¿¡ ExpiresÇì´õ¸¦ »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. ¾÷µ¥ÀÌÆ®Çصµ ij½¬¸¦ »ç¿ëÇØ ¹ö¸®±â ¶§¹®¿¡, ºê¶ó¿ìÀú¿¡ ³²¾Æ ÀÖ´Â ¿À·¡µÈ µ¥ÀÌÅÍ°¡ »ç¿ëµÇ¾î ¹ö¸®±â ¶§¹®ÀÔ´Ï´Ù. ¾÷µ¥ÀÌÆ®ÇÞÀ» °æ¿ì, ÆÄÀϸíÀ» º¯°æÇÏ´Â °ÍÀÌ ÁÁ´Ù°í º¾´Ï´Ù.
ij½¬ °ü¸®·Î´Â ÇÁ·Ï½Ã ij½¬¸¦ »ç¿ëÇÏ´Â ¹æ¹ýµµ Á¸ÀçÇÕ´Ï´Ù. ¿ø¹® ±Û³»¿ëÀ» »ìÆ캸¸é °£´ÜÇÏ°Ô ÀÌ¿¡ ´ëÇÑ ¹æ¹ýÀÌ ³ª¿À¹Ç·Î Âü°íÇÏ±æ ¹Ù¶÷´Ï´Ù. JavaScriptÀÌ¿Ü¿¡ À̹ÌÁö³ª CSSµîÀÇ Á¤ÀûÀÎ ÆÄÀϵµ Æ÷ÇÔµÇ¸ç º¸°ü±â°£Àº 4ÁÖ°£À¸·Î ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù.
ÁÖÀÇÇØ¾ß ÇÒ Á¡Àº, CSS¿Í JavaScript¸¦ Cache-ControlÇì´õ·Î ij½¬ÇÒ °æ¿ì, ƯÁ¤ ¼¹ö¿¡ µû¶ó ÇÁ·Ï½Ã ¼¹ö ¹ö±×°¡ ÀÖ¾î Á¦´ë·Î ±â´Éµ¿ÀÛÀ» ÇÏÁö ¾Ê´Â °æ¿ìµµ ÀÖ½À´Ï´Ù.
6. ÁÖ¼®À» »èÁ¦ÇÕ´Ï´Ù.
JavaScript ÆÄÀÏ ³»¿¡ ÀÛ¼ºµÇ¾î ÀÖ´Â ºÒÇÊ¿äÇÑ ÁÖ¼®Àº ¸ðµÎ »èÁ¦ÇÕ´Ï´Ù. ÆÄÀÏ Å©±â°¡ ÀÛ¾ÆÁ® À¥ºê¶ó¿ìÀú·ÎµùÀÌ »¡¸®Áý´Ï´Ù. HTMLÆÄÀÏÀ̳ª CSSÆÄÀÏ¿¡¼µµ ÁÖ¼® »ëÁ¦´Â È¿°úÀûÀÔ´Ï´Ù. ´Ù¸¸, È® ´À³¥ Á¤µµ·Î ¼Óµµ°¡ ³ô¾ÆÁúÁö´Â ¸ð¸£°Ú½À´Ï´Ù. Çصθé ÁÁ´Ù°í ÀνÄÇÏ°í ÀÖÀ¸¸é µÉ °Í °°½À´Ï´Ù.
ÀÌ»óÀ¸·Î À¥»çÀÌÆ®¿¡¼ JavaScript ·ÎµùÀ» ÃÖÀûÈÇÏ¿© À¥ÆäÀÌÁö ·»´õ¸µ ¼Óµµ¸¦ °³¼±ÇÏ´Â ¹æ¹ýÀ» Á¤¸®ÇØ º¸¾Ò½À´Ï´Ù. ÃÖ¼ÒÇÑ JavaScript ÆÄÀÏÀ» ÇÕÃļ ÆÄÀÏ Å©±â¸¦ ÁÙÀÌ°í HTTP¿äû/ÀÀ´äÀ» ÃÖ´ëÇÑ Áپ·Á´Â ¹æ¹ýÀ» »ý°¢Çغ¸±â ¹Ù¶ø´Ï´Ù.
|
|
̵̧ : 447 |
̵̧
¸ñ·Ï
|
|
|  |
|