libwww
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

Contents

1 ¼Ò°³
2 ¼³Ä¡
3 »ç¿ë
3.1 ÄÄÆÄÀÏ Å×½ºÆ®
4 libwww ±¸¼º
4.1 ±âº» µðÀÚÀÎ
5 ¼ÀÇà ÄÚµå

1 ¼Ò°³

libwww(12)´Â W3C(12)¿¡¼­ ¹èÆ÷ÇÏ´Â ¶óÀ̺귯¸®·Î Unix¿Í Windows¿¡¼­ »ç¿ë°¡´ÉÇÑ Client Web API(12)¸¦ Á¦°øÇÑ´Ù. ÀÌ ¶óÀ̺귯¸®´Â À¥ ºê¶ó¿ìÀú/¿¡µðÅÍ, ·Îº¿, ¹èġŸµî¿¡ ³Î¸® »ç¿ëµÇ°í ÀÖ´Ù. HTTP/1.1 ÀÇ ±â¼ú(caching, pipelining, PUT, POST, Digest Authentication, deflate...)À» ¿Ïº®ÇÏ°Ô Áö¿øÇϰí ÀÖ´Ù.

¹®¼­¸¦ ¸¸µé°Ô µÈ ÀÌÀ¯´Â Joinc Search ¿£ÁøÇÁ·ÎÁ§Æ®ÀÇ Áö¿øÀ» À§ÇÔÀÌ´Ù. libwww´Â HTTP±â¹ÝÀÇ Á¤º¸¸¦ ó¸®Çϱâ À§ÇÑ ¸ñÀûÀ¸·Î »ç¿ëÇÒ °ÍÀ̸ç, À̸¦ Áß½ÉÀ¸·Î ¹®¼­¸¦ ±â¼úÇØ ³ª°¡µµ·Ï ÇϰڴÙ.

2 ¼³Ä¡

¼³Ä¡´Â Linux(12) fedora(12) ¹èÆ÷ÆÇÀ» ±âÁØÀ¸·Î ÇÑ´Ù.

¾Æ¸¶µµ ÇÊ¿äÇÑ ÆÐŰÁö´Â ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖÀ» °ÍÀÌ´Ù. ´ÙÀ½ÀÇ ÆÐŰÁö°¡ ÀÖ´ÂÁö È®ÀÎÇØ º¸µµ·Ï ÇÑ´Ù.
  • w3c-libwww
  • w3c-libwww-devel
¼Ò½º¸¦ Á÷Á¢ ¼³Ä¡ÇÏ±æ ¿øÇÑ´Ù¸é http://www.w3.org/Library ¸¦ ¹æ¹®Çϱ⠹ٶõ´Ù.

3 »ç¿ë

3.1 ÄÄÆÄÀÏ Å×½ºÆ®

ÀÏ´Ü ÄÄÆÄÀÏ Å×½ºÆ®¸¦ ÇØº¸µµ·ÏÇÑ´Ù. Å×½ºÆ®¸¦ À§Çؼ­ °£´ÜÇÑ Äڵ带 ¸¸µé¾î º¸¾Ò´Ù.
#include <stdio.h> 
#include <sys/types.h> 
#include <sys/socket.h> 
#include <netdb.h> 
#include <WWWLib.h> 
 
 
int main() 
{ 
  HTLibInit("TestApp", "1.0"); 
  HTLibTerminate(); 
  return 0; 
} 
 

´ÙÀ½Àº À§ÀÇ Äڵ带 ÄÄÆÄÀÏ Çϱâ À§ÇÑ makefileÀÌ´Ù.
############################################################################# 
# Makefile for building sample 
# Generated by tmake at 20:01, 2006/01/09 
#     Project: sample 
#    Template: app 
############################################################################# 
 
####### Compiler, tools and options 
 
CC    =    gcc 
CXX    =    g++ 
CFLAGS    =    -pipe -Wall -W -O2  
CXXFLAGS=    -pipe -Wall -W -O2 
INCPATH    =    -I/usr/include/w3c-libwww 
LINK    =    g++ 
LFLAGS    =     
LIBS    =    -L/usr/lib -lwwwcore -lwwwutils 
 
TAR    =    tar -cf 
GZIP    =    gzip -9f 
 
####### Files 
 
HEADERS =     
SOURCES =    sample.c 
OBJECTS =    sample.o 
INTERFACES =     
UICDECLS =     
UICIMPLS =     
SRCMOC    =     
OBJMOC    =     
DIST    =     
TARGET    =    sample 
INTERFACE_DECL_PATH = . 
 
####### Implicit rules 
 
.SUFFIXES: .cpp .cxx .cc .C .c 
 
.cpp.o: 
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< 
 
.cxx.o: 
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< 
 
.cc.o: 
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< 
 
.C.o: 
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< 
 
.c.o: 
    $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< 
 
####### Build rules 
 
 
all: $(TARGET) 
 
$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC)  
    $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) 
 
dist: 
    $(TAR) sample.tar sample.pro $(SOURCES) $(HEADERS) $(INTERFACES) $(DIST) 
    $(GZIP) sample.tar 
 
clean: 
    -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) 
    -rm -f *~ core 
 
####### Sub-libraries 
 
 
###### Combined headers 
 
 
####### Compile 
 
sample.o: sample.c 
 

4 libwww ±¸¼º

Libwww´Â À¥ Ŭ¶óÀÌ¾ðÆ® ¾ÖÇø®ÄÉÀ̼ÇÀ» ÀÛ¼ºÇϱâ À§ÇÑ ±âº»ÀûÀÎ ¿©·¯°¡Áö ÇÔ¼öµéÀ» Á¦°øÇÑ´Ù. ÀÌ ¶óÀ̺귯¸®ÀÇ °¡Àå Áß¿äÇÑ ±â´ÉÀº ´Ù¾çÇÑ ÀÎÅÍ³Ý ¼­ºñ½º- HTTP(12), FTP(12), Gopher(12).. -¸¦ Á¦°øÇÏ´Â ¿ø°ÝÁö ¼­¹ö¿¡ ¿¬°áÇØ¼­ (Çʿ信 µû¶ó ·ÎÄÃÆÄÀÏ), µ¥ÀÌÅ͸¦ ÀÔÃâ·ÂÇϰí ÇØ¼®ÇÏ´Â °ÍÀÌ´Ù.

Libwww´Â C·Î ÀÛ¼ºµÇ¾úÀ¸¸ç ¸ðµç Á¾·ùÀÇ Unix(12)¿Í Windows(12), Mac(12)¿¡¼­ »ç¿ë°¡´ÉÇÏ´Ù.

ºñ·Ï °´Ã¼ÁöÇâ ¸ðµ¨À» Áö¿øÇÏÁö ¾Ê´Â C·Î ÀÛ¼ºµÇ¾úÁö¸¸, °´Ã¼ÁöÇâÀûÀ¸·Î ÁöÇâÀûÀ¸·Î ¼³°èµÇ¾î ÀÖ´Ù.

4.1 ±âº» µðÀÚÀÎ

libwww´Â ¸Å¿ì È®ÀåÀÌ ¿ëÀÌÇÏ°Ô µÇ¾î ÀÖÀ¸¸ç, ÇöÀç °ø°³µÇ¾î Àִ ǥÁØÀûÀÎ ÀÎÅͳݼ­ºñ½º»Ó¸¸ ¾Æ´Ï¶ó »õ·Î¿î ÀÎÅͳݼ­ºñ½º¸¦ À§ÇÑ ¸ðµâµµ plug-in ¹æ½ÄÀ¸·Î ¶óÀ̺귯¸®ÀÇ ÁÖ¿äºÎºÐÀÇ Àç ÄÚµù¾øÀÌ °³¹ßÇÒ ¼ö ÀÖ´Â ±¸Á¶¸¦ Á¦°øÇÑ´Ù. ÀÌ´Â dynamic linkingÀ» ÀÌ¿ëÇÔÀ¸·Î½á °¡´ÉÇØÁö´Âµ¥, ÇÁ·Î±×·¥ÀÇ ½ÇÇà½Ã°£¿¡ ȤÀº ½ÇÇàÁß¿¡¶óµµ ÇÊ¿äÇÑ È®ÀåÀÌ °¡´ÉÇϵµ·Ï µÇ¾î ÀÖ´Ù. ÀÌ´Â ÄÚµåÀÇ À̵¿¼ºÀ» Çâ»ó½ÃÄÑÁÖ¸ç, ¾ÖÇø®ÄÉÀ̼ÇÀÌ ÇÊ¿ä·Î ÇÏ´Â ±â´ÉÀÌ Ãß°¡µÇ¾úÀ» ¶§, ÀÎÅͳÝÀ» ÅëÇØ¼­ ÇÊ¿äÇÑ ¸ðµâ¸¸ ´Ù¿î·Îµå ¹Þ¾Æ¼­ °£´ÜÈ÷ ±â´ÉÀ» È®Àå ½Ãų ¼ö ÀÖµµ·Ï µµ¿ÍÁØ´Ù.

Design.gif

À§ÀÇ ±×¸²Àº libwww°¡ ¾î¶°ÇÑ °èÃþÀ» °¡Áö°í ÀÖ´ÂÁö¸¦ º¸¿©ÁØ´Ù. ÀÌ·¯ÇÑ °èÃþÀû ±¸Á¶·Î coreÀÌÇÏÀÇ °èÃþÀ» ¼öÁ¤ÇÏÁö ¾Ê°íµµ, ÇÊ¿äÇÑ ±â´ÉÀ» Ãß°¡½Ãų ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. ´ÙÀ½Àº °¢°èÃþµéÀÌ °¡Áö°í ÀÖ´Â Áß¿ä ¸ðµâ¿¡ °üÇÑ ¼³¸íÀÌ´Ù.

  • Generic Utilities
    container Ŭ·¡½º, ½ºÆ®¸µ À¯Æ¿¸®Æ¼, ³×Æ®¿öÅ© À¯Æ¿¸®Æ¼¿Í °°Àº ÀϹÝÀûÀÎ À¯Æ¿¸®Æ¼ ¸ðÀ½À» Á¦°øÇÑ´Ù. ÀÌ °èÃþÀº »óÀ§°èÃþ°ú ¿ÏÀüÈ÷ ºÐ¸®µÇ¾î ÀÖÀ¸¸ç, ¸¹Àº macro(12)¸¦ ÅëÇÏ¿©¼­ Ç÷§Æû¿¡ °ü°è¾øÀÌ °£ÆíÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ±¸¼ºµÇ¾î ÀÖ´Ù. ¶ÇÇÑ libwww»Ó¸¸ ¾Æ´Ï¶ó ´Ù¸¥ ¸¹Àº ³×Æ®¿öÅ© ÀÀ¿ëÀ» À§Çؼ­µµ ½±°Ô Àç»ç¿ëÀÌ °¡´ÉÇϵµ·Ï ¸ðµâÈ­ µÇ¾îÀֱ⵵ ÇÏ´Ù.

  • Core
    ¶óÀ̺귯¸®ÀÇ ±âÃʰ¡ µÇ´Â ¿µ¿ªÀÌ´Ù. ³×Æ®¿öÅ©¸¦ ¿¬°áÇϰí, µ¥ÀÌÅÍ °´Ã¼¸¦ ÆÄ½ÌÇϰí, ·Î±ëÀ» ³²±â°í, À¯ÀúÀÇ ÀÔÃâ·ÂÀ» Á¦¾îÇϱâ À§ÇÑ ¸¹Àº ÇÔ¼öµéÀ» Á¦°øÇÑ´Ù.

  • Stream Module
    ¾ÖÇø®ÄÉÀ̼ǰú ³×Æ®¿öÅ© »çÀÌ¿¡ Åë½ÅµÇ´Â ¸ðµç µ¥ÀÌÅ͸¦ ½ºÆ®¸²°´Ã¼·Î ¸¸µé°í À̸¦ ó¸®ÇÑ´Ù. ½ºÆ®¸²°´Ã¼´Â ¹®ÀÚÀÇ ÁýÇÕÀ¸·Î ÀÌ·ç¾îÁö´Â °´Ã¼ÀÌ´Ù. ANSC C FILEÀÇ ½ºÆ®¸²°ú ¸Å¿ì À¯»çÇÏ°Ô ´Ù·é´Ù. ÀÌ·¯ÇÑ ¹®ÀÚÀÇ ÁýÇÕÀº º¸Åë ÀÛÀº ¸î°³ÀÇ ¹®ÀÚ·Î ´Ù·ç¾îÁöÁö¸¸, ¼º´ÉÀ» À§Çؼ­ Å« ¹®ÀÚÀÇ ÁýÇÕÀ¸·Î 󸮸¦ ÇÑ´Ù.

  • Access Modules
    ÀÎÅÍ³Ý ÇÁ·ÎÅäÄݰú °ü·ÃµÈ ¸ðµâ·Î½á, ´Ù¾çÇÑ ÀÎÅͳݼ­ºñ½ºÀÇ ÇÁ·ÎÅäÄÝÀ» ´Ù·ç±â À§ÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ÀÛ¼ºÀ» µµ¿ÍÁØ´Ù. libwww´Â ±âº»ÀûÀ¸·Î HTTP, FTP, Gopher, WAIS, NNTP, Telnet, rlogin, TN3270 µîÀ» ´Ù·ç±â À§ÇÑ ¸ðµâµéÀ» Á¦°øÇÑ´Ù. Çʿ信 µû¶ó ´Ù¸¥ ÇÁ·ÎÅäÄÝÀ» ó¸®Çϱâ À§ÇÑ ¸ðµâÀ» Ãß°¡ÇÒ ¼öµµ ÀÖ´Ù.

  • Application Module
    ¾ÖÇø®ÄÉÀÌ¼Ç ¸ðµâÀº Ŭ¶óÀÌ¾ðÆ® ¾ÖÇø®ÄÉÀ̼ÇÀÇ Á¦ÀÛÀ» À§ÇØ ÇÊ¿äÇÑ history ¸ñ·Ï °ü¸®, ÄݹéÇÔ¼ö, ·Î±ëµî°ú °°Àº À¯Àú ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÑ´Ù.

¿©·¯ºÐÀº access module, stream module, application module¸¦ ÀÌ¿ëÇØ¼­ ´ëºÎºÐÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀ» ÀÛ¼ºÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

5 ¼ÀÇà ÄÚµå

 
À̸§
Á¦¸ñ
º¯°æÀÏ
Å©±â
2007/01/09 11:46
1711
2007/01/09 11:46
4157
2007/01/09 11:46
933

EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.