Annotation of libwww/Library/src/WWWHTTP.html, revision 2.13
2.1 frystyk 1: <HTML>
2: <HEAD>
2.12 frystyk 3: <TITLE>W3C Sample Code Library libwww HTTP Client/Server Module</TITLE>
2.1 frystyk 4: </HEAD>
5: <BODY>
2.11 frystyk 6: <H1>
2.12 frystyk 7: Declaration of W3C Sample Code HTTP Module
2.11 frystyk 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
2.12 frystyk 19: the W3C Sample Code Library</A>. It contains all HTTP specific modules which
2.11 frystyk 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.13 ! frystyk 34: The <A HREF="wwwsys.html">wwwsys.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.
2.13 ! frystyk 37: <PRE>#include "<A HREF="wwwsys.html">wwwsys.h</A>"
2.11 frystyk 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.13 ! frystyk 142: @(#) $Id: WWWHTTP.html,v 2.12 1997/02/16 18:43:25 frystyk Exp $
2.8 frystyk 143: </ADDRESS>
2.11 frystyk 144: </BODY></HTML>
Webmaster