/[suikacvs]/webroot/www/2004/id/draft-ietf-http-pep-01.txt
Suika

Contents of /webroot/www/2004/id/draft-ietf-http-pep-01.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations) (download)
Tue Jun 15 08:04:04 2004 UTC (19 years, 11 months ago) by wakaba
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
New

1
2
3
4
5
6 Network Working Group D. Connolly
7 Internet Draft W3 Consortium
8 Category: Informational January 1997
9 Expire in six months
10
11
12 PEP: an Extension Mechanism for HTTP
13
14 1. Status of this Document
15
16 This document is [not yet] an Internet-Draft. Internet-Drafts are
17 working documents of the Internet Engineering Task Force (IETF), its
18 areas, and its working groups. Note that other groups may also
19 distribute working documents as Internet-Drafts.
20
21 Internet-Drafts are draft documents valid for a maximum of six months
22 and may be updated, replaced, or obsoleted by other documents at any
23 time. It is inappropriate to use Internet-Drafts as reference
24 material or to cite them other than as "work in progress".
25
26 To learn the current status of any Internet-Draft, please check the
27 "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
28 Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
29 munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
30 ftp.isi.edu (US West Coast).
31
32 Distribution of this document is unlimited. Please send comments to
33 the HTTP working group at http-wg@cuckoo.hpl.hp.com. Discussions of
34 the working group are archived at
35 http://www.ics.uci.edu/pub/ietf/http/.
36
37 This document is also available as W3 Consortium Working Draft WD-
38 http-pep-970131. The most up-to-date current version is available at
39 http://www.w3.org/pub/WWW/TR/WD-http-pep.
40
41 The contribution of W3C staff time to the HTTP workin group is part
42 of the W3C HTTP Activity.
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 Connolly Internet Draft [Page 1]
59
60
61
62
63
64 $Date: 1997/01/31 23:05:32 $ PEP January 1997
65
66
67 Abstract
68
69 HTTP is an extensible protocol. PEP is an extension mechanism
70 designed to address the tension between private agreement and public
71 specification and to accomodate extension of HTTP clients and servers
72 by software components.
73
74 The mechanism is to associate each extension with a URL, and use a
75 few new header fields to carry the extension identifier and related
76 information from HTTP clients, thru proxies and intermediaries, to
77 servers, and back again.
78
79 Contents
80 1. Status of this Document ........................................ 1
81 2. Introduction ................................................... 2
82 2.1. Requirements .............................................. 3
83 3. Extension Identifiers .......................................... 4
84 3.1. The Protocol Header Field ................................. 5
85 4. Notification ................................................... 6
86 4.1. 420: Bad Extensions ....................................... 8
87 5. Extension Header Fields ........................................ 8
88 6. Extension Encodings ............................................ 9
89 7. Security Considerations ....................................... 10
90 9. Normative References .......................................... 11
91 10. Bibliography: Informative References ......................... 11
92
93 2. Introduction
94
95 This document presents PEP, and extension mechanism for HTTP. The
96 PEP design is the result of analyzing a variety of HTTP extensions
97 and extension mechanisms, and the motivation behind them. This is
98 discussed in requirements section (Section 2.1).
99
100 The section on extension identifiers discusses the mechanism itself,
101 which is to associate each extension with a URL, and use a new header
102 field, Protocol: to carry the extension identifier and related
103 information from HTTP clients, thru proxies and intermediaries, to
104 servers, and back again.
105
106 The next section, Notification, provides information providers with a
107 mechanism to inform clients of extension policies, that is, which
108 extensions should or should not be used to access resources.
109
110 The Extension Header Fields section addresses the use of new HTTP
111 headers in extensions.
112
113 After Security Considerations, and a Syntax Reference, appendices
114 discuss Considerations for Defining Extensions and the use of PEP in
115 and with software components.
116
117
118
119
120
121
122 Connolly Internet Draft [Page 2]
123
124
125
126
127 $Date: 1997/01/31 23:05:32 $ PEP January 1997
128
129
130 2.1. Requirements
131
132 HTTP is being used for an increasing number of applications
133 involving distributed authoring, collaboration, printing, and
134 various RPC like protocols. Often these extensions are deployed
135 dynamically, extending existing applications. They motivate the
136 need to independently introduce extensions and new features to
137 HTTP in such a way that 1) They are orthogonal to other
138 extensions. 2) They can be deployed automatically and
139 dynamically.
140
141 This requires:
142
143 *
144 That conforming HTTP peers supporting a particular
145 protocol extension or
146 feature should be able to employ this in real time with
147 no prior agreement;
148 *
149 That it should be possible for one party having a
150 capability for a new protocol
151 to require that the the other party either understand
152 and abide by the new
153 protocol or abort the operation;
154 *
155 That the HTTP protocol should still be able to work
156 through proxies - especially
157 caching proxies;
158 *
159 That, either directly using PEP or using a new protocol
160 introduced using
161 PEP, negotiation of matching capabilities should be
162 possible, as required
163 for the JEPI project and similar applications.
164
165 This form for extensibility is not supported by HTTP/1.1. PEP is a
166 framework to satisfy these requirements.
167
168 The current design does not meet all the requirements. See <a
169 href="#future">Future Work for details.
170
171 Related Work
172
173 HTTP is an extensible protocol; applications have exploited its
174 extensibility along a number of degrees of freedom:
175
176 URL path
177
178 The URL path allows different functionality in different parts
179 of the URL space[URL]. This has been exploited in [CGI], and
180 HTML forms <a href="#HTML2">[HTML2.0] for example. Since then,
181 it has been combined with software component technology (such
182
183
184
185 Connolly Internet Draft [Page 3]
186
187
188
189
190 $Date: 1997/01/31 23:05:32 $ PEP January 1997
191
192
193 as shared libraries, DLLs, etc.) for use in [NSAPI], [ISAPI],
194 [Apache], [OM], [Spy95].
195
196 media type
197
198 The request and response payload data is typed; new internet
199 media types can be introduced. A host of web extensions are
200 based on the extenion of user agents to handle internet media
201 types [MAILCAP].
202
203 method names
204
205 New method names can be added. (@@Cite BROWSE, MKDIR in
206 aolserver)
207
208 header fields
209
210 New headers may be introduced: entity headers, request headers,
211 or response headers. For example, [STATE]
212
213 Using the media type and/or URL to extend the web is an extension
214 within, rather than beyond, the HTTP protocol. On the other hand,
215 using new request header fields is a change to the HTTP protocol
216 itself ([HTTP] section 5.3 Request Header Fields).
217
218 3. Extension Identifiers
219
220 The agents in an HTTP transaction are a client and a server, which
221 send HTTP messages to each other However, semantically, an HTTP
222 trasacion is between a client party (for example, the referent of the
223 From: header field) and a the principle responsible for the
224 publication of a given resource.
225
226 The publishing party is basically the one responsible for the mapping
227 between the URI and any representation of the resource to which it
228 refers. Exactly who takes this role is out of the scope discusion of
229 this document; but for example, it may be the writer of a document or
230 the server administrator or the organization running the server.
231
232 The HTTP specification, which codifies the agreement between these
233 parties, is subject to thorough community review. While any extension
234 can be defined and used by private agreement, the web provides a
235 medium to deploy extensions to the global community without
236 centralized control.
237
238 PEP exploits this aspect of the web, and uses URLs to identify
239 extensions. This allows parties to learn about extensions and decide
240 which ones to participate in by dereferncing their URL. This learning
241 may be done by humans, or it may be done my machines aquiring
242 software components.
243
244 See Considerations for Defining Extensions for details.
245
246
247
248 Connolly Internet Draft [Page 4]
249
250
251
252
253 $Date: 1997/01/31 23:05:32 $ PEP January 1997
254
255
256 3.1. The Protocol Header Field
257
258 Each protocol extension has an extension identifier, which is a
259 URL[URL]. The extensions used in a message are declared using the
260 Protocol request/response header field.
261
262 Along with the extension identifier, an extension may define any
263 number of parameters. See also, Extension Header Fields and
264 Extension Encodings.
265
266 The syntax is:
267
268 Protocol = "Protocol" ":" 1#extension-decl
269 extension-decl = "{" extension-id *ext-info "}"
270 ext-info = params | headers | enc
271 params = "{" "params" *bagitem "}"
272 headers = "{" "headers" 1*token "}"
273 enc = "{" "enc" 1*token "}"
274
275 bag = "{" bagname 1*LWS *bagitem "}"
276 bagname = token | URI
277 bagitem = bag | token | quoted-string
278
279 For example:
280
281 GET /a-document HTTP/1.1
282 Protocol: {http://some.org/an-extension}
283
284 HTTP/1.1 200 OK
285 Protocol: {http://some.org/an-extension}
286 Vary: Protocol
287 Content-Type: text/plain
288
289 Glad you're using an-extension!
290
291 Note the use of the Vary header to notify proxies that responses
292 to GET /a-document depend on the Protocol header fields used in
293 the request.
294
295 Hop-by-hop Extensions
296
297 Extensions declared with the Protocol header field are end-to-end
298 extensions, transparent to intermediaries. Hop-by-hop extensions
299 are declared with the C-Protocol header field, in conjunction with
300 the Connection header (<a href="#HTTP">[HTTP}, section @@).
301
302 The syntax is essentially the same as the Protocol header field.
303
304 C-Protocol = "C-Protocol" ":" 1#extension-decl
305
306
307
308
309
310
311 Connolly Internet Draft [Page 5]
312
313
314
315
316 $Date: 1997/01/31 23:05:32 $ PEP January 1997
317
318
319 3.2. Considerations for Defining Extensions
320
321 While the protocol extension definition should be published at the
322 address of the extension identifier, this is not strictly
323 necessary. The only absolute requirement is that distinct names be
324 used for distinct semantics.
325
326 For example, one way to achive this is to use an mid:, cid:, or
327 uuid: URL. The association between the extension identifier and
328 the specification might be made by distributing a specification
329 which references the extension identifier. Care must be taken not
330 to distribute conflicting specifications which reference the same
331 name.
332
333 Even when the web is used to publish extension specifications,
334 care must be taken that the specification made available at that
335 address does not change significantly over time. One agent may
336 associate the identifier with the old semantics, and another might
337 associate it with the new semantics.
338
339 Bootstrapping and Dynamic Loading
340
341 The extension definition may be made available in different
342 representations. For example, a software component that implements
343 the specification may reside at the same address as a human-
344 readable specification (distinguished by content negotation).
345
346 The human-readable representation serves to document the extension
347 and encourage deployment, while the software component to allows
348 clients and servers to be dynamically extended.
349
350 Caching and Connections
351
352 For each aspect of an extension, the interaction with other
353 aspects of HTTP/1.1 must be fully specified, and the issues of
354 compatibility should be discussed. For example, any extension
355 headers which are not strictly entity headers require careful
356 consideration. See [HTTP] sections 13.5.1. (@@more references
357 were lost in an editing disaster)
358
359 4. Notification
360
361 Some extensions are used spontaneously by participating clients; for
362 example, a client may be configured to use and extension, or a user
363 interface option may trigger the use of an extension.
364
365 But in many cases, the origin server dictates the use of one or more
366 extensions. In this case, it is useful for the server to communicate
367 its policies to the client.
368
369 The server may notify the client that some resources should be
370 accessed using one or more extensions with the Protocol-Info header
371
372
373
374 Connolly Internet Draft [Page 6]
375
376
377
378
379 $Date: 1997/01/31 23:05:32 $ PEP January 1997
380
381
382 field. The resources are specified by a relative or absolute URI,
383 with an optional wildcard flag indicating that the notification
384 applies to all URIs containing the specified URI as a prefix.
385
386 The strength of the policy for an extension for the resources is one
387 of req, ref, or opt.
388
389 req
390 Required. The resource must be accessed using the extension.
391
392 opt
393 Optional. The resource may be accessed using the extension or not
394 using the extension.
395
396 ref
397 Refused. The resource may not be accessed using the extension.
398
399 The syntax is:
400
401 Protocol-Info = "Protocol-Info" ":" 1#policy-decl
402 policy-decl = "{" extension-id *policy-info "}"
403 policy-info = str | params | headers | scope | for
404 str = "{" "str" ("req" | "ref" | "opt" ) "}"
405 scope = "{" "scope" ( "conn" | "origin" ) "}"
406 for = "{" "for" URI [ wildcard ] "}"
407 wildcard = "*"
408
409 Note that a Protocol-Info with a for parameter may give information
410 about a different resource from the resource described by the other
411 header fields in the same message. Nonetheless, the freshness of the
412 information in the Protocol-Info header field is the same as the rest
413 of the header fields (which see [HTTP] section 13.2, "Expiration
414 Model").
415
416 The notice is strictly advisory. The client should heed the notice on
417 its next request to the relavent server, unless the delay between
418 receiving the notice and that next request far exceeds the freshness
419 of the reply containing the Protocol-Info header.
420
421 For example, consider the case of an HTML form, where the associated
422 ACTION resource requires a payment extension. In the response that
423 provides the form, the server may notify the client about the ACTION
424 resource:
425
426 HTTP/1.1 200 OK
427 Content-Type: text/html
428 Protocol-Info: {http://some.org/payment-thingy {for /cgi-bin/buy *} {str req}}
429
430 <form action="/cgi-bin/buy">
431 ...
432
433
434
435
436
437 Connolly Internet Draft [Page 7]
438
439
440
441
442 $Date: 1997/01/31 23:05:32 $ PEP January 1997
443
444
445 4.1. 420: Bad Extensions
446
447 A server policy may require (or refuse) the use of some extensions
448 in some circumstances. If a request fails to fulfill the policy,
449 the server should respond with a 420 status code (Bad Extensions)
450 and specify the policy using the <a href="#request-
451 syntax">Protocol-Info header field.
452
453 Implementors may note the similarity to the way authentication
454 challenges are issued with the 401 (Unauthorized) status code.
455
456 5. Extension Header Fields
457
458 Each HTTP extension that uses the PEP mechanism may define one or
459 more extension header fields.
460
461 Note that params in extension declarations provide the same facility
462 with less complexity, and provide a syntactic structure that closely
463 resembles the semantic structure. This mechanism is redundant, but
464 provided for the case where the use of header fields is essential.
465
466 Each extension header field present in a message is associated with
467 exactly one protocol extension identifier in a Protocol or C-Protocol
468 header field.
469
470 It is an error (400 Bad Request) to include the same header field
471 name in two different extension-decls in the same message, and it is
472 an error if a header field name matches wildcard prefixes in more
473 than one extension-decl.
474
475 Wildcard matching is as follows: A header field name N matches a
476 prefix P-* iff N is the concatenation of Q- and any string S, where P
477 and Q are the same except for differences in the case of letters.
478
479 For example:
480
481 GET /newsletter.html HTTP/1.1
482 Protocol: {http//www.someschool.edu/HTTP/MicroPay {headers micropay} }
483 Micropay: USD $0.003 creds:lw3jlkwj3lkw3ljk
484
485 or using a wildcard prefix:
486
487 GET /newsletter.html HTTP/1.1
488 Protocol: {http//www.someschool.edu/HTTP/MicroPay {headers M-*} }
489 M-micropay: USD $0.003 creds:lw3jlkwj3lkw3ljk
490
491 Header Field Name Collisions
492
493 It is possible that two extensions specify the use of the same
494 header field name. If two such extensions are used in the same
495 message, the name collision must be resolved, either by prefixing
496 or replacing the header names.
497
498
499
500 Connolly Internet Draft [Page 8]
501
502
503
504
505 $Date: 1997/01/31 23:05:32 $ PEP January 1997
506
507
508 The header field names in the message can be replaced with
509 arbitrary names; the header fields must be given a distinguished
510 order in the protocol extension definition. This order can be used
511 to associate the replacement names with the original semantics.
512
513 For example, consider extensions E1 and E2. E1 involves headers
514 Tax and Price, and E2 involves Price and Color.
515
516 These might be combined in the same message as:
517
518 Protocol: {E1 {headers price tax}}
519 Price: $2.99
520 Tax: 8.25%
521 Protocol: {E2 {headers AB12-price color }}
522 AB12-Price: $2.99
523 Color: red
524
525 Since the first extension header specified in E2 is Price, the
526 semantics of the AB12-price header are clear.
527
528 Header prefixing is similar; if the name in the protocol extension
529 specification is N, and the distinguishing prefix is P-, then the
530 name used in the message is P-N. For example:
531
532 Protocol: {E1 {headers price tax}}
533 Price: $2.99
534 Tax: 8.25%
535 Protocol: {E2 {headers AB12-*}}
536 AB12-Price: $2.99
537 AB12-Color: red
538
539 6. Extension Encodings
540
541 Each HTTP extension that uses the PEP mechanism may define one or
542 more extension content encodings. Each extension content encoding in
543 the Content-Encoding header field present in a message is associated
544 with exactly one protocol extension identifier in a Protocol header
545 field.
546
547 The association is either by name (case insensitive) or by wildcard
548 prefix, as above. Name collisions must be resolved by prefixing.
549
550 For example:
551
552
553
554
555
556
557
558
559
560
561
562
563 Connolly Internet Draft [Page 9]
564
565
566
567
568 $Date: 1997/01/31 23:05:32 $ PEP January 1997
569
570
571 GET /sparse-document HTTP/1.1
572 Protocol: {http://some.org/special-encoding {enc special}}
573
574 HTTP/1.1 200 OK
575 Protocol: {http://some.org/special-encoding {enc special}}
576 Content-Encoding: special
577 Content-Type: application/sparse-data
578
579 ... sparse data encoded with "special" encoding ...
580
581 7. Security Considerations
582
583 The for parameter allows one party to give information about the
584 extensions used by another party's resources. The parties may
585 provide resources on different servers, or at different addresses on
586 the same server. While there is no reasonable way for clients to
587 distinguish between the parties responsible for different resources
588 at the same server, clients should ignore information given by one
589 server about another unless they have reason to trust it, or reason
590 to believe that trusting it will have no significant negative
591 consequences.
592
593 Future Work
594
595 Further design and implementation work is necessary to completely
596 meet the requirements for PEP.
597
598 Binding Extensions
599
600 This design does not completely meet the requirement that one
601 party can require another party to participate in an extension. An
602 earlier draft specified a new version number and the use of {str
603 req} in extension-declarations. But this will have no impact on
604 HTTP 1.1 clients and servers, and hence does not meet the
605 requirement.
606
607 One possibility is a change to the syntax of methods in HTTP
608 request for the purpose of expressing binding extensions. For
609 example:
610
611 BINDING PUT /a-resource HTTP/1.2
612 Protocol: {http://some.org/rights-management {str req}
613 {params {copyright-remains-with-client}
614 {nonexclusive-right-to-redistribute} }
615 Content-Type: text/html
616
617 <!doctype html ...
618
619 Unfortunately, this does not accomodate the case of a binding end-
620 to-end extension that passes through a proxy.
621
622
623
624
625
626 Connolly Internet Draft [Page 10]
627
628
629
630
631 $Date: 1997/01/31 23:05:32 $ PEP January 1997
632
633
634 Mult-Transaction Negotiation
635
636 An earlier draft of PEP included a mechanism for multi-transaction
637 negotiation. Implementation experience showed the need to identify
638 clients across transactions, which the mechanism did not provide.
639
640 It is possible, within the design specified here, to do multi-
641 transaction negotiation within an extension (for example, by
642 putting information to disambiguate conversation threads in the
643 params).
644
645 Other possibilities under consideration include the use of state
646 management "cookies" to disambiguate clients, or the use of an
647 analagous PEP-specific mechanism.
648
649 8. Appendix: Considerations for the Design of a PEP Software Component
650 Interface
651
652 This section got blown away in an editing disaster. The editor will
653 attempt to include it in a future draft.
654
655 9. Normative References
656
657 [URL]
658
659 T. Berners-Lee and L. Masinter and M. McCahill, RFC 1738: Uniform
660 Resource Locators (URL), pp. 25, Dec 1994.
661
662 [HTTP]
663 R. Fielding, J. Gettys, J. C. Mogul, H. Frystyk, T. Berners-Lee,
664 Hypertext Transfer Protocol -- HTTP/1.1. RFC 2068 UC Irvine, DEC,
665 DEC, W3C/MIT, W3C/MIT, January 1997
666
667 10. Bibliography: Informative References
668
669 [CGI]
670
671 D. Robinson The WWW Common Gateway Interface Version 1.1, work in
672 progress 15 February 1996
673
674 [HTML2]
675 T. Berners-Lee & D. Connolly, November 1995. Hypertext Markup
676 Language - 2.0 RFC 1866
677
678 [NSAPI]
679
680 <A
681 HREF="http://home.netscape.com/newsref/std/server_api.html">Netscape
682 server API documentation, 1995
683
684
685
686
687
688
689 Connolly Internet Draft [Page 11]
690
691
692
693
694 $Date: 1997/01/31 23:05:32 $ PEP January 1997
695
696
697 [ISAPI]
698
699 ISAPI documentation, Microsoft Corporation, in ActiveX Alpha SDK,
700 http://www.msn.com/download/sdk/msactivedk.zip, 1996
701
702 [Apache]
703
704 Thau, Robert, <A
705 HREF="http://www5conf.inria.fr/fich_html/papers/P20/Overview.html">Design
706 considerations for the Apache Server API, Fifth International
707 World Wide Web Conference, May 6-10, 1996, Paris, France
708
709 [OM]
710
711 <A
712 HREF="http://www.openmarket.com/library/WhitePapers/Server/index.html">OpenMarket
713 server technical overview sometime in 1996.
714
715 [Spy95]
716
717 <A
718 HREF="http://www.spyglass.com/techspec/specs/adi_spec.html">Spyglass
719 Server Application Development Interface Spyglass, Inc. version
720 1.17 1995/09/11
721
722 [MAILCAP]
723
724 N. Borenstein, RFC 1524: A User Agent Configuration Mechanism For
725 Multimedia Mail Format Information, pp. 12, Sep 1993.
726
727 [STATE]
728
729 D. Kristol, L. Montulli, 22 Nov 1996. "HTTP State
730 Management Mechanism", <A href="ftp://ds.internic.net/internet-
731 drafts/draft-ietf-http-state-mgmt-05.txt">RFC xxxx. Proposed
732 Standard Approved by the IESG, not yet
733 assigned an RFC.
734
735 [Kristol95]
736 David M. Kristol, A Proposed Extension Mechanism for HTTP, Jan
737 1995. D. Kristol, A Proposed Extension Mechanism for HTTP,
738 Internet Draft, January 1995 (Work in Progress, Expired).
739
740 [RFC822]
741 D. H. Crocker. Standard for the Format of ARPA Internet Text
742 Messages. STD 11, RFC 822, UDEL, August 1982.
743
744 [UPP] D. Eastlake, &quot;Universal Payment Preamble&quot;, Internet
745 Draft CyberCash, March 1996 (Work in Progress).
746
747
748
749
750
751
752 Connolly Internet Draft [Page 12]
753
754
755
756
757 $Date: 1997/01/31 23:05:32 $ PEP January 1997
758
759
760 [JEPI]
761 JEPI, &quot;Selecting Payment Mechanisms Over HTTP&quot;, Internet
762 Draft, August 1996 (Work in Progress). [Also available as
763 http://www.w3.org/pub/WWW/Payments/JEPI/draft-jepi-
764 uppflow-00.html]
765
766 [MAILEXT] J. Klensin, N. Freed, M. Rose, E. Stefferud, and D.
767 Crocker. &quot;SMTP Service Extensions.&quot; RFC 1869. MCI,
768 Innosoft, Dover Beach Consulting, Network Management Associates,
769 Brandenburg Consulting, November 1995.
770
771 [PICS] J. Miller. PICS Label Syntax and Communication Protocols
772 (Version 1.1).; W3C Proposed Recommendation PR-PICS-services , W3
773 Consortium/MIT, August 1996.
774
775 [SpyClient]
776
777 <A
778 HREF="http://www.spyglass.com/techspec/wpapers/sdkintro.html">Spyglass
779 Client Software Development Kit
780
781 [SpyEcom]
782
783 <A
784 HREF="http://www.spyglass.com/techspec/wpapers/ecomstd.html">Electronic
785 Commerce Standards for the WWW
786
787 [WN]
788
789 WN server documentation, 1995
790
791 [Spinner]
792
793 Spinner server technical overview, <A name="bib8"
794 href="http://spinner.infovav.se/overview.html">http://spinner.infovav.se/overview.html,
795 1995
796
797 Acknowledgements
798
799 This draft of PEP is the product of a substantial amount of
800 investigation and collaboration. Dave Kristol did some of the first
801 writing on HTTP extension mechanisms. <a
802 href="#Kristol95">[Kristol95]. Jim Miller and Dave Raggett sketched
803 out an initial design, which Rohit Khare wrote up in a number of
804 drafts.
805
806 This draft is a direct reflection of some implementation work: a
807 client implementation Henrik Frystyk Nielson et. al. (see the <a
808 href="http://www.w3.org/pub/WWW/Library/src/HTPEP.html">HTPEP module
809 in libwww) and a server implementation by Eui Suk Chung and Anit
810 Chakraborty for the JEPI project.
811
812
813
814
815 Connolly Internet Draft [Page 13]
816
817
818
819
820 $Date: 1997/01/31 23:05:32 $ PEP January 1997
821
822
823 Tim Berners-Lee contributed significantly to the requirements
824 section, and Daniel Dardailler provided extensive review ocmments.
825
826 Author's Addresses
827
828 Dan Connolly
829 Architecture Domain Lead, W3 Consortium
830 MIT Laboratory for Computer Science
831 545 Technology Square
832 Cambridge, MA 02139, U.S.A.
833 Tel: +1 (512) 310 2971 Email: connolly@w3.org
834
835 Rohit Khare
836 Technical Staff, W3 Consortium
837 MIT Laboratory for Computer Science
838 545 Technology Square
839 Cambridge, MA 02139, U.S.A.
840 Tel: +1 (617) 253 5884
841 Fax: +1 (617) 258 5999 Email: khare@w3.org
842
843 Henrik Frystyk Nielson
844 Technical Staff, W3 Consortium
845 MIT Laboratory for Computer Science
846 545 Technology Square
847 Cambridge, MA 02139, U.S.A.
848 Tel: +1 (617) 253 8143
849 Fax: +1 (617) 258 5999 Email: frystyk@w3.org
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878 Connolly Internet Draft [Page 14]
879

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24