±â¼ú ÀÚ·á: 307985 - ¸¶Áö¸· °ËÅä: 2005³â 12¿ù 23ÀÏ ±Ý¿äÀÏ - ¼öÁ¤: 3.3

INFO: ASP.NET HTTP ¸ðµâ ¹× HTTP 󸮱⠰³¿ä

ÀÌ ¹®¼­´Â ÀÌÀü¿¡ ´ÙÀ½ ID·Î ÃâÆÇµÇ¾úÀ½: KR307985

ÀÌ ÆäÀÌÁö¿¡¼­

¸ðµÎ È®´ë | ¸ðµÎ Ãà¼Ò

¿ä¾à

º» ¹®¼­¿¡¼­´Â ASP.NET HTTP ¸ðµâ°ú HTTP 󸮱⸦ ¼Ò°³ÇÕ´Ï´Ù.

ASP.NET °³¿ä¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.
305140? (http://support.microsoft.com/kb/305140/ ) INFO: ASP.NET °¡À̵å

Ãß°¡ Á¤º¸

HTTP ¸ðµâ°ú HTTP 󸮱â´Â ASP.NET ¾ÆÅ°ÅØÃ³ÀÇ Áß¿äÇÑ ºÎºÐÀÔ´Ï´Ù. ¿äûÀÌ Ã³¸®µÇ´Â µ¿¾È °¢ ¿äûÀº ¿©·¯ HTTP ¸ðµâ(¿¹: ÀÎÁõ ¸ðµâ ¹× ¼¼¼Ç ¸ðµâ)¿¡¼­ ó¸®µÈ ´ÙÀ½ ´ÜÀÏ HTTP 󸮱⿡¼­ 󸮵˴ϴÙ. 󸮱Ⱑ ¿äûÀ» ó¸®ÇÏ°í ³ª¸é ¿äûÀÌ ´Ù½Ã HTTP ¸ðµâ·Î µÇµ¹¾Æ °©´Ï´Ù.

º» ¹®¼­´Â ´ÙÀ½°ú °°Àº ³»¿ëÀ¸·Î ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù.

HTTP ¸ðµâ

¸ðµâÀº 󸮱Ⱑ ½ÇÇàµÇ±â Àü°ú ÈÄ¿¡ È£ÃâµË´Ï´Ù. ¸ðµâÀ» »ç¿ëÇÏ¸é °³¹ßÀÚ°¡ °¢ °³º° ¿äûÀ» °¡·Îä°Å³ª Âü¿©Çϰųª ¼öÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸ðµâÀº System.Web ³×ÀÓ½ºÆäÀ̽º¿¡ ÀÖ´Â IHttpModule ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÕ´Ï´Ù.

»ç¿ë °¡´ÉÇÑ À̺¥Æ®

HttpApplication Ŭ·¡½º´Â ¸ðµâÀÌ µ¿±âÈ­ÇÒ ¼ö ÀÖ´Â ¸¹Àº À̺¥Æ®¸¦ Á¦°øÇÕ´Ï´Ù. °¢ ¿äû¿¡¼­ ¸ðµâÀÌ µ¿±âÈ­ÇÒ ¼ö ÀÖ´Â À̺¥Æ®´Â ´ÙÀ½°ú °°½À´Ï´Ù. ´ÙÀ½ À̺¥Æ®´Â ¼ø¼­´ë·Î ³ª¿­ÇÑ °ÍÀÔ´Ï´Ù.
  • BeginRequest: ¿äûÀÌ ½ÃÀ۵Ǿú½À´Ï´Ù. ¿äûÀÇ ½ÃÀÛ ºÎºÐ¿¡¼­ ÀÛ¾÷À» ¼öÇàÇØ¾ß ÇÏ´Â °æ¿ì(¿¹: °¢ ÆäÀÌÁö ¸Ç À§¿¡ ±¤°í ¹è³Ê Ç¥½Ã) ÀÌ À̺¥Æ®¸¦ µ¿±âÈ­ÇÕ´Ï´Ù.
  • AuthenticateRequest: »ç¿ëÀÚ ÁöÁ¤ ÀÎÁõ ±¸¼ºÇ¥¸¦ Ç÷¯±× ÀÎÇÏ·Á¸é(¿¹: ¾ÏÈ£¸¦ È®ÀÎÇϱâ À§ÇØ µ¥ÀÌÅͺ£À̽º¿¡¼­ »ç¿ëÀÚ¸¦ °Ë»öÇÏ´Â °æ¿ì) ÀÌ À̺¥Æ®¸¦ µ¿±âÈ­ÇÏ´Â ¸ðµâÀ» ÀÛ¼ºÇÏ°í ¿øÇÏ´Â ¹æ¹ýÀ¸·Î »ç¿ëÀÚ¸¦ ÀÎÁõÇÕ´Ï´Ù.
  • AuthorizeRequest: ÀÌ À̺¥Æ®´Â ÀÎÁõ ¸ÞÄ¿´ÏÁò(¿¹: ½Ã½ºÅÛÀÌ ¾Æ´Ï¶ó µ¥ÀÌÅͺ£À̽º¿¡ ¾×¼¼½º Á¦¾î ¸ñ·Ï ÀúÀå)À» ±¸ÇöÇϱâ À§ÇØ ³»ºÎÀûÀ¸·Î »ç¿ëµË´Ï´Ù. ÀÌ À̺¥Æ®¸¦ ¹«½ÃÇÒ ¼öµµ ÀÖÁö¸¸ ±×·¸°Ô ÇÒ ¸¸ÇÑ °æ¿ì´Â º°·Î ¾ø½À´Ï´Ù.
  • ResolveRequestCache: ÀÌ À̺¥Æ®´Â ÆäÀÌÁö°¡ Ãâ·Â ij½Ã¿¡¼­ Á¦°øµÉ ¼ö ÀÖ´ÂÁö È®ÀÎÇÕ´Ï´Ù. ij½Ì ¸ðµâ(¿¹: ¸Þ¸ð¸® ij½Ã ´ë½Å ÆÄÀÏ ±â¹Ý ij½Ã ÀÛ¼º)À» Á÷Á¢ ÀÛ¼ºÇÏ·Á¸é ÀÌ À̺¥Æ®¸¦ µ¿±âÈ­ÇÏ¿© ij½Ã¿¡¼­ ÆäÀÌÁö¸¦ ¼­ºñ½ºÇÒÁö ¿©ºÎ¸¦ °áÁ¤ÇÕ´Ï´Ù.
  • AcquireRequestState: ¼¼¼Ç »óŸ¦ »óÅ ÀúÀå¼Ò¿¡¼­ °Ë»öÇÕ´Ï´Ù. »óÅ °ü¸® ¸ðµâÀ» Á÷Á¢ ÀÛ¼ºÇÏ·Á¸é ÀÌ À̺¥Æ®¸¦ µ¿±âÈ­ÇÏ¿© »óÅ ÀúÀå¼Ò¿¡¼­ ¼¼¼Ç »óŸ¦ °¡Á®¿É´Ï´Ù.
  • PreRequestHandlerExecute: ÀÌ À̺¥Æ®´Â HTTP 󸮱Ⱑ ½ÇÇàµÇ±â Àü¿¡ ¹ß»ýÇÕ´Ï´Ù.
  • PostRequestHandlerExecute: ÀÌ À̺¥Æ®´Â HTTP 󸮱Ⱑ ½ÇÇàµÈ ÈÄ¿¡ ¹ß»ýÇÕ´Ï´Ù.
  • ReleaseRequestState: ¼¼¼Ç »óŰ¡ »óÅ ÀúÀå¼Ò¿¡ ´Ù½Ã ÀúÀåµË´Ï´Ù. »ç¿ëÀÚ ÁöÁ¤ ¼¼¼Ç »óÅ ¸ðµâÀ» ÀÛ¼ºÇÏ´Â °æ¿ì »óÅ ÀúÀå¼Ò¿¡ »óŸ¦ ´Ù½Ã ÀúÀåÇØ¾ß ÇÕ´Ï´Ù.
  • UpdateRequestCache: ÀÌ À̺¥Æ®´Â Ãâ·ÂÀ» ´Ù½Ã Ãâ·Â ij½Ã¿¡ ±â·ÏÇÕ´Ï´Ù. »ç¿ëÀÚ ÁöÁ¤ ij½Ã ¸ðµâÀ» ÀÛ¼º ÁßÀÎ °æ¿ì Ãâ·ÂÀ» ´Ù½Ã ij½Ã¿¡ ±â·ÏÇÕ´Ï´Ù.
  • EndRequest: ¿äûÀÌ ¿Ï·áµÇ¾ú½À´Ï´Ù. ¿äûÀ¸·ÎºÎÅÍ Á¤º¸¸¦ ¼öÁýÇÏ´Â µð¹ö±ë ¸ðµâÀ» ÀÛ¼ºÇÑ ´ÙÀ½ Á¤º¸¸¦ ÆäÀÌÁö¿¡ ±â·ÏÇÒ ¼ö ÀÖ½À´Ï´Ù.
´ÙÀ½ À̺¥Æ®´Â °¢ ¿äû Àü¼ÛÀ» µ¿±âÈ­Çϱâ À§ÇØ ¸ðµâ¿¡ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. À̺¥Æ® ¼ø¼­´Â °áÁ¤µÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù.
  • PreSendRequestHeaders: ÀÌ À̺¥Æ®´Â Çì´õ°¡ º¸³»Áö±â Àü¿¡ ¹ß»ýÇÕ´Ï´Ù. Çì´õ¸¦ Ãß°¡ÇÏ·Á¸é »ç¿ëÀÚ ÁöÁ¤ ¸ðµâ·ÎºÎÅÍ ÀÌ À̺¥Æ®¸¦ µ¿±âÈ­ÇÒ ¼ö ÀÖ½À´Ï´Ù.
  • PreSendRequestContent: ÀÌ À̺¥Æ®´Â Response.Flush ¸Þ¼­µå°¡ È£ÃâµÉ ¶§ ¹ß»ýÇÕ´Ï´Ù. ÄÜÅÙÃ÷¸¦ Ãß°¡ÇÏ·Á¸é »ç¿ëÀÚ ÁöÁ¤ ¸ðµâ·ÎºÎÅÍ ÀÌ À̺¥Æ®¸¦ µ¿±âÈ­ÇÒ ¼ö ÀÖ½À´Ï´Ù.
  • Error: ÀÌ À̺¥Æ®´Â 󸮵ÇÁö ¾ÊÀº ¿¹¿Ü°¡ ÀÖÀ» ¶§ ¹ß»ýÇÕ´Ï´Ù. »ç¿ëÀÚ ÁöÁ¤ ¿À·ù 󸮱⠸ðµâÀ» ÀÛ¼ºÇÏ·Á¸é ÀÌ À̺¥Æ®¸¦ µ¿±âÈ­ÇÕ´Ï´Ù.

HTTP ¸ðµâ ±¸¼º

<httpModules> ±¸¼º ¼½¼Ç 󸮱â´Â ÀÀ¿ë ÇÁ·Î±×·¥ ³»¿¡¼­ HTTP ¸ðµâÀ» ±¸¼ºÇÏ´Â ÀÛ¾÷À» ´ã´çÇÕ´Ï´Ù. ÄÄÇ»ÅÍ, »çÀÌÆ® ¶Ç´Â ÀÀ¿ë ÇÁ·Î±×·¥ ¼öÁØ¿¡¼­ ¼±¾ðÇÒ ¼ö ÀÖ½À´Ï´Ù. <httpModules> ¼½¼Ç 󸮱⿡ ¾Æ·¡ÀÇ ±¸¹®À» »ç¿ëÇϽʽÿÀ.
<httpModules>
   <add type="[COM+ Class], [Assembly]" name="[ModuleName]" />
   <remove type="[COM+ Class], [Assembly]" name="[ModuleName]" />
   <clear />
</httpModules>
				

HTTP ¸ðµâ ¸¸µé±â

HTTP ¸ðµâÀ» ¸¸µé·Á¸é IHttpModule ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù. IHttpModule ÀÎÅÍÆäÀ̽º¿¡´Â ´ÙÀ½ ¼­¸íÀ» °¡Áø µÎ °¡Áö ¸Þ¼­µå°¡ ÀÖ½À´Ï´Ù.
void Init(HttpApplication);
void Dispose();
				
HTTP ¸ðµâ ¸¸µé±â¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.
308000? (http://support.microsoft.com/kb/308000/ ) HOWTO: Visual Basic .NETÀ» »ç¿ëÇÏ¿© ASP.NET HTTP ¸ðµâ ¸¸µé±â
307996? (http://support.microsoft.com/kb/307996/ ) HOWTO: Visual C# .NETÀ» »ç¿ëÇÏ¿© ASP.NET HTTP ¸ðµâ ¸¸µé±â

HTTP 󸮱â

󸮱â´Â °³º° Á¾Á¡ ¿äûÀ» ó¸®ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. 󸮱⸦ »ç¿ëÇϸé ASP.NET ÇÁ·¹ÀÓ¿öÅ©¿¡¼­ ÀÀ¿ë ÇÁ·Î±×·¥ ³»ÀÇ °³º° HTTP URLÀ̳ª URL È®Àå ±×·ìÀ» ó¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸ðµâ°ú ´Þ¸® ¿äûÀ» ó¸®ÇÏ´Â µ¥ 󸮱Ⱑ Çϳª¸¸ »ç¿ëµË´Ï´Ù. ¸ðµç 󸮱â´Â System.Web ³×ÀÓ½ºÆäÀ̽º¿¡ ÀÖ´Â IHttpHandler ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÕ´Ï´Ù. 󸮱â´Â ISAPI(Internet Server Application Programming Interface) È®Àå°ú ºñ½ÁÇÕ´Ï´Ù.

HTTP 󸮱⠱¸¼º

<httpHandlers> ±¸¼º ¼½¼Ç 󸮱â´Â µé¾î¿À´Â URLÀ» IHttpHandler ¶Ç´Â IHttpHandlerFactory Ŭ·¡½º·Î ¸ÅÇÎÇÏ´Â ÀÛ¾÷À» ´ã´çÇÕ´Ï´Ù. ÄÄÇ»ÅÍ, »çÀÌÆ® ¶Ç´Â ÀÀ¿ë ÇÁ·Î±×·¥ ¼öÁØ¿¡¼­ ¼±¾ðÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÏÀ§ µð·ºÅ͸®°¡ ÀÌ ¼³Á¤À» »ó¼ÓÇÕ´Ï´Ù.

°ü¸®ÀÚ´Â <add> ÅÂ±× Áö½Ã¹®À» »ç¿ëÇÏ¿© <httpHandlers> ¼½¼ÇÀ» ±¸¼ºÇÕ´Ï´Ù. <Add> Áö½Ã¹®Àº À§¿¡¼­ ¾Æ·¡ÀÇ ¼ø¼­·Î ÇØ¼®µÇ°í 󸮵˴ϴÙ. <httpHandler> ¼½¼Ç 󸮱⿡ ´ëÇØ ¾Æ·¡ÀÇ ±¸¹®À» »ç¿ëÇϽʽÿÀ.
<httpHandlers>
   <add verb="[verb list]" path="[path/wildcard]" type="[COM+ Class], [Assembly]" validate="[true/false]" />
   <remove verb="[verb list]" path="[path/wildcard]" />
   <clear />
</httpHandlers>
				

HTTP 󸮱⠸¸µé±â

HTTP 󸮱⸦ ¸¸µé·Á¸é IHttpHandler ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù. IHttpHandler ÀÎÅÍÆäÀ̽º¿¡´Â ´ÙÀ½ ¼­¸íÀ» °¡Áø ¸Þ¼­µå Çϳª¿Í ¼Ó¼º Çϳª°¡ ÀÖ½À´Ï´Ù.
void ProcessRequest(HttpContext);
bool IsReusable {get;}
				
Âü°í: ¼¼¼Ç »óŰ¡ HTTP 󸮱⿡¼­ ÇÊ¿äÇϸé IRequiresSessionState ÀÎÅÍÆäÀ̽ºµµ ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù. HTTP 󸮱⠸¸µé±â¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.
308001? (http://support.microsoft.com/kb/308001/ ) HOWTO: Visual C# .NETÀ» »ç¿ëÇÏ¿© ASP.NET HTTP 󸮱⠸¸µé±â
ÀÚ¼¼ÇÑ ³»¿ëÀº Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.
307997? (http://support.microsoft.com/kb/307997/ ) HOWTO: Visual Basic .NETÀ» »ç¿ëÇÏ¿© ASP.NET HTTP 󸮱⠸¸µé±â




Microsoft Á¦Ç° °ü·Ã ±â¼ú Àü¹®°¡µé°ú ¿Â¶óÀÎÀ¸·Î Á¤º¸¸¦ ±³È¯ÇϽ÷Á¸é Microsoft ´º½º ±×·ì (http://support.microsoft.com/newsgroups/default.aspx) ¿¡ Âü¿©ÇϽñ⠹ٶø´Ï´Ù.

º» ¹®¼­ÀÇ Á¤º¸´Â ´ÙÀ½ÀÇ Á¦Ç°¿¡ Àû¿ëµË´Ï´Ù.
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Ű¿öµå:?
kbarttyperoadmap kbhttphandlers kbhttpmodule kbhttpruntime kbinfo KB307985
 

±â¼ú ÀÚ·á ¹ø¿ª