´¿¤¸Åã / Yuen-Hsien Tseng
»²¤¯¤j¾Ç¹Ï®Ñ¸ê°T¾Ç¨t
Email: tseng@blue.lins.fju.edu.tw
¤¤°ê¹Ï®ÑÀ]¾Ç·|·|°T 107 ´Á
http://blue.lins.fju.edu.tw/~tseng/papers/lacz3950-2.htm
Oct. 27, 1997
Accessed times
³ü¡B«e¨¥
¦b·|°T104´Á¤¤§ÚÌ´¿¤¶²Ð¹LIsite
Z39.50¦øªA¾¹ªº¨t²Î¬[ºc¥H¤Î¹ê»Ú¬[³]ªº±¡ªp
[1]¡A¤å¤¤´£¨ì¦¹¨t²Î¥Ø«eªº¥¿¦¡ª©¥»¡]1.8ª©¡^ÁÙ¦³¤@¨Ç¿ù»~¡]bugs¡^¡A¨Ï±o¾ãÓ¨t²Î¹B§@¨Ã¤£¶¶ºZ¡C¨ä³Ì·sªºª©¥»¡]2.0ª©¡^¤@ª½³£ÁÙ¦b¦b´ú¸Õ¶¥¬q¡AÁöµM¥i¥H¹ê»Ú¦w¸Ë¨Ï¥Î¡A¦ý¬OÁÙ¨S¦³¥¿¦¡ªº¦w¸Ë»P¨Ï¥Î»¡©ú¤å¥ó¥i¨Ñ°Ñ¦Ò¡A¨Ï¥ÎªÌ¥²¶·¾ÌÂǹL¥h¦w¸Ë¥ý«eª©¥»ªº¸gÅç¡A¤~¯à¥[¥H¹B¥Î¡C¦]¦¹¡A¥»¤å¤£¹ï·sªº´ú¸Õª©¥»°µ³ø¾É¡A¦ÓµÛ«¦b¥¿¦¡ª©¥»°ÝÃD¸Ñ¨Mªº»¡©ú¡A´Á¨ÏŪªÌ¹ï¥¿¦¡ª©¥»¦³§ó²`ªº»{ÃÑ¡A¦Ó¯à¦Û¦æ¸Õ¥Î·sªºª©¥»¡C
¥»¤å©Ò¤¶²Ðªº Z39.50 ³nÅé¬O¥Ñ¬ü°êºô¸ô¸ê°Tµo±¸»PÀ˯Á¤¤¤ß
¡]CNIDR, Clearinghouse for Networked
Information Discovery and Retrieval¡^©Òµo®iªº
Isite ¸ê°T¨t²Î [2]¡C¦³Ãö¥»¨t²Î»PZ39.50ªºI´º¤¶²Ð¡A½Ð°Ñ¾\«e¤å¡A³o¸Ì¶È«½Æ¤@¨Ç¥²n©Êªº»¡©ú¡C
Isite ³nÅé¥Ø«eªº¥¿¦¡ª©¥»¬° 1.08 ª©¡A¥i±qCNIDRªº FTP¯¸¤W¨ú±o¡Gftp://ftp.cnidr.org/pub/NIDR.tools/Isite/¡C§Ú̦w¸Ë¦¹ª©¥»¾D¹Jªº°ÝÃD¡A¦b©ó³z¹LWWW³s½uIsite ¬d¸ß¦Û«Øªº¸ê®Æ®w®É¡A¨äÀ˯Áµ²ªGªºÅã¥Ü¡A¦³¿òº|¤£§¹¾ãªº±¡ªp¡C§Ú̧Q¥Î´»°²´Á¶¡³z¹L¹ïì©lµ{¦¡ªº°lÂÜÁA¸Ñ¡A±N¨ä§ó¥¿¸Ñ¨M¡C¬°¸ÑÄÀ³o¨Ç±¡ªp¡A©³¤U±N¥ý¤¶²Ð¦p¦óÅý¦Û«Øªº¸ê®Æ®w¡A³z¹LIsite¸ê°T¨t²Î´£¨Ñ³s½u¬d¸ß¡C
¶L¡BIsite»P¦Û«Ø¸ê®Æ®wªº³sµ²
Isite¸ê°T¨t²Î¬[ºc¦p¹Ï¤@©Ò¥Ü¡A¥i³sµ²Isite¥»¨ªº¸ê®Æ®w¡A¤]¥i³sµ²¦w¸Ë¤Hû¦Û¦æ«Ø¥ßªº¸ê®Æ®w¡C¥Ø«e
Isite ¨t²Î¤ºªþ¦³¤@®M^¤åªº¥þ¤åÀ˯Áµ{¦¡
Isearch¡A¥i¥Î¥HÀ˯Á HTML¡BSGML¡B¥H¤ÎµLµ²ºc©Ê¤å¦rÀÉ®×µ¥¦hºØ¤å¥ó®æ¦¡¡C¨Ï¥ÎªÌ¤]¥i¥H±N¤w¦³ªº¸ê®Æ®w¡]¦p®Ñ¥Ø¸ê®Æ¡^±µ¤W¡A¨Ï¨ä¨ã³Æ
Z39.50 À˯Á¼Ð·Çªº¤¶±¡C³o³¡¥÷ªº³sµ²¥i³z¹L
Isite ¨îqªºÀ˯ÁÀ³¥Îµ{¦¡¤¶± SAPI¡]Search
Application Programming Interface¡^¹F¦¨¡C¥un¨Ï¥ÎªÌ¦Û«Øªº¸ê®Æ®wªºÀ˯Á¤ÞÀº¨ä¿é¥X»P¿é¤J²Å¦X¦¹¤¶±ªº³W©w¡A¦A¥[¤W¹ï²ÕºAÀÉ¡]zserver.ini
»P sapi.ini¡^¾A·íªº³]©w¡A§Y¥i¦¨¥\³s±µ
zserver ¦øªA¾¹¡C
¹Ï¤@Åã¥Ü¨Ï¥ÎªÌ¥i³z¹LÂsÄý¾¹³s¤WWWW¦øªA¾¹¡A¦A³z¹Lzgate
»Pzcon¨â¤ä¤¶±µ{¦¡³s¤Wzserver
Z39.50¦øªA¾¹¡Azserver¦øªA¾¹¦A³z¹LSAPI¤¶±©I¥sÀ˯Á¤ÞÀº¡AÀ˯Á¤ÞÀº±N¬d¸ß¸ê®Æ®wªºµ²ªG¦^³øµ¹zserver¦øªA¾¹¡Azserver¦A±Nµ²ªG¶Çµ¹zcon»Pzgateµ{¦¡¡A³z¹L¥ḺNµ²ªG¶Çµ¹WWW¦øªA¾¹«á¡A¥ÑWWW¦øªA¾¹¶Ç¸ê®Æµ¹¨Ï¥ÎªÌ¡C¦b³o¨Çµ{¦¡·í¤¤zgate¬O¤@¤äCGI¡]Common
Gateway Interface¡^µ{¦¡ [3]¡At³d»PWWW¦øªA¾¹ªº³sµ²¡A¦Ózcon¤]¬O¤@¤ä¤¶±µ{¦¡¡At³d»P¤£¦P¨Ï¥ÎªÌªº³sµ²
[1]¡C¹Ï¤@¤¤µê½u¤ºªºµ{¦¡»PÀɮ׳£¥ÑIsite¨t²Î´£¨Ñ¡A¦]¦¹ÅªªÌ¥un·Ç³ÆWWW¦øªA¾¹
[4]¡B¦Û«Øªº¸ê®Æ®w¡B¥H¤Î¨äÀ˯Á¤ÞÀº§Y¥i¡C
°²³]¦Û«Ø¸ê®Æ®wªº¦WºÙ¬°MyDB, À˯Á¦¹¸ê®Æ®wªºÀ˯Á¤ÞÀº¬°MySearch¡A«h«Ø¥ßzserver¦øªA¾¹»P¦Û«Ø¸ê®Æ®wªº³sµ²¨BÆJ¦p¤U¡G
¤@¡Bקï²ÕºAÀÉzserver.ini¥H¤Îsapi.iniªº³]©w¨Ã±N²ÕºAÀÉ©ñ¸m¦b¾A·íªº¥Ø¿ý¤U¡A¨ÏzserverÁA¸Ñ¨ì¨º¸Ì©I¥sMySearchÀ˯Áµ{¦¡¡A¥H¤Î¨ì¨ºÓÀÉ®×®³¨úÀ˯Áµ²ªG¡C
¤G¡BקïMySearchÀ˯Á¤ÞÀº¸ê®Æ¿é¤J»P¿é¥Xªº®æ¦¡¤Î¬y¦V¡]©Î¼¶¼g³q¹Dµ{¦¡ (gateway) ¥Î¥H©I¥sMySearch¥H¤ÎקïMySearchªº¿é¥X®æ¦¡¤Î¬y¦V¡^¡C
¤T¡Bקïgateway.html»Psearch.html¨âӨϥΪ̪º¤¶±ÀÉ¡A¨Ã¦w¸m¦bWWW¦øªA¾¹¥i¥H¨ú¥Îªº¦a¤è¡AÅý¨Ï¥ÎªÌ¥i¥H³z¹LWWW¤¶±¥s¥Î¡C
¨BÆJ¤@¤¤ªºzserver.ini²ÕºAÀÉ¡A¥²¶·×§ï¨âÓ¦a¤è¡G¤@¬O±N¡uPort=6668¡v§ï¦¨¡uPort=210¡v¡A·N«ä¬O±Nzserverªº³q°T°ð¥Ñ´ú¸Õ³q°T°ð§ï¨ì³W©wªº¼Ð·Ç³q°T°ð¤W¡F¥t¤@Ó¦a¤è¬O¦b¡uDBList=TestDB¡v¥[¤J¦Û«Ø¸ê®Æ®wªº¦WºÙ¡uDBList=TestDB,MyDB¡v¡A·N«ä¬O§i¶Dzserver¦øªA¾¹¨t²Î¤º¦h¤F¤@Ó¦W¬°MyDBªº¸ê®Æ®w¡C¥t¤@Ó²ÕºAÀÉsapi.ini«h¦P¼Ë¥²¶·×§ï¡uDBList=TestDB¡v¨Ï¦¨¬°¡uDBList=TestDB,MyDB¡v¡A¥t¥~ÁÙn¥[¤J¤@¬q´yz¦p¤U¡G
[MyDB]
Type=SCRIPT
Location=/httpd/cgi-bin/MySearch
Results=/tmp/results
·N«ä¬O¦³¤@Óµ{¦¡MySearch¥i¥H³z¹LSAPI©I¥s¡A¨ä¦ì¸m¦b¡u/httpd/cgi-bin/MySearch¡v¡A¦¹µ{¦¡ªºµ²ªG·|©ñ¦b¡u/tmp¡v¥Ø¿ý©³¤U¥Hresults¬°ÀɦW¶}ÀYªºÀɮפº¡C
¨BÆJ¤G¤¤¡Azserver·|±NÂsÄý¾¹ºÝ¶Ç¨ÓªºÀ˯Á±ø¥ó¡G¡u¦r¦ê¤@[ÄÝ©Ê,È] ¦r¦ê¤G[ÄÝ©Ê,È] …}¡v¡A¥H©R¥O¦C©I¥sªº¤è¦¡¥s¥ÎMySearch¡A§Y¡G
$/usr/bin/MySearch /tmp/results.<pid> ¦r¦ê¤@[ÄÝ©Ê,È] ¦r¦ê¤G[ÄÝ©Ê,È] …}
¨ä¤¤ <pid> ¬Ozserverµ¹©w¥Î¥HÃѧO¨Ï¥ÎªÌªº¸¹½X¡C©Ò¥HMySearch¥i¥H±q©R¥O¦C¤¤Àò±o¤£¦P¨Ï¥ÎªÌªº¬d¸ß¦r¦ê¡A¬d¸ß§¹²¦«á¡A±Nµ²ªG¼g¨ì /tmp/results.<pid> ÀÉ®×¥h¡Azserver´N¥i¥Ñ¦¹ÀÉ®×Ū¨ì¬d¸ßªºµ²ªG¡A°e¦^µ¹´£¥X¦¹¶µ¬d¸ßªº¨Ï¥ÎªÌ¡CMySearch±Nµ²ªG¼g¨ì /tmp/results.<pid> ®É¡A¥²¶·¿í¦u¤U¦C®æ¦¡¡G
[Default]
HitCount=3
Diagnostic=0
Separator=##separator string - your choice ##
[Data]
Record data for record number 1
##separator string - your choice ##
Record data for record number 2
##separator string - your choice ##
Record data for record number 3
¦¹ÀɮפÀ¬°¨â¬q¡A¨ä¤¤ [Data] ¬q¬O¦s©ñÀ˯Áµ²ªGªº¦a¤è¡A¦Ó
[Default] ¬q«h¬O³]©wÅܼƪº¦a¤è¡A¨ä¤¤HitCount¬OÀ˯Áµ²ªGªºµ§¼Æ¡A¦ÓDiagnosticªºÈY¬°0ªí¥ÜÀ˯Á¦¨¥\¡AY¬°1ªí¥ÜÀ˯Á¥¢±Ñ¡A¦Ü©óSeparator
ªí¥Ü¨Ï¥ÎªÌ¥i¥H¦Û¦æ©w¸qªº¤À¹j¦r¦ê¡A¨Ã¤£¤@©w¬O¥»¨Ò¤¤ªº²Å¸¹¡C
¨BÆJ¤T«h¬O³]©w¨Ï¥ÎªÌ¤¶±ÀÉ¡Cgateway.htmln§ïªº¦a¤è¦³¤GÓ¡G¤@¬O±N
<form name="POST" action="http://localhost/cgi-bin/zgate">
¤¤ªºlocalhost§ï¦¨ÅªªÌªº¥D¾÷¦ì§}¡A¦p
<form name="POST" action="http://lib.fju.edu.tw/cgi-bin/zgate">
²Ä¤GÓ¦a¤è¬O±N
<OPTION VALUE="/httpd/htdocs/search.html", localhost, 6668>TestDB
§ï¦¨
<OPTION VALUE="/httpd/htdocs/search.html", lib.fju.edu.tw, 210>MyDB
gateway.htmlªº¥Dn¥Øªº¡A¬OÅý¨Ï¥ÎªÌ¿ï¾Ü¤@Ó¾A·íªº¸ê®Æ®w³s½u¡A©Ò¥H¤Wz¨BÆJ¬O±NMyDBÅã¥Ü¦bºô¶¤¤¨Ñ¨Ï¥ÎªÌ¬D¿ï¡AµM«á¥H³q°T°ð210³s¤Wzserver¨Ã¶i¤J¤U¤@Óºô¶search.html¤¤¡C¦bsearch.html¤¤nק諸³¡¥÷¬O±N
<form name="POST"
action="http://localhost/cgi-bin/zgate">
<input type=hidden name="host"
value="localhost">
<input type=hidden name="port"
value="6668">
<input type=hidden name="DBNAME"
value="TestDB">
§ï¦¨
<form name="POST"
action="/cgi-bin/zgate">
<input type=hidden name="host"
value="Your-Host-address">
<input type=hidden name="port"
value="210">
<input type=hidden name="DBNAME"
value="MyDB">
¨ä¤¤hostªºÈ¬O¦øªA¾¹¥D¾÷ªº¦ì§}¡C
§¹¦¨¥H¤W¨BÆJ¨Ã±N¦UÓÀɮ׫þ¨©¨ì¾A·íªº¥Ø¿ý«á¡A±Ò°ÊWWW¦øªA¾¹»PZ39.50¦øªA¾¹¡A¨t²Î´N¥i±µ¨ü¨Ï¥ÎªÌªº³s½u¬d¸ß¤F¡C
°Ñ¡BIsite¿ù»~ªº§ó¥¿
¦p«e©Òz¡A³z¹LWWW³s½uIsite ¬d¸ß¦Û«Øªº¸ê®Æ®w®É¡A¨äÀ˯Áµ²ªGªºÅã¥Ü¦³¿òº|¤£§¹¾ãªº±¡ªp¡C¦p¹Ï¤G¡]¤@¡^¬O¨Ï¥ÎªÌ¬d¸ß¤¶±¡A¨Ï¥ÎªÌ¿ï¾Ü¨C¶Åã¥Ü¤Tµ§µ²ªG¡A¹Ï¤G¡]¤G¡^À˯Áµ²ªGªº²Ä¤@¶¥i¥H¥¿½TÅã¥Ü¡A¦ý½¤U¤@¶«á¹Ï¤G¡]¤T¡^´NÅã¥ÜµLªk¥Ñ¦¹¦A½¤U¤@¶¡C¦¹°ÝÃD¬Ý¦üµ{¦¡ªº¨Ç³\ÅÞ¿è¿ù»~¡A¦ýµLªk¥¿½Tªº¤@¶¤@¶ÂsÄýµ²ªG«o¬O¨Ï¥ÎªÌ¬Û·í¤jªº§xÂZ¡C¸g¹L¹ïì©lµ{¦¡½Xªº°lÂܲz¸Ñ«á¡A§Ú̵o²{¦³¤TÓ³¡¥÷nקï¡A¤~¯à¨ÏÅã¥Üªºª¬ªp«e«á¤@P¡C¦¹¤TÓ³¡¥÷³£µo¥Í¦bIsite¨t²Î©Ò¦b¥Ø¿ýªº¤l¥Ø¿ýzdistªºì©lµ{¦¡ÀÉzcon.cxx¤º¡C²Ä¤@Ó³¡¥÷¬O±Nzcon.cxxÀÉ®×285¦æ¤Î340¦æªº
fprintf(fp, "<input name=\"ESNAME\" value=\"B\" type=\"HIDDEN\">");
§ï¦¨
fprintf(fp, "<input name=\"ESNAME\" value=\"F\" type=\"HIDDEN\">");
²Ä¤G³¡¥÷¬O±N307¦æ¡B334¦æ¥H¤Î346¦æµù¸Ñ°_¨Ó¡]§Y¦b¸Ó¦æªº³Ì«e±´¡¤JC++ªºµù¸Ñ²Å¸¹¡G¡u//¡v¨âÓ¥k±×½u¡^¡AÅý¥LÌÅܦ¨¤£¥i°õ¦æªº±Ôz¡C²Ä¤TÓ³¡¥÷«h±N277¦æ»P331¦æªº¦r¦ê¡G¡uMore
on this record¡v§R°£¡A¨ä¾l¤£°Ê¡C¦p¦¹×§ï«á¡A«·s½sĶµ{¦¡¡A±N½sĶ«áªº¥i°õ¦æµ{¦¡zcon«þ¨©¨ìWWWªºCGIµ{¦¡¥Ø¿ý¤U§Y¥i¡Cקï«áªº¨t²Î¹B§@±¡ªp§Y¥i¦p¹Ï¤T¡]¤@¡^»P¹Ï¤T¡]¤G¡^Åã¥Ü¥¿½Tµ²ªG¤F¡C
µ²»y
¥Ø«e Isite ªº
1.08 ª©ÁÙ¨S¯à§¹¥þ²Å¦X Z39.50 ªº³W©w¡A·sª©¥»
2.0 ª©¤w´ú¸Õ¶W¹L¥b¦~¡A§ÚÌ´¿¦bLinux¨t²Î¤W´ú¸Õ·sª©¥»ªº¦w¸Ë¡A¥i±¤¥¼¯à¦¨¥\¡C¦pªG¦³¾÷·|¡B¦³§ó¦hªº®É¶¡¯à¦b¤£¦PªºUnix
ª©¥»¤W´ú¸Õ¡AÀ³¸Ó¥i¥H¦w¸Ë¨Ã¦¨¥\¬[³]°_·sª©ªºZ39.50¦øªA¾¹¡C
°Ñ¦Ò¸ê®Æ
[1] ´¿¤¸Åã¡A"¬[ºc¤@Ó WWW ¤Wªº Z39.50 ¦øªA¾¹"¡A¤¤°ê¹Ï®ÑÀ]¾Ç·|·|°T¡A5¨÷1´Á¡]104¡^¡A85¦~3¤ë31¤é¡CAlso available at http://blue.lins.fju.edu.tw/~tseng/papers/lacz3950.htm
[2] CNIDR resources for information discovery and retrieval, http://www.cnidr.org/ir/ir.html
[3] ´¿¤¸Åã¡A"¼W¥[ Home Page ªº¤¬°Ê©Ê-- CGI µ{¦¡»P¸ê®Æ®wªº¹B¥Î"¡A¤¤°ê¹Ï®ÑÀ]¾Ç·|·|°T¡A4¨÷2´Á¡]101¡^¡A85¦~6¤ë31¤é¡CAlso available at http://blue.lins.fju.edu.tw/~tseng/cgi.htm
[4] ´¿¤¸Åã¡A"¬[Ó
WWW ¦øªA¾¹"¡A
¤¤°ê¹Ï®ÑÀ]¾Ç·|·|°T¡A4
¨÷
1 ´Á¡]100¡^¡A85
¦~
3 ¤ë
31 ¤é¡A¶57-60¡C