³¯Â¥: 1996-07-03 | ±Û¾´ÀÌ: µµ¾Æ | 38174 ¹ø | ÇÁ¸°Æ® | ¸ÞÀϷκ¸³»±â

Á¦ 3°­ - µ¿Àû¹®¼­ »ý¼ºÇϱâ


CGI.pmÀÇ ´ëºÎºÐÀÇ ÇÔ¼öµéÀº ÁøÇàÁß¿¡ ¹®¼­¸¦ »ý¼ºÇÑ´Ù. ÀϹÝÀûÀ¸·Î HTTP Çì´õ¸¦ ¸ÕÀú ¸¸µé¸ç À̾î HTML°ú °°Àº ¹®¼­¸¦ »ý¼ºÇÏ°Ô µÈ´Ù. CGI.pmÀº HTML°ú °°Àº text/html Çü½Ä»Ó¸¸¾Æ´Ï¶ó ¿©·¯°¡Áö ´Ù¾çÇÑ ÇüÅÂÀÇ HTTP Çì´õ¸¦ »ý¼ºÇÏ´Â ÇÔ¼ö¸¦ Á¦°øÇÑ´Ù. GIF À̹ÌÁö¸¦ ¸¸µé±âÀ§Çؼ­´Â GD.pm ¸ðµâ À» º¸±â ¹Ù¶õ´Ù.

À̵é ÇÔ¼ö °¢°¢Àº HTMLÀ̳ª HTTPÀÇ ÀϺθ¦ Ãâ·ÂÇÒ ¼ö ÀÖÀ¸¸ç µû¶ó¼­ ºê·Î¿ìÀú â¿¡ Ãâ·ÂµÇ°í ¹®ÀÚ¿­¿¡ µ¡ºÙ¿©Áö°í ÆÄÀÏ·Î ÀúÀåµÉ ¼ö ÀÖ´Ù. Ç¥ÁØ HTTP Çì´õ »ý¼ºÇϱâ

ÀÓÀÇÀÇ CGI ½ºÅ©¸³Æ®¿¡¼­ ù¹ø°·Î Ãâ·ÂÇØ¾ß ÇÏ´Â °ÍÀº HTTP Çì´õÀÌ´Ù. ÀÌ °ÍÀº ¹®¼­ÀÇ À¯ÇüÀÌ ¹«¾ùÀÎÁö¿Í ´Ù¸¥ Ãß°¡ÀûÀÎ Á¤º¸(¾ð¾î, ¸¸·á±â°£, ¹®¼­ÀÇ Ä³½¬¿©ºÎµî)¸¦ ºê·Î¿ìÀú¿¡°Ô Á¦°øÇÑ´Ù. ÀÌ Çì´õ´Â ¶ÇÇÑ ¼­¹ö ¹Ð±â(Server Push)¿Í °°Àº Ư¼öÇÑ ¸ñÀûÀ¸·Î »ç¿ëµÉ ¼ö ÀÖ´Ù.

print $query->header;	
# Content-Type: text/html°ú ºóÁÙÀ» Ãâ·Â

¶Ç´Â

print $query->header('image/gif');
# Content-Type: image/gif°ú ºóÁÙÀ» Ãâ·Â

¶Ç´Â

print $query->header('text/html','204 No response');
# Status: 204 No response, Content-Type: text/html°ú 
# ºóÁÙÀ» Ãâ·Â

¶Ç´Â

print $query->header(-type=>'image/gif',# MIME Çü½Ä Ãâ·Â
	-nph=>1,			# »óÅÂÇà Ãâ·Â
	-status=>'402 Payment required',# Status Çì´õ Ãâ·Â
	-expires=>'+3d',		# ¸¸·áÀÏ Ãâ·Â
	-cookie=>$cookie,		# ÄíÅ° Ãâ·Â
	-Cost=>'.00');		# Cost Çì´õ Ãâ·Â

header()
´Â Content-type: Çì´õ¸¦ ¸®ÅÏÇÑ´Ù. ¿øÇÏ´Â °æ¿ì ÀÚ½ÅÀÇ MIME Çü½ÄÀ» Á¦°øÇÒ ¼ö ÀÖÀ¸¸ç, ±×·¸Áö ¾ÊÀº °æ¿ì ±âº»°ªÀº text/htmlÀÌ´Ù. ´Ù¸¥ Ãß°¡ÀûÀÎ µÎ¹ø° ¸Å°³º¯¼ö´Â »óÅÂÄÚµå¿Í ÀÌ »óÅÂÄڵ忡´ëÇÑ Çؼ®ÀÌ´Ù. ¿¹¸¦µé¾î ºê·Î¿ìÀú°¡ ÇÒÀÏÀÌ ÀüÇô ¾ø´Ù´Â °ÍÀ» ÅëÁöÇϱâÀ§ÇØ 204, "No response"¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.

¸¶Áö¸· ¿¹´Â ¸Å°³º¯¼öÀÇ À̸§À» ÀÌ¿ëÇؼ­ CGI ¸Þ¼Òµå¿¡ ÀÎÀÚ¸¦ Àü´ÞÇÏ´Â ±â¸í ÀÎÀÚ Àü´Þ Çü½ÄÀ» º¸ÀÌ°í ÀÖ´Ù. ÀÎ½ÄµÈ ¸Å°³º¯¼ö´Â -type, -status, -expires°ú -cookieÀÌ´Ù. ¸ðµç ¸Å°³º¯¼ö´Â ´ë½¬(-)¸¦ Á¦°ÅÇÑ »óÅ¿¡¼­ Çì´õÇʵ忡 »ðÀԵȴÙ. ÀÌ °ÍÀ¸·Î ¿øÇÏ´Â ÀÓÀÇÀÇ HTTP Çì´õ¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ¸Å°³º¯¼ö À̸§ Áß°£ÀÇ ¹ØÁÙÀº ´ë½¬(-)·Î º¯È¯µÈ´Ù.

print $query->header(-Content_length=>3002);

´ëºÎºÐÀÇ ºê·Î¿ìÀú´Â CGI Ãâ·ÂÀ» ij½¬ÇÏÁö ¾Ê´Â´Ù. µû¶ó¼­ ºê·Î¿ìÀú°¡ ÇØ´ç ÆäÀÌÁö¸¦ ÀоîµéÀ϶§ ¸¶´Ù ½ºÅ©¸³Æ®°¡ »õ·Ó°Ô È£ÃâµÈ´Ù. ÀÌ·¯ÇÑ Æ¯Â¡Àº -expires ¸Å°³º¯¼ö¸¦ ÀÌ¿ëÇؼ­ º¯°æÇÒ ¼ö ÀÖ´Ù. ÀÌ ¸Å°³º¯¼ö·Î Àý´ë ¶Ç´Â »ó´ë ¸¸·á Áֱ⸦ ÁöÁ¤ÇÒ ¶§ ¸î¸î ºê·Î¿ìÀú¿Í ÇÁ·Ï½Ã ¼­¹ö´Â ÁöÁ¤µÈ ¸¸·áÀϱîÁö CGIÀÇ Ãâ·ÂÀ» ij½¬ÇÑ´Ù. ´ÙÀ½ Ç¥´Â -expires Çʵ忡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â °ªÀÌ´Ù.

Çü½Ä ÀǹÌ
+30s Áö±ÝºÎÅÍ 30ÃÊ
+10m Áö±ÝºÎÅÍ 10ºÐ
+1h Áö±ÝºÎÅÍ 1½Ã°£
-1d ¾îÁ¦
now Áï½Ã
+3M ¼®´Þ ³»
+10y 10³â³»
Thursday, 25-Apr-1999 00:40:33 GMT ÁöÁ¤µÈ ½Ã°£/³¯ÀÚ¿¡

-cookie ¸Å°³º¯¼ö´Â »óÅÂÁ¤º¸ À¯Áö¸¦ À§ÇØ À̾îÁö´Â ¸ðµç Æ®·£Àè¼Çµ¿¾È ÄíÅ°¸¦ Á¦°øÇϵµ·Ï ºê·Î¿ìÀú¿¡ ÅëÁöÇÏ´Â Çì´õ¸¦ ¸¸µç´Ù. ³Ý½ºÄÉÀÙÀÇ Äí±â´Â ¸¸·áÀÏ°ú °°Àº ¼Ó¼ºÀ» Æ÷ÇÔÇϴ Ư¼öÇÑ Çü½ÄÀ» °¡Áö°í ÀÖ´Ù. ¼¼¼Ç ÄíÅ°¸¦ »ý¼º/º¹¿øÇϱâÀ§ÇØ

<A HREF="perl-cgipm6.htm#NETSCAPE_COOKIES">cookie()</A>
¸Þ¼Òµå¸¦ »ç¿ëÇÑ´Ù.

-nph ¸Å°³º¯¼ö´Â ÂüÀ¸·Î ¼³Á¤µÇ¸é NPH(Non-Parse-Header) ½ºÅ©¸³Æ®·Î µ¿ÀÛÇϴµ¥ ÇÊ¿äÇÑ ¿Ã¹Ù¸¥ Çì´õ¸¦ »ý¼ºÇÑ´Ù. ÀÌ °ÍÀº ¸ðµç ½ºÅ©¸³Æ®¸¦ NPHÀÏ°É·Î »ý°¢ÇÏ´Â IIS¿Í °°Àº ¼­¹ö¿Í ÇÔ²² »ç¿ëÇÒ ¶§¿¡´Â Áß¿äÇÏ´Ù. ¹æÇâÀüȯ Çì´õ »ý¼ºÇϱâ

print $query->redirect('http://qaos.com/');

¶§¶§·Î ¹®¼­ ÀÚü¸¦ ¸¸µéÁö ¾Ê°í °£´ÜÈ÷ ´Ù¸¥ ¹®¼­(URL)·Î ¹æÇâÀüȯÇϱ⸦ ¿øÇÏ´Â °æ¿ì°¡ ÀÖ´Ù. ÀÌ·± °æ¿ì´Â ¾Æ¸¶ ½Ã°£À̳ª »ç¿ëÀÚ È®Àο¡ µû¶ó URLÀ» ¼±ÅÃÇؾßÇÏ´Â °æ¿ìÀÏ °ÍÀÌ´Ù.

redirect()
ÇÔ¼ö´Â ´Ù¸¥ URLÀ» ºê·Î¿ìÀú¿¡ Àü´ÞÇÑ´Ù. ¸¸¾à ÀÌ¿Í °°Àº ¹æÇâÀüȯÀ» »ç¿ëÇÑ´Ù¸é ´Ù¸¥ ¾î¶°ÇÑ Çì´õ·Î Ãâ·ÂÇÏÁö ¾Ê¾Æ¾ß ÇÑ´Ù. 2.0 ¹öÀü¿¡¼­ ó·³ ºñ°ø½ÄÀûÀÎ Location: Çì´õ¿Í °ø½ÄÀûÀÎ URI: Çì´õ µÑ´Ù Áö¿øÇÑ´Ù. ÀÌ °ÍÀ¸·Î ´ëºÎºÐÀÇ ¼­¹ö¿Í ºê·Î¿ìÀú¸¦ Áö¿øÇÒ ¼ö ÀÖ´Ù.

ÇÑ°¡Áö ÁÖÀÇÇÒ °ÍÀº Àڱ⠻çÀÌÆ®ÀÇ ´Ù¸¥ ¹®¼­·Î ¹æÇâÀüȯ ÇÒ ¶§ »ó´ë ¸µÅ©´Â ¹Ù¸£°Ô µ¿ÀÛÇÏÁö ¾ÊÀ» ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. ÀÌ °ÍÀº ¸î¸î ¼­¹öµéÀÌ »ç¿ëÇÏ´Â ÃÖÀûÈ­ °úÁ¤¶§¹®ÀÌ´Ù. ÀÌ °Í¿¡´ëÇÑ ÇØ°áÃ¥Àº ¹æÇâÀüȯÇÏ·Á´Â ¹®¼­ÀÇ ¿ÏÀüÇÑ URL(http:¸¦ Æ÷ÇÔÇÑ)À» »ç¿ëÇÏ´Â °ÍÀÌ´Ù.

¶ÇÇÑ ±â¸í ÀÎÀÚ¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.

print $query->redirect(-uri=>'http://qaos.com/',
	-nph=>1);

-nph ¸Å°³º¯¼ö´Â ÂüÀ¸·Î ¼³Á¤µÇ¸é NPH(Non-Parse-Header) ½ºÅ©¸³Æ®·Î µ¿ÀÛÇϴµ¥ ÇÊ¿äÇÑ ¿Ã¹Ù¸¥ Çì´õ¸¦ »ý¼ºÇÑ´Ù. ÀÌ °ÍÀº ¸ðµç ½ºÅ©¸³Æ®¸¦ NPHÀÏ°É·Î »ý°¢ÇÏ´Â IIS¿Í °°Àº ¼­¹ö¿Í ÇÔ²² »ç¿ëÇÒ ¶§¿¡´Â Áß¿äÇÏ´Ù. HTML ¹®¼­ Çì´õ »ý¼ºÇϱâ

print $query->start_html(-title=>'µµ¾ÆÀÇ CGI °­ÁÂ',
	-author=>'[email protected]',
	-base=>'true',
	-target=>'_blank',
	-meta=>{'keywords'=>'Forever with CGI',
		'copyright'=>'ÀúÀÛ±Ç µµ¾Æ'},
	-style=>{'src'=>'/style1.css'},
	-BGCOLOR=>'blue');

HTTP Çì´õ¸¦ »ý¼ºÇÑ ÈÄ ´ëºÎºÐÀÇ CGI ½ºÅ©¸³Æ®´Â HTML ¹®¼­¸¦ »ý¼ºÇϱ⠽ÃÀÛÇÑ´Ù.

start_html()
´Â HTML ¹®¼­ÀÇ Çì´õºÎºÐ ¿Ü¿¡ ÆäÀÌÁöÀÇ ¿Ü°ü°ú Ư¡À» Á¦¾îÇÏ´Â ¸¹Àº Ãß°¡ÀûÀÎ Á¤º¸¸¦ »ý¼ºÇÑ´Ù.

ÀÌ ¸Þ¼Òµå´Â HTML Çì´õºÎºÐ°ú <BODY>(½ÃÀÛ Å±×)¸¦ ¸®ÅÏÇÑ´Ù. ¸ðµç ¸Å°³º¯¼ö´Â Á¶°ÇºÎÀÌ´Ù. ±â¸í ¸Å°³º¯¼ö Çü½Ä¿¡¼­ ÀνÄÇÒ ¼ö ÀÖ´Â ¸Å°³º¯¼ö´Â -title, -author, -base, -xbase°ú -targetÀÌ´Ù. ³Ý½ºÄÉÀÙÀÇ È®Àå¼Ó¼ºÀÎ BGCOLOR ¼Ó¼º°ú °°Àº ÀÓÀÇÀÇ Ãß°¡젹ÀÎ ¸Å°³º¯¼ö°¡ <BODY> ű׿¡ Ãß°¡µÉ ¼ö ÀÖ´Ù. Ãß°¡젹ÀÎ ¸Å°³º¯¼ö´Â ´ë½¬(-)·Î ½ÃÀÛÇØ¾ß ÇÑ´Ù.

-xbase ÀÎÀÚ·Î ´ÙÀ½ ¿¹¿¡¼­ ó·³ ÇöÀç URL°ú´Â ´Ù¸¥ URL¿¡´ëÇÑ HREF¸¦ Á¦°øÇÒ ¼ö ÀÖ´Ù.

-xbase=>"http://syscon.soongsil.ac.kr/~artech/"

¸ðµç »ó´ëÀûÀÎ ¸µÅ©´Â ÀÌ ¸µÅ©¿¡´ëÇÑ »ó´ë URL·Î Çؼ®µÈ´Ù.

-target ÀÎÀÚ·Î ÆäÀÌÁöÀÇ ¸ðµç ¸µÅ©¿Í Æû¿¡´ëÇÑ ±âº» Ÿ°Ù ÇÁ·¹ÀÓÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ÀÌ °ÍÀ» ¾î¶»°Ô ´Ù·ç´Â °¡¿¡´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº ÇÁ·¹ÀÓ¿¡´ëÇÑ ³Ý½ºÄÉÀÙ ¹®¼­ ¸¦ º¸±â¹Ù¶õ´Ù.

-target=>"answer_window"

¶ÇÇÑ -meta ÀÎÀÚ·Î HTML Çì´õºÎ¿¡ ÀÓÀÇÀÇ ¸ÞŸÁ¤º¸¸¦ Ãß°¡ÇÒ ¼ö ÀÖ´Ù. ÀÌ ÀÎÀÚ´Â ¸ÞŸ Á¤º¸ÀÇ À̸§/°ª ½ÖÀ» Æ÷ÇÔÇÏ´Â ¿¬°ü ¹è¿­¸¦ ÂüÁ¶ÇÑ´Ù. ÀÌ °ÍÀº ´ÙÀ½°ú °°Àº ÀÏ·ÃÀÇ <META> ű׷Π»ðÀԵȴÙ.

<META NAME="keywords" CONTENT="CGI °­ÁÂ">
<META NAME="description" CONTENT="ÀúÀÛ±Ç µµ¾Æ">

HTTP-EQUIV Çü½ÄÀÇ <META> ű״ Áö¿øµÇÁö ¾Ê´Â´Ù. ÀÌ °ÍÀº HTTP Çì´õ¸¦ header()·Î Á÷Á¢ ÁöÁ¤ÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù. ¿¹¸¦µé¾î Refresh: Çì´õ¸¦ Àü¼ÛÇÏ·Á¸é

<A HREF="CREATING_A_STANDARD_HTTP_HEADER_">header()</A>
¸Þ¼Òµå¸¦ ÀÌ¿ëÇÏ¸é µÈ´Ù.

print $q->header(-Refresh=>'10; URL=http://qaos.com/');

-style´Â Äڵ峻¿¡ Á¾¼Ó ¼­½Ä ÆÄÀÏÀ» º´ÇÕÇϴµ¥ »ç¿ëµÈ´Ù. º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸´Â Á¾¼Ó ¼­½Ä ÆÄÀÏ¿¡´ëÇÑ ÀýÀ» º¸±â ¹Ù¶õ´Ù.

-head ¸Å°³º¯¼ö·Î <HEAD> ºÎºÐ¿¡ ´Ù¸¥ ÀÓÀÇÀÇ HTML ű׸¦ µÑ ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î µå¹°°Ô »ç¿ëµÇ´Â <LINK> ű׸¦ Çìµå ºÎºÐ¿¡ µÎ±âÀ§ÇØ ´ÙÀ½°ú °°Àº ¹æ¹ýÀ» »ç¿ëÇÏ¸é µÈ´Ù.

print $q->start_html(-head=>Link({-rel=>'next',
	-href=>'http://qaos.com/css/'}));

´ÙÁß HTML ¿ä¼Ò¸¦ <HEAD>ºÎ·Î º´ÇÕÇϱâ À§ÇØ ¹è¿­ ÂüÁ¶¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

print $q->start_html(-head=>[ 
	Link({-rel=>'next',
		-href=>'http://qaos.com/css/'}),
	Link({-rel=>'previous',
		-href=>'http://qaos.com/cgi/'})
	]);

ÀÚ¹Ù½ºÅ©¸³Æ®: -script, -noScript, -onLoad, -onMouseOver, -onMouseOut¿Í -onUnload ¸Å°³º¯¼ö´Â ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ Á¤ÀÇ/È£ÃâÀ» ÇÏ´Â »ç¿ëµÇ´Â ű׳ª À̺¥Æ®¸¦ ÆäÀÌÁö¿¡ Ãß°¡Çϴµ¥ »ç¿ëµÈ´Ù. -script´Â ÀÚ¹Ù½ºÅ©¸³Æ® ÇÔ¼ö¸¦ Á¤ÀÇÇÏ´Â ºí·°À» Æ÷ÇÔÇÑ´Ù. ÀÌ ºí·°Àº HTML Çì´õºÎÀÇ <SCRIPT>ºí·° ³»¿¡ ÀÖ¾î¾ßÇÑ´Ù. ÆäÀÌÁö°¡ ¿ÏÀüÈ÷ ÀÐÇôÁö±â Àü¿¡ »ç¿ëÀÚ°¡ ÁßÁö ¹öÆ°À» ´©¸¦Áö¶óµµ ¸ðµç ÀÚ¹Ù½ºÅ©¸³Æ®°¡ Á¤»èÀûÀ¸·Î µ¿ÀÛÇϵµ·Ï ÀÌ ºí·°À» °¡±ÞÀû HTML Çì´õºÎ¿¡ µÎ¾î¾ß ÇÑ´Ù. CGI.pmÀº ÀÌ·¯ÇÑ ¹æ¹ýÀ¸·Î ½ºÅ©¸³Æ®¸¦ Çü½ÄÈ­ ÇÑ´Ù.

-onLoad¿Í -onUnload´Â °¢°¢ ºê·Î¿ìÀú¿¡ÀÇÇØ ÆäÀÌÁö°¡ ¿­·ÁÁú ¶§¿Í ´ÝÇôÁú¶§ ¼öÇàµÉ ÀÚ¹Ù½ºÅ©¸³Æ® Äڵ带 ÁöÁ¤Çϴµ¥ »ç¿ëµÈ´Ù. º¸Åë ÀÌµé ¸Å°³º¯¼ö´Â -script Çʵ峻¿¡ Á¤ÀÇµÈ ÇÔ¼ö¸¦ È£ÃâÇϴµ¥ »ç¿ëµÈ´Ù.

$query = new CGI;
print $query->header;
$JSCRIPT=<<END;
// Áú¹®
function riddle_me_this() {
	var r = prompt("¾Æħ¿¡´Â ³× ¹ß·Î ±â°í, " +
		"Á¡½É¿¡´Â µÎ¹ß·Î °È°í, " +
		"Àú·Â¿¡´Â ¼¼¹ß·Î ±â´Â °ÍÀº?");
	response(r);
}

// ´äÀ» ±¸ÇÑ´Ù.
function response(answer) {
	if (answer == "»ç¶÷")
		alert("Â¥½Ä, ¹Ùº¸´Â ¾Æ´Ï±º!");
	else
		alert("À̱¸! ¸Í¼ø¾Æ ´Ù½ÃÇØ.");
	}
END

print $query->start_html(-title=>'½ºÇÎÅ©½ºÀÇ ¼ö¼ö²²±â',
		-script=>$JSCRIPT);

-noScript¸¦ »ç¿ëÇؼ­ ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ ÀνÄÇÏÁö ¸øÇÏ´Â ºê·Î¿ìÀú(¶Ç´Â ÀÚ¹Ù½ºÅ©¸³Æ® ±â´ÉÀ» »ç¿ëÇÏÁö ¾Ê´Â ºê·Î¿ìÀú)¿¡ Ãâ·ÂµÉ ¸î¸î HTML ¹®ÀåÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.

³Ý½ºÄÉÀÙ 3.0Àº LANGUAGE¿Í SRC¸¦ Æ÷ÇÔÇÑ ¸î¸î±âÁö ¼Ó¼ºÀ» <SCRIPT> ű׿¡ Ãß°¡Çß´Ù. À̵é Áß SRC´Â ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ °¢ ÆäÀÌÁö¿¡ Æ÷ÇÔ½ÃÅ°´Â °ÍÀÌ ¾Æ´Ï¶ó ÀÓÀÇÀÇ ÆÄÀÏÀ̳ª CGI ½ºÅ©¸³³»¿¡ ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ ÂüÁ¶ÇÏ·Á´Â »ç¶÷µé¿¡°Ô °ü½ÉÀÌ °¡´Â ¼Ó¼ºÀÌ´Ù. ÀÌ ¼Ó¼ºÀ» »ç¿ëÇϱâÀ§ÇØ Çϳª ¶Ç´Â ±× ÀÌ»óÀÇ -language, -src, -code¸¦ HASH ÂüÁ¶¸¦ »ç¿ëÇؼ­ -script ¸Å°³º¯¼ö¿¡ Æ÷ÇÔ½Ãų ¼ö ÀÖ´Ù.

print $q->start_html(-title=>'½ºÇÎÅ©½ºÀÇ ¼ö¼ö²²±â',
		-script=>{-language=>'JAVASCRIPT',
		-src=>'/myjs/sphinx.js'}
	);

print $q->(-title=>'±ôÂïÀ̼î',
		-script=>{-language=>'PERLSCRIPT'},
		-code=>'print "¾È³ç, ±ôÂï¾Æ!\n;"'
	);

¸¶Áö¸· Ư¡À¸·Î ¿©·¯°¡Áö <SCRIPT> ¼½¼ÇÀÌ Çì´õ·Î º´ÇÕÇÒ ¼ö ÀÖ´Ù. ½ºÅ©¸³Æ® ¼½¼ÇÀÇ ¸ñ·ÏÀ» ÀÎÀÚ·Î Àü´ÞÇÏ¸é µÈ´Ù. ÀÌ °ÍÀ¸·Î ¼­·Î ´Ù¸¥ ¹öÀüÀÇ ÀÚ¹Ù ½ºÅ©¸³Æ®¿¡´ëÇØ ´Ù¸¥ ¼Ò½ºÆÄÀÏÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.

print $q-&gt;start_html(-title=&gt;'½ºÇÎÅ©½ºÀÇ ¼ö¼ö¼ö²²³¢',
	-script=&gt;[
		{ -language =&gt; 'JavaScript1.0',
			-src      =&gt; '/javascript/utilities10.js'
		},
		{ -language =&gt; 'JavaScript1.1',
			-src      =&gt; '/javascript/utilities11.js'
		},
		{ -language =&gt; 'JavaScript1.2',
			-src      =&gt; '/javascript/utilities12.js'
		},
		{ -language =&gt; 'JavaScript28.2',
			-src      =&gt; '/javascript/utilities219.js'
		}
	]);
     </pre>

ÀÌ °ÍÀÌ ´Ù¼Ò Èûµé¾î º¸Àδٸé Á÷Á¢ÀûÀÎ CGI ½ºÅ©¸³ÆÃÀ» °í¼öÇϱ⠹ٶõ´Ù.

ÀÚ¹Ù½ºÅ©¸³Æ®¿¡´ëÇÑ º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸´Â ÇÊÀÚÀÇ

<A HREF="http://qaos.com/learn/javascript/">ÀÚ¹Ù½ºÅ©¸³Æ® °¡À̵å(http://qaos.com/learn/javascript/)</A>

À» º¸±â ¹Ù¶õ´Ù. HTML ¹®¼­ ³¡³»±â

print $query->end_html

ÀÌ °ÍÀº </BODY></HTML>¸¦ Ãâ·ÂÇÔÀ¸·Î¼­ HTML ¹®¼­¸¦ ´Ý´Â´Ù.

ÀÚ±â ÂüÁ¶ URL »ý¼ºÇϱâ

$myself = $query->self_url;
print "<A HREF=$myself>È¥ÀÚ ¾ê±âÇϳ×.</A>";

self_url()
Àº ÇöÀç ½ºÅ©¸³Æ®¸¦ È£ÃâÇÑ URLÀ» ¸ðµç »óÅÂÁ¤º¸¿Í ´õºÒ¾î ¸®ÅÏÇÑ´Ù. ÀÌ °ÍÀº ÆûÀÇ ÇöÀç ³»¿ëÀ» °ÇµéÀÌÁö ¾Ê°í ³»ºÎ ¾ÞÄ¿¸¦ »ç¿ëÇؼ­ ¹®¼­³»¿¡¼­ À̵¿ÇÏ°íÀÚ ÇÒ¶§ ¾ÆÁÖ À¯¿ëÇÏ´Ù.

$myself = $query->self_url;
print "<A HREF=$myself#table1>Ç¥ 1</A>";
print "<A HREF=$myself#table2>Ç¥ 2</A>";
print "<A HREF=$myself#yourself>È¥ÀÚÇØ</A>";

¸®ÅϵǴ Çü½ÄÀ» Á¦¾îÇÏ·Á¸é url() ¸Þ¼Òµå¸¦ »ç¿ëÇÑ´Ù.

¶ÇÇÑ

query_string()
·Î Ư¼ö¹®ÀÚ°¡ Á¦°ÅµÇÁö ¾ÊÀº ÁúÀÇ ¹®ÀÚ¿­À» º¹¿øÇÒ ¼öµµ ÀÖ´Ù.

$the_string = $query->query_string;
½ºÅ©¸³Æ®ÀÇ URL ¾ò±â

$full_url      = $query->url();
$full_url      = $query->url(-full=>1);  # ´Ù¸¥ Çü½ÄÀÇ »ç¿ë¹æ¹ý
$relative_url  = $query->url(-relative=>1);
$absolute_url  = $query->url(-absolute=>1);
$url_with_path = $query->url(-path_info=>1);
$url_with_path_and_query = $query->url(-path_info=>1,-query=>1);

url()Àº ´Ù¾çÇÑ Çü½ÄÀ¸·Î ½ºÅ©¸³Æ®ÀÇ URLÀ» ¸®ÅÏÇÑ´Ù. ÀÎÀÚ ¾øÀÌ È£ÃâÇϸé È£½ºÆ® À̸§°ú Æ÷Æ® ¹øÈ£¸¦ Æ÷ÇÔÇÑ ¿ÏÀüÇÑ Çü½ÄÀÇ URLÀ» ¸®ÅÏÇÑ´Ù. ¿¹¸¦µé¾î ½ºÅ©¸³Æ®ÀÇ URLÀÌ ´ÙÀ½°ú °°´Ù¸é

<A HREF="http://qaos.com/cgi/exam/example1.cgi">http://qaos.com/cgi/exam/example1.cgi</A>

´ÙÀ½°ú °°Àº ±â¸í ÀÎÀÚ·Î ÀÌ Çü½ÄÀ» º¯°æÇÒ ¼ö ÀÖ´Ù.

-absolute
ÂüÀ̸é Àý´ë URLÀ» ¸®ÅÏÇÑ´Ù. ¿¹:

/cgi/exam/example1.cgi

-relative
»ó´ë URLÀ» ¸®ÅÏÇÑ´Ù. ÀÌ °ÍÀº ´Ù¸¥ ¸Å°³º¯¼ö·Î ½ºÅ©¸³Æ®¸¦ ´Ù½Ã È£ÃâÇÏ·Á´Â °æ¿ì À¯¿ëÇÏ´Ù. ¿¹:

example1.cgi

-full
ÀÎÀÚ¾øÀÌ È£ÃâµÇ¸é ¿ÏÀüÇÑ URLÀ» ¸®ÅÏÇÑ´Ù.

-path (-path_info)
Ãß°¡ÀûÀÎ °æ·ÎÁ¤º¸¸¦ URL¿¡ Ãß°¡ÇÑ´Ù. ÀÌ °ÍÀº -full, -absolute¿Í -relative °áÇÕµÉ ¼ö ÀÖ´Ù. -path_info´Â µ¿ÀǾîÀÌ´Ù.

-query (-query_string)
ÁúÀÇ ¹®ÀÚ¿­À» URL¿¡ Ãß°¡ÇÑ´Ù. ÀÌ °ÍÀº -full, -absolute¿Í -relative °áÇÕµÉ ¼ö ÀÖ´Ù. -query_stringÀº µ¿ÀǾîÀÌ´Ù.


´ÙÀ½±Û: Á¦ 4°­ - Ç¥ÁØ HTML ÅÂ±× ¸¸µé±â (11304)1996-07-04
ÀÌÀü±Û: Á¦ 2°­ - CGI.pmÀÇ »ç¿ë¹æ¹ý (18174)1996-07-02

¼¼»ó»ç´Â À̾߱â



RSS ±¸µ¶ (À͸í | ȸ¿ø | °­Á | Æ÷·³)
(C) 1996 ~ 2017 QAOS.com All rights reserved.