                                  _   _ ____  _     
  Project                     ___| | | |  _ \| |    
                             / __| | | | |_) | |    
                            | (__| |_| |  _ <| |___ 
                             \___|\___/|_| \_\_____|


This document has been introduced in order to let you find documents that
specify standards used by curl, software that extends curl, web pages with
"competing" utilities and information pages that describe some of the tools
that we use to build/compile/develop curl.

Standards
---------

  RFC 959  - Defines how FTP works

  RFC 1635 - How to Use Anonymous FTP

  RFC 1738 - Uniform Resource Locators

  RFC 1777 - defines the LDAP protocol

  RFC 1808 - Relative Uniform Resource Locators

  RFC 1867 - Form-based File Upload in HTML

  RFC 1950 - ZLIB Compressed Data Format Specification

  RFC 1951 - DEFLATE Compressed Data Format Specification

  RFC 1952 - gzip compression format

  RFC 1959 - LDAP URL syntax

  RFC 2045-2049 - Everything you need to know about MIME! (needed for form
                  based upload)

  RFC 2068 - HTTP 1.1 (obsoleted by RFC 2616)

  RFC 2109 - HTTP State Management Mechanism (cookie stuff)
           - Also, read Netscape's specification at
             http://curl.haxx.se/rfc/cookie_spec.html

  RFC 2183 - The Content-Disposition Header Field

  RFC 2229 - A Dictionary Server Protocol

  RFC 2255 - Newer LDAP URL syntax document.

  RFC 2231 - MIME Parameter Value and Encoded Word Extensions:
             Character Sets, Languages, and Continuations

  RFC 2388 - "Returning Values from Forms: multipart/form-data"
             Use this as an addition to the RFC1867 

  RFC 2396 - "Uniform Resource Identifiers: Generic Syntax and Semantics" This
             one obsoletes RFC 1738, but since RFC 1738 is often mentioned
             I've left it in this list.

  RFC 2428 - FTP Extensions for IPv6 and NATs

  RFC 2577 - FTP Security Considerations

  RFC 2616 - HTTP 1.1, the latest

  RFC 2617 - HTTP Authentication

  RFC 2718 - Guidelines for new URL Schemes
             
  RFC 2732 - Format for Literal IPv6 Addresses in URL's
             
  RFC 2818 - HTTP Over TLS (TLS is the successor to SSL)
             
  RFC 2964 - Use of HTTP State Management
             
  RFC 2965 - HTTP State Management Mechanism. Cookies. Obsoletes RFC2109

Compilers
---------
  MingW32 - http://www.mingw.org/

  gcc     - http://www.gnu.org/software/gcc/gcc.html

Software
--------
  OpenSSL -  http://www.openssl.org/

  OpenLDAP - http://www.openldap.org/

  zlib -     http://www.cdrom.com/pub/infozip/zlib/

Similar Tools
-------------
  wget    - http://sunsite.dk/wget/

  snarf   - http://www.xach.com/snarf/

  lynx    - http://lynx.browser.org/ (well at least when -dump is used)

  swebget - http://www.uni-hildesheim.de/~smol0075/swebget/

  Kermit  - http://www.columbia.edu/kermit/ftpclient

  Pavuk   - http://www.idata.sk/~ondrej/pavuk/

  httpr   - http://zwolak.dhs.org/httpr/

  puf     - http://www.inf.tu-dresden.de/~ob6/sw/puf.html

Related Software
----------------
  ftpparse - http://cr.yp.to/ftpparse.html parses FTP LIST responses

  autoconf - http://www.gnu.org/software/autoconf/autoconf.html

  automake - http://www.gnu.org/software/automake/automake.html

  bison    - http://www.gnu.org/software/bison/bison.html

  gzip     - http://www.gnu.org/software/gzip/gzip.html

  tar      - http://www.gnu.org/software/tar/tar.html

  libtool  - http://www.gnu.org/software/libtool/libtool.html
