Annotation of libwww/Library/src/WWWHTTP.html, revision 2.11
2.1 frystyk 1: <HTML>
2: <HEAD>
2.11 ! frystyk 3: <TITLE>W3C Reference Library libwww HTTP Client/Server Module</TITLE>
2.1 frystyk 4: </HEAD>
5: <BODY>
2.11 ! frystyk 6: <H1>
! 7: Declaration of W3C Reference HTTP Module
! 8: </H1>
2.1 frystyk 9: <PRE>
10: /*
11: ** (c) COPYRIGHT MIT 1995.
12: ** Please first read the full copyright statement in the file COPYRIGH.
13: */
14: </PRE>
2.11 ! frystyk 15: <P>
! 16: This is the include file for all HTTP access including the
! 17: <A HREF="HTTPServ.html">server side</A> and the <A HREF="HTTP.html">client
! 18: side</A>. It can be used together with the <A HREF="WWWCore.html">core of
! 19: the W3C Reference Library</A>. It contains all HTTP specific modules which
! 20: are required to compile and build the HTTP DLL.
2.1 frystyk 21: <PRE>
22: #ifndef WWWHTTP_H
23: #define WWWHTTP_H
24: </PRE>
25: <PRE>
26: #ifdef __cplusplus
27: extern "C" {
28: #endif
29: </PRE>
2.11 ! frystyk 30: <H3>
! 31: System dependencies
! 32: </H3>
! 33: <P>
2.9 frystyk 34: The <A HREF="sysdep.html">sysdep.h</A> file includes system-specific include
2.11 ! frystyk 35: files and flags for I/O to network and disk. The only reason for this file
! 36: is that the Internet world is more complicated than Posix and ANSI.
! 37: <PRE>#include "<A HREF="sysdep.html">sysdep.h</A>"
! 38: </PRE>
! 39: <H3>
! 40: Basic HTTP definitions and utilities
! 41: </H3>
! 42: <P>
! 43: A small set of very basic HTTP stuff
! 44: <PRE>
! 45: #include "<A HREF="HTTPUtil.html">HTTPUtil.h</A>"
! 46: </PRE>
! 47: <H3>
! 48: HTTP Client State Machine
! 49: </H3>
! 50: <P>
! 51: The client statue machine handles the client side of HTTP generating requests
! 52: and parsing responses.
! 53: <PRE>#include "<A HREF="HTTP.html">HTTP.h</A>"
! 54: </PRE>
! 55: <H3>
! 56: HTTP Server State Machine
! 57: </H3>
! 58: <P>
! 59: The HTTP module also contains a very simple server module which can be used
! 60: for experimenting but which is not a full blown server.
! 61: <PRE>#include "<A HREF="HTTPServ.html">HTTPServ.h</A>" /* HTTP server state machine */
! 62: </PRE>
! 63: <H3>
! 64: General HTTP Header Stream
! 65: </H3>
! 66: <P>
! 67: The HTTP Request stream generates a HTTP request header and writes it to
! 68: the target which is normally a HTWriter stream.
! 69: <PRE>#include "<A HREF="HTTPGen.html">HTTPGen.h</A>"
! 70: </PRE>
! 71: <H3>
! 72: Client-side Request Generator Stream
! 73: </H3>
! 74: <P>
! 75: The HTTP Request stream generates a HTTP request header and writes it to
! 76: the target which is normally a HTWriter stream.
! 77: <PRE>#include "<A HREF="HTTPReq.html">HTTPReq.h</A>"
! 78: </PRE>
! 79: <H3>
! 80: Server-side Response Generator Stream
! 81: </H3>
! 82: <P>
! 83: The HTTP response stream generates a HTTP response header and writes it to
! 84: the target which is normally a HTWriter stream.
! 85: <PRE>#include "<A HREF="HTTPRes.html">HTTPRes.h</A>"
! 86: </PRE>
! 87: <H3>
! 88: Chunked Encoding and Decoding
! 89: </H3>
! 90: <P>
! 91: Chunked transfer encoding and decoding is new in HTTP/1.1. It allows applications
! 92: to use persistent connections while not knowing the content length a priori
! 93: to the response header is generated.
! 94: <PRE>#include "<A HREF="HTTChunk.html">HTTChunk.h</A>"
! 95: </PRE>
! 96: <H3>
! 97: HTTP Extensions and PEP
! 98: </H3>
! 99: <P>
! 100: The <A HREF="HTPEP.html">PEP Manager</A> is a registry for <I>PEP Protocols</I>
! 101: that follow the generic syntax defined by the
! 102: <A HREF="../../Protocols/">HTTP</A> <I>PEP protocol</I> headers. All <I>PEP
! 103: Protocols</I> are registered at run-time in form of a <I>PEP Module</I>.
! 104: A <I>PEP Module</I> consists of the following:
! 105: <PRE>#include "<A HREF="HTPEP.html">HTPEP.h</A>"
! 106: </PRE>
! 107: <H3>
! 108: Generic Authentication
! 109: </H3>
! 110: <P>
! 111: The <A HREF="HTAAUtil.html">Authentication Manage</A><I>r</I> is a registry
! 112: for <I>Authentication Schemes</I> that follow the generic syntax defined
! 113: by the <A HREF="../../Protocols/">HTTP</A> <CODE>WWW-authenticate</CODE>
! 114: and <CODE>Authorization</CODE> headers. Currently, the only scheme defined
! 115: is <I>Basic Authentication</I>, but <I>Digest Authentication </I>will soon
! 116: follow. All <I>Authentication Schemes</I> are registered at run-time in form
! 117: of an <I>Authentication Module</I>. An <I>Authentication Module</I> consists
! 118: of the following:
! 119: <PRE>#include "<A HREF="HTAAUtil.html">HTAAUtil.h</A>"
! 120: </PRE>
! 121: <H3>
! 122: Client Side Authentication
! 123: </H3>
! 124: <P>
! 125: Contains code for parsing challenges and creating credentials for basic and
! 126: digest authentication schemes. See also the <A HREF="HTAAUtil.html">HTAAUtil
! 127: module</A> for how to handle other authentication schemes.
! 128: <PRE>#include "<A HREF="HTAABrow.html">HTAABrow.h</A>"
2.9 frystyk 129: </PRE>
2.11 ! frystyk 130: <P>
2.1 frystyk 131: End of HTTP module
132: <PRE>
133: #ifdef __cplusplus
134: } /* end extern C definitions */
135: #endif
136:
137: #endif
138: </PRE>
2.11 ! frystyk 139: <P>
! 140: <HR>
2.8 frystyk 141: <ADDRESS>
2.11 ! frystyk 142: @(#) $Id: WWWHTTP.html,v 2.10 1996/04/18 01:41:53 frystyk Exp $
2.8 frystyk 143: </ADDRESS>
2.11 ! frystyk 144: </BODY></HTML>
Webmaster