국가별 도메인 XD

ETC 2009/12/01 17:59
AD Andorra
AE United Arab Emirates
AF Afghanistan
AG Antigua and Barbuda
AI Anguilla
AL Albania
AM Armenia
AN Netherlands Antilles
AO Angola
AQ Antarctica
AR Argentina
AS American Samoa
AT Austria
AU Australia
AW Aruba
AZ Azerbaijan
BA Bosnia and Herzegovina
BB Barbados
BD Bangladesh
BE Belgium
BF Burkina Faso
BG Bulgaria
BH Bahrain
BI Burundi
BJ Benin
BM Bermuda
BN Brunei Darussalam
BO Bolivia
BR Brazil
BS Bahamas
BT Bhutan
BV Bouvet Island
BW Botswana
BY Belarus
BZ Belize
CA Canada
CC Cocos (Keeling) Islands
CF Central African Republic
CG Congo
CH Switzerland
CI Cote D'Ivoire (Ivory Coast)
CK Cook Islands
CL Chile
CM Cameroon
CN China
CO Colombia
CR Costa Rica
CS Czechoslovakia (former)
CU Cuba
CV Cape Verde
CX Christmas Island
CY Cyprus
CZ Czech Republic
DE Germany
DJ Djibouti
DK Denmark
DM Dominica
DO Dominican Republic
DZ Algeria
EC Ecuador
EE Estonia
EG Egypt
EH Western Sahara
ER Eritrea
ES Spain
ET Ethiopia
FI Finland
FJ Fiji
FK Falkland Islands (Malvinas)
FM Micronesia
FO Faroe Islands
FR France
FX France, Metropolitan
GA Gabon
GB Great Britain (UK)
GD Grenada
GE Georgia
GF French Guiana
GH Ghana
GI Gibraltar
GL Greenland
GM Gambia
GN Guinea
GP Guadeloupe
GQ Equatorial Guinea
GR Greece
GS S. Georgia and S. Sandwich Isls.
GT Guatemala
GU Guam
GW Guinea-Bissau
GY Guyana
HK Hong Kong
HM Heard and McDonald Islands
HN Honduras
HR Croatia (Hrvatska)
HT Haiti
HU Hungary
ID Indonesia
IE Ireland
IL Israel
IN India
IO British Indian Ocean Territory
IQ Iraq
IR Iran
IS Iceland
IT Italy
JM Jamaica
JO Jordan
JP Japan
KE Kenya
KG Kyrgyzstan
KH Cambodia
KI Kiribati
KM Comoros
KN Saint Kitts and Nevis
KP Korea (North)
KR Korea (South)
KW Kuwait
KY Cayman Islands
KZ Kazakhstan
LA Laos
LB Lebanon
LC Saint Lucia
LI Liechtenstein
LK Sri Lanka
LR Liberia
LS Lesotho
LT Lithuania
LU Luxembourg
LV Latvia
LY Libya
MA Morocco
MC Monaco
MD Moldova
MG Madagascar
MH Marshall Islands
MK Macedonia
ML Mali
MM Myanmar
MN Mongolia
MO Macau
MP Northern Mariana Islands
MQ Martinique
MR Mauritania
MS Montserrat
MT Malta
MU Mauritius
MV Maldives
MW Malawi
MX Mexico
MY Malaysia
MZ Mozambique
NA Namibia
NC New Caledonia
NE Niger
NF Norfolk Island
NG Nigeria
NI Nicaragua
NL Netherlands
NO Norway
NP Nepal
NR Nauru
NT Neutral Zone
NU Niue
NZ New Zealand (Aotearoa)
OM Oman
PA Panama
PE Peru
PF French Polynesia
PG Papua New Guinea
PH Philippines
PK Pakistan
PL Poland
PM St. Pierre and Miquelon
PN Pitcairn
PR Puerto Rico
PT Portugal
PW Palau
PY Paraguay
QA Qatar
RE Reunion
RO Romania
RU Russian Federation
RW Rwanda
SA Saudi Arabia
Sb Solomon Islands
SC Seychelles
SD Sudan
SE Sweden
SG Singapore
SH St. Helena
SI Slovenia
SJ Svalbard and Jan Mayen Islands
SK Slovak Republic
SL Sierra Leone
SM San Marino
SN Senegal
SO Somalia
SR Suriname
ST Sao Tome and Principe
SU USSR (former)
SV El Salvador
SY Syria
SZ Swaziland
TC Turks and Caicos Islands
TD Chad
TF French Southern Territories
TG Togo
TH Thailand
TJ Tajikistan
TK Tokelau
TM Turkmenistan
TN Tunisia
TO Tonga
TP East Timor
TR Turkey
TT Trinidad and Tobago
TV Tuvalu
TW Taiwan
TZ Tanzania
UA Ukraine
UG Uganda
UK United Kingdom
UM US Minor Outlying Islands
US United States
UY Uruguay
UZ Uzbekistan
VA Vatican City State (Holy See)
VC Saint Vincent and the Grenadines
VE Venezuela
VG Virgin Islands (British)
VI Virgin Islands (U.S.)
VN Viet Nam
VU Vanuatu
WF Wallis and Futuna Islands
WS Samoa
YE Yemen
YT Mayotte
YU Yugoslavia
ZA South Africa
ZM Zambia
ZR Zaire
ZW Zimbabwe
COM US Commercial
EDU US Educational
GOV US Government
INT International
MIL US Military
NET Network
ORG Non-Profit Organization
ARPA Old style Arpanet
NATO Nato field

/**
 * @ 설명 : 현재 요청(Request)을 나타내는 구조체.

 */
struct request_rec {
    /** 풀과 관련된 요청*/
    apr_pool_t *pool;
    /** 연결된 클라이언트. */
    conn_rec *connection;
    /** 요청에 대한 가상 호스트 */
    server_rec *server;

    /** 다음 요청을 가리키는 포인터 더블 링크드 리스트*/
    request_rec *next;
    /** 이전 요청을 가리키닌 포인터 더블 링크드 리스트*/
    request_rec *prev;

    /** 만약 서브 요청이라면, 메인 요청를 가리킴.
     * (http_request.h을 보라.) */
    request_rec *main;

    /* 현재 요청에 대한 정보를 제공...we begin with stuff that only
     * protocol.c should ever touch...
     */
    /** 요청의 첫번째 줄. */
    char *the_request;
    /** HTTP/0.9, "simple" request (e.g. GET /foo\n w/no headers) */
    int assbackwards;
    /** 프록시 요청 (calculated during post_read_request/translate_name)
     *  사용되는 변수들 possible values PROXYREQ_NONE, PROXYREQ_PROXY,

     *  PROXYREQ_REVERSE, PROXYREQ_RESPONSE
     */
    int proxyreq;
    /** HEAD 요청, GET의 반대(?) */
    int header_only;
    /** 우리에게 주어진 프로토콜 문자열 또는 HTTP/0.9 */
    char *protocol;
    /** 프로토콜 버전을 나타내는 번호; 1.1 = 1001 */
    int proto_num;
    /** 호스트, 전체 URI 나 HOST 가 설정됨. */
    const char *hostname;

    /** 요청이 시작된 시간. */
    apr_time_t request_time;

    /** 만약에 script 가 설정되어 있으면. 상태줄*/
    const char *status_line;
    /** 상태줄*/
    int status;

    /* 2개의 요청 메소드; 또한 프로토콜과 다른것..protocol.c 를 봐라, 하지만 수정은 하지 말고
     *  protocol.c 를 봐라, 하지만 수정은 하지 말고

     */

    /** 요청 메소드 이름 (GET, HEAD, POST, 등등)  */
    const char *method;
    /** M_GET, M_POST, etc. */
    int method_number;

    /**
     *  allowed는 비트벡터로 허용가능한 메소드를 나타냄
     * ('allowed' is a bitvector of the allowed methods.)

     *
     *  A handler must ensure that the request method is one that
     *  it is capable of handling.  Generally modules should DECLINE
     any request methods they do not handle.  Prior to aborting the
     *  handler like this the handler should set r->allowed to the list
     *  of methods that it is willing to handle.  This bitvector is used
     *  to construct the "Allow:" header required for OPTIONS requests,
     and HTTP_METHOD_NOT_ALLOWED and HTTP_NOT_IMPLEMENTED status codes.
     *
     *  Since the default_handler deals with OPTIONS, all modules can
     *  usually decline to deal with OPTIONS.  TRACE is always allowed,
     *  modules don't need to set it explicitly.
     *
     *  Since the default_handler will always handle a GET, a
     *  module which does *not* implement GET should probably return
     *  HTTP_METHOD_NOT_ALLOWED.  Unfortunately this means that a Script GET
     *  handler can't be installed by mod_actions.
     */
    apr_int64_t allowed;
    /** 확장된 메소드들의 배열 Array of extension methods */
    apr_array_header_t *allowed_xmethods;
    /** 허용된 메소드들의 리스트 */
    ap_method_list_t *allowed_methods;

    /** body 안의 스트림 바이트수 byte count in stream is for body */
    apr_off_t sent_bodyct;
    /** body 바이트 카운트를 쉽게 접근 body byte count, for easy access */
    apr_off_t bytes_sent;
    /** 요청 리소스가 마지막으로 수정된 시간.*/
    apr_time_t mtime;

    /* HTTP/1.1 connection-level features */

    /** sending chunked transfer-coding */
    int chunked;
    /** 범위: 헤더*/
    const char *range;
    /** 진짜 컨텐츠의 길이 */
    apr_off_t clength;

    /** 요청 body에서 읽고 남은 바이트 */
    apr_off_t remaining;
    /** 요청 body 에서 읽은 바이트(?) Number of bytes that have been read  from the request body */
    apr_off_t read_length;
    /** 요청 body를 읽기 위한 메소드. Method for reading the request body
     * (eg. REQUEST_CHUNKED_ERROR, REQUEST_NO_BODY,
     *  REQUEST_CHUNKED_DECHUNK, etc...) */
    int read_body;
    /** reading chunked transfer-coding */
    int read_chunked;
    /** 100개의 응답을 클라이언트가 기다린다? is client waiting for a 100 response? */
    unsigned expecting_100;

    /* MIME header environments, in and out.  Also, an array containing
     * environment variables to be passed to subprocesses, so people can
     * write modules to add to that environment.
     *
     * The difference between headers_out and err_headers_out is that the
     * latter are printed even on error, and persist across internal redirects
     * (so the headers printed for ErrorDocument handlers will have them).
     *
     * The 'notes' apr_table_t is for notes from one module to another, with no
     * other set purpose in mind...
     */

    /** 요청안에 있는 MIME 헤더 환경변수 */
    apr_table_t *headers_in;
    /** 응답 안에 있는 MIME 헤더 환경변수 */
    apr_table_t *headers_out;
    /** MIME header environment for the response, printed even on errors and
     * persist across internal redirects */
    apr_table_t *err_headers_out;
    /** 배열의 환경변수를 하위 프로세스에 사용 할 수 있는지. */
    apr_table_t *subprocess_env;
    /** Notes from one module to another */
    apr_table_t *notes;

    /* content_type, handler, content_encoding, and all content_languages
     * MUST be lowercased strings.  They may be pointers to static strings;
     * they should not be modified in place.
     */
    /** 현재 요청의 cotent_type*/
    const char *content_type; /* Break these out --- we dispatch on 'em */
    /** 핸들러 함수를 호출 하는데 필요한 핸들러 문자열 */
    const char *handler; /* What we *really* dispatch on */

    /** 어떤 방식으로 우리의 데이터가 인코딩 되었나. */
    const char *content_encoding;
    /** Array of strings representing the content languages */
    apr_array_header_t *content_languages;

    /** variant list validator (if negotiated) */
    char *vlist_validator;
   
    /** 만약에 인증을 통과했다면, 이 변수로 청크를 만든 사용자명을 설정/가져오기 가능 */
    char *user;
    /** 만약에 인증을 통과 했다면, 이 변수로 인증 방법을 설정/가져오기 가능  */
    char *ap_auth_type;

    /** 캐쉬 되지 않는 응답. */
    int no_cache;
    /** 응답은 로컬의 복사본이 아니라는 걸 알림. */
    int no_local_copy;

    /* 어떤 요청에 의해서 설정 되는지 (either directly, or via include
     * or content-negotiation mapping).
     */

    /** The URI without any parsing performed */
    char *unparsed_uri;
    /** URI 경로 부분 */
    char *uri;
    /** 요청에 대한 디스크 위의 파일명The filename on disk corresponding to this response */
    char *filename;
    /* XXX: What does this mean? Please define "canonicalize" -aaron */
    /** The true filename, we canonicalize r->filename if these don't match */
    char *canonical_filename;
    /** 요청 안에서 추출한 PATH_INFO */
    char *path_info;
    /** 요청 안에서 추출한 QUERY_ARGS */
    char *args;
    /**  파일을 찾을 수 없다면, finfo.protection 를 0으로 설정 */
    apr_finfo_t finfo;
    /** URI 의 구성요소를 포함하는 구조체 */
    apr_uri_t parsed_uri;

    /**
     * Flag for the handler to accept or reject path_info on
     * the current request.  All modules should respect the
     * AP_REQ_ACCEPT_PATH_INFO and AP_REQ_REJECT_PATH_INFO
     * values, while AP_REQ_DEFAULT_PATH_INFO indicates they
     * may follow existing conventions.  This is set to the
     * user's preference upon HOOK_VERY_FIRST of the fixups.
     */
    int used_path_info;

    /* Various other config info which may change with .htaccess files
     * These are config vectors, with one void* pointer for each module
     * (the thing pointed to being the module's business).
     */

    /** 설정 파일에서 설정하는 "Options " */
    struct ap_conf_vector_t *per_dir_config;
    /** 현재 요청을 기록(?) */
    struct ap_conf_vector_t *request_config;

    /**
     * A linked list of the .htaccess configuration directives
     * accessed by this request.
     * N.B. always add to the head of the list, _never_ to the end.
     * that way, a sub request's list can (temporarily) point to a parent's list
     */
    const struct htaccess_result *htaccess;

    /** A list of output filters to be used for this request */
    struct ap_filter_t *output_filters;
    /** A list of input filters to be used for this request */
    struct ap_filter_t *input_filters;

    /** A list of protocol level output filters to be used for this
     request */
    struct ap_filter_t *proto_output_filters;
    /** A list of protocol level input filters to be used for this
     *  request */
    struct ap_filter_t *proto_input_filters;

    /** A flag to determine if the eos bucket has been sent yet */
    int eos_sent;

/* Things placed at the end of the record to avoid breaking binary
 * compatibility.  It would be nice to remember to reorder the entire
 * record to improve 64bit alignment the next time we need to break
 * binary compatibility for some other reason.
 */
};

 

=========================================================================

/**
 * @설명 하나의 프로세스를 나타내는 구조

*/

 

struct process_rec {
    /** 전역 pool. 정상적으로 종료 될 클리어됨. */
    apr_pool_t *pool;
    /** 설정 pool. 재시작 될 때 마다 초기화 됨.*/
    apr_pool_t *pconf;
    /** 커맨드 라인으로 프로그램에 전달된 인자의 갯수 */
    int argc;
    /** 커맨드 라인에 입력한 인자 */
    const char * const *argv;
    /** 실행 프로그램으로 사용될 프로그램 이름 */
    const char *short_name;
};

 

=========================================================================

 

/**
 * @설명 연결되는 클라이언트를 관리할 구조체 (내일 번역 힘들어)

 */
struct conn_rec {
    /** Pool associated with this connection */
    apr_pool_t *pool;
    /** Physical vhost this conn came in on */
    server_rec *base_server;
    /** used by http_vhost.c */
    void *vhost_lookup_data;

    /* Information about the connection itself */
    /** local address */
    apr_sockaddr_t *local_addr;
    /** remote address */
    apr_sockaddr_t *remote_addr;

    /** Client's IP address */
    char *remote_ip;
    /** Client's DNS name, if known.  NULL if DNS hasn't been checked,
     *  "" if it has and no address was found.  N.B. Only access this though
     * get_remote_host() */
    char *remote_host;
    /** Only ever set if doing rfc1413 lookups.  N.B. Only access this through
     *  get_remote_logname() */
    char *remote_logname;

    /** Are we still talking? */
    unsigned aborted:1;

    /** Are we going to keep the connection alive for another request?
     * @see ap_conn_keepalive_e */
    ap_conn_keepalive_e keepalive;

    /** have we done double-reverse DNS? -1 yes/failure, 0 not yet,
     *  1 yes/success */
    signed int double_reverse:2;

    /** How many times have we used it? */
    int keepalives;
    /** server IP address */
    char *local_ip;
    /** used for ap_get_server_name when UseCanonicalName is set to DNS
     *  (ignores setting of HostnameLookups) */
    char *local_host;

    /** ID of this connection; unique at any point in time */
    long id;
    /** Config vector containing pointers to connections per-server
     *  config structures. */
    struct ap_conf_vector_t *conn_config;
    /** Notes on *this* connection: send note from one module to
     *  another. must remain valid for all requests on this conn */
    apr_table_t *notes;
    /** A list of input filters to be used for this connection */
    struct ap_filter_t *input_filters;
    /** A list of output filters to be used for this connection */
    struct ap_filter_t *output_filters;
    /** handle to scoreboard information for this connection */
    void *sbh;
    /** The bucket allocator to use for all bucket/brigade creations */
    struct apr_bucket_alloc_t *bucket_alloc;
    /** The current state of this connection */
    conn_state_t *cs;
    /** Is there data pending in the input filters? */
    int data_in_input_filters;
   
    /** Are there any filters that clogg/buffer the input stream, breaking
     *  the event mpm.
     */
    int clogging_input_filters;
};

 

=========================================================================

 

/**
 * Module structures.  Just about everything is dispatched through
 * these, directly or indirectly (through the command and handler
 * tables).
 */
typedef struct module_struct module;
struct module_struct {
    /** API version, *not* module version; check that module is
     * compatible with this version of the server.
     */
    int version;
    /** API minor version. Provides API feature milestones. Not checked
     *  during module init */
    int minor_version;
    /** Index to this modules structures in config vectors.  */
    int module_index;

    /** The name of the module's C file */
    const char *name;
    /** The handle for the DSO.  Internal use only */
    void *dynamic_load_handle;

    /** A pointer to the next module in the list
     *  @defvar module_struct *next */
    struct module_struct *next;

    /** Magic Cookie to identify a module structure;  It's mainly
     *  important for the DSO facility (see also mod_so).  */
    unsigned long magic;

    /** Function to allow MPMs to re-write command line arguments.  This
     *  hook is only available to MPMs.
     *  @param The process that the server is running in.
     */
    void (*rewrite_args) (process_rec *process);
    /** Function to allow all modules to create per directory configuration
     *  structures.
     @param p The pool to use for all allocations.
     *  @param dir The directory currently being processed.
     @return The per-directory structure created
     */
    void *(*create_dir_config) (apr_pool_t *p, char *dir);
    /** Function to allow all modules to merge the per directory configuration
     structures for two directories.
     *  @param p The pool to use for all allocations.
     *  @param base_conf The directory structure created for the parent directory.
     *  @param new_conf The directory structure currently being processed.
     *  @return The new per-directory structure created
     */
    void *(*merge_dir_config) (apr_pool_t *p, void *base_conf, void *new_conf);
    /** Function to allow all modules to create per server configuration
     *  structures.
     *  @param p The pool to use for all allocations.
     *  @param s The server currently being processed.
     *  @return The per-server structure created
     */
    void *(*create_server_config) (apr_pool_t *p, server_rec *s);
    /** Function to allow all modules to merge the per server configuration
     *  structures for two servers.
     *  @param p The pool to use for all allocations.
     *  @param base_conf The directory structure created for the parent directory.
     *  @param new_conf The directory structure currently being processed.
     *  @return The new per-directory structure created
     */
    void *(*merge_server_config) (apr_pool_t *p, void *base_conf,
                                  void *new_conf);

    /** A command_rec table that describes all of the directives this module
     * defines. */
    const command_rec *cmds;

    /** A hook to allow modules to hook other points in the request processing.
     *  In this function, modules should call the ap_hook_*() functions to
     register an interest in a specific step in processing the current
     *  request.
     *  @param p the pool to use for all allocations
     */
    void (*register_hooks) (apr_pool_t *p);
};

Source Code : http://apache.mirror.cdnetworks.com/httpd/httpd-2.2.14.tar.gz

 

파일들은 제끼고 디렉토리만!!!!!!!!!!!!!!!

drwxr-xr-x 11  501  501   4096 Sep 24 08:29 .
drwxr-xr-x  3 root root   4096 Nov 30 13:50 ..
drwxr-xr-x  5  501  501   4096 Sep 24 08:29 build : 제껴도 될 듯?
drwxr-xr-x  9  501  501   4096 Sep 24 08:29 docs : 영어 제껴
drwxr-xr-x  2  501  501   4096 Sep 24 08:29 include : 소스 코드 내에서 사용 한 함수들의 프로토타입을 정의해 놓은 디렉토리. 아파치 내에서 사용 define, 구조체 정보들도 포함되어 있다.


drwxr-xr-x 20  501  501   4096 Sep 24 08:29 modules : 아파치 내에서 사용 하는 기본 modules, 음 vhost 나 ssl 또는 rewrite modules 가 여기에 있다. 데몬 대충 분석 후, 봐야 할 곳


drwxr-xr-x  9  501  501   4096 Sep 24 08:28 os : 이것은 각 OS에서 apache 를 사용 할 때, 데몬으로 실행하는 코드들이 들어 있음. unix 부분만 분석 예정.
drwxr-xr-x  3  501  501   4096 Sep 24 08:29 server : 아파치 데몬을 구성하고 있는 메인 코드라 얘기할 수 있을 거 같음.
drwxr-xr-x  5  501  501   4096 Sep 24 08:29 srclib : 이건 또 뭐지/../
drwxr-xr-x  4  501  501   4096 Sep 24 08:29 support : htpasswd 나 ab 같은 httpd 에 필요한 지원 유틸리티
drwxr-xr-x  2  501  501   4096 Sep 24 08:29 test : 넌 뭐야

 

위에 처럼 분석하기 짜증나서, LAYOUT 파일을 참조했다.

 

The httpd-2.2 Source Tree LAYOUT
--------------------------------

./ .................... Top-Level httpd-2.2 Root Directory

  ABOUT_APACHE .......... Overview of the Apache HTTP Server
  LAYOUT ................ This file describing the source tree
  README ................ Overview of this distribution
  STATUS ................ Current project activity and commentary

build/ ................ Supporting tools for buildconf/configure

  win32/ ................ Supporting tools for Win32 MSVC builds

docs/ ................. Documentation and Examples

  cgi-examples/ .........

  conf/ .................

  docroot/ ..............

  error/ ................

    include/ ..............

  icons/ ................

    small/ ................

  man/ ..................

  manual/ ...............

    developer/ ............

    faq/ ..................

    howto/ ................

    images/ ...............

    misc/ .................

    mod/ ..................

    platform/ .............

    programs/ .............

    search/ ...............

    ssl/ ..................

    style/ ................

    vhosts/ ...............

include/ ................

modules/ ................ Manditory and Add-In Apache stock modules

  aaa/ ....................

  arch/ ...................

    netware/ ................

    win32/ ..................

  cache/ ..................

  dav/ ....................

    fs/ .....................

    main/ ...................

  echo/ ...................

  experimental/ ...........

  filters/ ................

  generators/ .............

  http/ ................... HTTP: protocol module

  loggers/ ................

  mappers/ ................

  metadata/ ...............

  pop3/ ...................

  private/ ................

  proxy/ ..................

  ssl/ .................... HTTPS: SSL v2/v3 and TLS v1 protocol module

    README .................. Overview of mod_ssl
    README.dsov.fig ......... Overview diagram of mod_ssl design
    README.dsov.ps .......... Overview diagram of mod_ssl design
    Makefile.in ............. Makefile template for Unix platform
    config.m4 ............... Autoconf stub for the Apache config mechanism
    mod_ssl.c ............... main source file containing API structures
    mod_ssl.h ............... common header file of mod_ssl
    ssl_engine_config.c ..... module configuration handling
    ssl_engine_dh.c ......... DSA/DH support
    ssl_engine_init.c ....... module initialization
    ssl_engine_io.c ......... I/O support
    ssl_engine_kernel.c ..... SSL engine kernel
    ssl_engine_log.c ........ logfile support
    ssl_engine_mutex.c ...... mutual exclusion support
    ssl_engine_pphrase.c .... pass-phrase handling
    ssl_engine_rand.c ....... PRNG support
    ssl_engine_vars.c ....... Variable Expansion support
    ssl_expr.c .............. expression handling main source
    ssl_expr.h .............. expression handling common header
    ssl_expr_scan.c ......... expression scanner automaton (pre-generated)
    ssl_expr_scan.l ......... expression scanner source
    ssl_expr_parse.c ........ expression parser automaton  (pre-generated)
    ssl_expr_parse.h ........ expression parser header     (pre-generated)
    ssl_expr_parse.y ........ expression parser source
    ssl_expr_eval.c ......... expression machine evaluation
    ssl_scache.c ............ session cache abstraction layer
    ssl_scache_dbm.c ........ session cache via DBM file
    ssl_scache_shmcb.c ...... session cache via shared memory cyclic buffer
    ssl_scache_dc.c ......... session cache offloading via 'distcache'
    ssl_util.c .............. utility functions
    ssl_util_ssl.c .......... the OpenSSL companion source
    ssl_util_ssl.h .......... the OpenSSL companion header
    ssl_util_table.c ........ the hash table library source
    ssl_util_table.h ........ the hash table library header

  test/ ................... not distributed with released source tarballs

os/ .....................

  beos/ ...................

  bs2000/ .................

  netware/ ................

  os2/ ....................

  tpf/ ....................

    samples/ ................

  unix/ ...................

  win32/ ..................

server/ .................

  mpm/ ....................

    beos/ ...................

    experimental/ ...........

      event/ .................

    mpmt_os2/ ...............

    netware/ ................

    prefork/ ................

    winnt/ ..................

    worker/ .................

srclib/ ................... Additional Libraries

  apr/ ...................... SEE srclib/apr/LAYOUT

  apr-util/ ................. SEE srclib/apr/LAYOUT

  pcre/ .....................

    doc/ ......................

    testdata/ .................

support/ ................ Sources for Support Binaries

  SHA1/ .................. Ancient SHA1 password conversion utilities

  win32/ ................. Win32-only Support Applications

test/ ................... not distributed with released source tarballs

 

일단 server 디렉토리 분석 후 modules 디렉토리(SSL)로 이동.

음..그리고, http 프로토콜 부분도 봐야겠군.

많지만 일단 server 디렉토리의 main.c!

소녀시대 #2

소녀시대 2009/11/24 23:43

소녀시대 #1

소녀시대 2009/11/18 17:41