The Atom Publishing Protocol
RFC 5023
Network Working Group J. Gregorio, Ed.
Request for Comments: 5023 Google
Category: Standards Track B. de hOra, Ed.
NewBay Software
October 2007
The Atom Publishing Protocol
Status of This Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Abstract
The Atom Publishing Protocol (AtomPub) is an application-level
protocol for publishing and editing Web resources. The protocol is
based on HTTP transfer of Atom-formatted representations. The Atom
format is documented in the Atom Syndication Format.
Gregorio & de hOra Standards Track [Page 1]
RFC 5023 The Atom Publishing Protocol October 2007
Table of Contents
1. Introduction ....................................................4
2. Notational Conventions ..........................................4
2.1. XML-Related Conventions ....................................4
2.1.1. Referring to Information Items ......................4
2.1.2. RELAX NG Schema .....................................4
2.1.3. Use of "xml:base" and "xml:lang" ....................5
3. Terminology .....................................................5
4. Protocol Model ..................................................6
4.1. Identity and Naming ........................................6
4.2. Documents and Resource Classification ......................7
4.3. Control and Publishing .....................................8
4.4. Client Implementation Considerations .......................9
5. Protocol Operations .............................................9
5.1. Retrieving a Service Document .............................10
5.2. Listing Collection Members ................................10
5.3. Creating a Resource .......................................11
5.4. Editing a Resource ........................................11
5.4.1. Retrieving a Resource ..............................11
5.4.2. Editing a Resource .................................12
5.4.3. Deleting a Resource ................................12
5.5. Use of HTTP Response Codes ................................12
6. Protocol Documents .............................................13
6.1. Document Types ............................................13
6.2. Document Extensibility ....................................13
7. Category Documents .............................................14
7.1. Example ...................................................14
7.2. Element Definitions .......................................14
7.2.1. The "app:categories" Element .......................14
8. Service Documents ..............................................15
8.1. Workspaces ................................................16
8.2. Example ...................................................16
8.3. Element Definitions .......................................17
8.3.1. The "app:service" Element ..........................17
8.3.2. The "app:workspace" Element ........................18
8.3.3. The "app:collection" Element .......................18
8.3.4. The "app:accept" Element ...........................19
8.3.5. Usage in Atom Feed Documents .......................19
8.3.6. The "app:categories" Element .......................20
9. Creating and Editing Resources .................................20
9.1. Member URIs ...............................................20
9.2. Creating Resources with POST ..............................20
9.2.1. Example ............................................21
9.3. Editing Resources with PUT ................................22
9.4. Deleting Resources with DELETE ............................22
9.5. Caching and Entity Tags ...................................22
9.5.1. Example ............................................23
Gregorio & de hOra Standards Track [Page 2]
RFC 5023 The Atom Publishing Protocol October 2007
9.6. Media Resources and Media Link Entries ....................25
9.6.1. Examples ...........................................26
9.7. The Slug Header ...........................................30
Show full document text