Connected: An Internet Encyclopedia
RFC 1945

Top: Connected: An Internet Encyclopedia
Up: Requests For Comments

Search: |  | Search Depth: |
Search Type: | String RegEx | Search Options: | NoCase WholeWord

Next: 1. Introduction

Network Working Group
Request for Comments: 1945
Category: Informational

T. Berners-Lee
MIT/LCS
R. Fielding
UC Irvine
H. Frystyk
MIT/LCS
May 1996

### Hypertext Transfer Protocol -- HTTP/1.0

### Status of This Memo

This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind. Distribution of this memo is unlimited.

### IESG Note:

The IESG has concerns about this protocol, and expects this document to be replaced relatively soon by a standards track document.

### Abstract

The Hypertext Transfer Protocol (HTTP) is an application-level protocol with the lightness and speed necessary for distributed, collaborative, hypermedia information systems. It is a generic, stateless, object-oriented protocol which can be used for many tasks, such as name servers and distributed object management systems, through extension of its request methods (commands). A feature of HTTP is the typing of data representation, allowing systems to be built independently of the data being transferred.

HTTP has been in use by the World-Wide Web global information initiative since 1990. This specification reflects common usage of the protocol referred to as "HTTP/1.0".

### Table of Contents

1. Introduction

1.1 Purpose
1.2 Terminology
1.3 Overall Operation
1.4 HTTP and MIME

2. Notational Conventions and Generic Grammar

2.1 Augmented BNF
2.2 Basic Rules

3. Protocol Parameters

3.1 HTTP Version
3.2 Uniform Resource Identifiers

3.2.1 General Syntax
3.2.2 http URL

3.3 Date/Time Formats
3.4 Character Sets
3.5 Content Codings
3.6 Media Types

3.6.1 Canonicalization and Text Defaults
3.6.2 Multipart Types

3.7 Product Tokens

4. HTTP Message

4.1 Message Types
4.2 Message Headers
4.3 General Header Fields

5. Request

5.1 Request-Line

5.1.1 Method
5.1.2 Request-URI

5.2 Request Header Fields

6. Response

6.1 Status-Line

6.1.1 Status Code and Reason Phrase

6.2 Response Header Fields

7. Entity

7.1 Entity Header Fields
7.2 Entity Body

7.2.1 Type
7.2.2 Length

8. Method Definitions

8.1 GET
8.2 HEAD
8.3 POST

9. Status Code Definitions

9.1 Informational 1xx
9.2 Successful 2xx
9.3 Redirection 3xx
9.4 Client Error 4xx
9.5 Server Error 5xx

10. Header Field Definitions

10.1 Allow
10.2 Authorization
10.3 Content-Encoding
10.4 Content-Length
10.5 Content-Type
10.6 Date
10.7 Expires
10.8 From
10.9 If-Modified-Since
10.10 Last-Modified
10.11 Location
10.12 Pragma
10.13 Referer
10.14 Server
10.15 User-Agent
10.16 WWW-Authenticate

11. Access Authentication

11.1 Basic Authentication Scheme

12. Security Considerations

12.1 Authentication of Clients
12.2 Safe Methods
12.3 Abuse of Server Log Information
12.4 Transfer of Sensitive Information
12.5 Attacks Based On File and Path Names

13. Acknowledgments
14. References
15. Authors' Addresses

### Appendices

These appendices are provided for informational reasons only -- they do not form a part of the HTTP/1.0 specification.

A. Internet Media Type message/http
B. Tolerant Applications
C. Relationship to MIME

C.1 Conversion to Canonical Form
C.2 Conversion of Date Formats
C.3 Introduction of Content-Encoding
C.4 No Content-Transfer-Encoding
C.5 HTTP Header Fields in Multipart Body-Parts

D. Additional Features

D.1 Additional Request Methods

D.1.1 PUT
D.1.2 DELETE
D.1.3 LINK
D.1.4 UNLINK

D.2 Additional Header Field Definitions

D.2.1 Accept
D.2.2 Accept-Charset
D.2.3 Accept-Encoding
D.2.4 Accept-Language
D.2.5 Content-Language
D.2.6 Link
D.2.7 MIME-Version
D.2.8 Retry-After
D.2.9 Title
D.2.10 URI

Original text document

Next: 1. Introduction

Connected: An Internet Encyclopedia
RFC 1945