9-3 ?¸é??€è¡“細節

¥»¸`°w¹ï Cookie ªº§Þ³N¼h¦¸¥[¥H»¡©ú¡A¥HÅý¦P¾Ç¹ï Cookie ¦³§ó²`¤@¨BªºÁA¸Ñ¡C

Cookie ªº·§©À¬O¥Ñ Netscape ¤½¥q­º¥ýµo®i¥X¨Ó¡A¨ä¥D­n¥Øªº¬O­n§JªA HTTP protocal ªº¡uµLª¬ºA¡v¡]Stateless¡^¯S©Ê¡C´«¥y¸Ü»¡¡ACookie ªº¥Øªº´N¬O­n°O¿ý¨Ï¥ÎªÌ¤§«e¦bºô­¶¤Wªº¦æ¬°¡A¥H«K©ó·í¨Ï¥ÎªÌ¦^¨ì¦P¤@­Óºô­¶®É¡A¦³¨Ç¬ÛÃöªº¬ö¿ý¥i´`¡C

Hint
©Ò¿×ªº¡uStateless¡v¡A¬O«ü¦b³B²z¨C¤@­Ó¥Î¤á°e¨Óªº Request¡A¦øªA¾¹¨Ã¨S¦³¥ô¦ó¬ö¿ý¤§«e¬O§_¦³¬ÛÃöªº Request¡]Log ÀÉ®×°£¥~¡^¡A¦]¦¹¦øªA¾¹«ÜÃø¹ï¥Î¤áºÝ¶i¦æÂsÄý¦æ¬°ªº¬ö¿ý©M°lÂÜ¡C

Netscape ¤½¥q©Ò³]­pªº Cookie¡A¬O¸g¥Ñ HTTP ªºªíÀY¸ê°T¡]Header¡^¨Ó¶Ç°e¡A»¡©ú¦p¤U¡G

Á|¨Ò¨Ó»¡¡A¤@­Ó¼Ð·Çªº HTTP Response Header ¦p¤U¡G
HTTP/1.0 200 OK
Date: Tuesday, 09-Nov-99 20:58:25 GMT
Server: Open-Market-Secure-WebServer/2.0.5.RC0
MIME-version: 1.0
Security-Scheme: S-HTTP/1.1
Set-Cookie: USER=4wOm1zd2VlbmV5MTk5OQ; 
     Path=/; Domain=.site.com; expires=Wed, 
	 01-Jan-2031 01:01:01 GMT
¦b¤W¨Ò¤¤¡A¡uSet-Cookie:¡v«ü©w¤F­n¤U¸ü¦Ü¨Ï¥ÎªÌºÝªº Cookie ¤¸¯À¡C

¤@¯ë¦b¨Ï¥ÎÂsÄý¾¹¡A¨Ï¥ÎªÌ¬O¬Ý¤£¨ì³o¨ÇªíÀY¸ê°Tªº¡A­Y­n¬Ý¨ì³o¨Ç¸ê°T¡A¥i¥H¨Ï¥Î telnet¡A¨Ò¦p¡A½Ð¦b DOS µøµ¡¿é¤J¤U¦C¤å¦r¡G

telnet neural.cs.nthu.edu.tw 80 «ö¤U Enter Áä«á¡A±µµÛ¿é¤J¤U¦C¤å¦r¡G HEAD /jang/ HTTP/1.0 ¡]§A¥i¯à¬Ý¤£¨ì¿é¤Jªº¤å¦r¡A¦ý¬O³o¨Ã¤£·|¼vÅTµ²ªG¡C¡^¨ä¤¤ªº HEAD¡A¥Nªí¥u§ì¨úªíÀY¸ê°T¡C¿é¤J§¹²¦«á¡A°O±o­n«ö¡u¨â¦¸¡vEnter Áä¡A´N¥i¥H¨ú±o¤@¯ëÂsÄý¾¹¦bÅã¥Ü§Úªº­º­¶®É¡A¦øªA¾¹©Ò¦^¶ÇªºªíÀY¸ê°T¡G HTTP/1.1 200 OK Server: Microsoft-IIS/5.0 Date: Mon, 30 Oct 2006 05:54:00 GMT Connection: Keep-Alive Content-Length: 7179 Content-Type: text/html Set-Cookie: ASPSESSIONIDQCBCCDTA=AKHDJFHCGGDPDMNAHONKMPEN; path=/ Cache-control: private ¦pªG­n¨ú±o¡uWebµ{¦¡³]­p¡B§Þ³N»PÀ³¥Î¡v­º­¶ªº§¹¾ã¸ê°T¡A¥i¥H¿é¤J¤U¦C¤å¦r¡G GET /jang/books/JavaScript/ HTTP/1.0 ¨ä¤¤ªº GET¡A¥Nªí§ì¨ú§¹¾ã¸ê°T¡C«ö¤U¨â¦¸ Enter Áä«á¡A¶Ç¦^ªº¸ê°T¦p¤U¡G Server: Microsoft-IIS/5.0 Date: Mon, 30 Oct 2006 05:56:31 GMT Connection: Keep-Alive Content-Length: 8967 Content-Type: text/html Set-Cookie: ASPSESSIONIDQCBCCDTA=DLHDJFHCAGGLFCEOJCIBEJLN; path=/ Cache-control: private <html> <head> <title>JavaScript µ{¦¡³]­p»PÀ³¥Î</title> <LINK TYPE="text/css" REL="stylesheet" HREF="common/my.css"> </head> <body> <font face="helvetica,arial"> <h2 align=center class=txtH1>JavaScript µ{¦¡³]­p»PÀ³¥Î</h2> <h3 align=center class=txtH2>by <a href="http://www.cs.nthu.edu.tw/~jang">±i´¼¬P </a></h3> <hr> ... §Ú­Ì¥i¥H±N Cookie ªº³]©w¤À¬°¨â³¡¤À¡G
  1. ¥Ñ¦øªA¾¹ª½±µ¹ï¥Î¤á¶i¦æ³]©w¡G¦¹³¡¤Àªº Cookie ¸ê°T´N¬Oª½±µ©ñ¦b¥Ñ¦øªA¾¹¦^¶ÇªºªíÀY¡A¦p«e©Ò­z¡C¦³Ãö³o¤è­±ªº²Ó¸`¡A§Ú­Ì·|¦b ASP ¬ÛÃö³¹¸`¥[¥H»¡©ú¡C
  2. ¥Ñ¥Î¤áºÝªº JavaScript ¶i¦æ³]©w¡G¦¹³¡¤À¬O¸g¥Ñ¥Î¤áºÝªº JavaScript ¨Ó¶i¦æ³]©w¡A½Ð¨£¥»³¹²Ä¤@¸`¤Î²Ä¤G¸`ªº»¡©ú¡C¡C
¥t¥~¡A·íÂsÄý¾¹¹ï¦øªA¾¹¯Á¨úºô­¶®É¡A¤]·|±aµÛªíÀY¸ê°T¡AºÙ¬° HTTP Requst Header¡A³o³¡¤À¤]·|¥]§t»P¦¹ºô­¶¬ÛÃöªº Cookie ªº¸ê°T¡A©Ò¥H¦øªA¾¹ºÝ¤]¥i¥H¥ß¨èª¾¹D»P¦¹ºô­¶¬ÛÃöªº Cookie ¸ê°T¡A¨Ò¦p¤§«eªº«ô³X¦¸¼Æ©ÎÁʶR¶µ¥Ø¡Aµ¥µ¥¡C¦]¦¹§Ú­Ì¥i¥H¹ï Cookie ¹ïºô­¶ªº§@¥ÎÁ`µ²¦p¤U¡G ¸Ô²Ó¬yµ{¥i¨£¦¹¡uexample/Cookie³]©w¬yµ{»¡©ú.ppt¡v¡C

Example¡]Cookie³]©w¬yµ{»¡©ú.ppt¡^¡G

Hint
¦³Ãö Request ¤Î Response¡A·|¦b ASP ¬ÛÃö³¹¸`¶i¦æ»¡©ú¡C


JavaScript µ{¦¡³]­p»PÀ³¥Î¡G¥Î©óºô­¶¥Î¤áºÝ