| draft-laugstol-apache-maven-repository-rest-applications-03.txt | draft-laugstol-apache-maven-repository-rest-applications-04.txt | |||
|---|---|---|---|---|
| skipping to change at page 1, line 39 | skipping to change at page 1, line 39 | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on May 14, 2012. | This Internet-Draft will expire on May 14, 2012. | |||
| Table of Contents | Table of Contents | |||
| 1. TODOs and Notes . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. TODOs and Notes . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 | 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2.1. Goals: . . . . . . . . . . . . . . . . . . . . . . . . . . 2 | 2.1. Goals: . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2.2. Implementation goals . . . . . . . . . . . . . . . . . . . 3 | 2.2. Implementation goals . . . . . . . . . . . . . . . . . . . 3 | |||
| 2.3. Areas explicitly not covered . . . . . . . . . . . . . . . 3 | 2.3. Areas explicitly not covered . . . . . . . . . . . . . . . 3 | |||
| 2.4. Deployment scenarios . . . . . . . . . . . . . . . . . . . 3 | 2.4. Deployment scenarios . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. Specification . . . . . . . . . . . . . . . . . . . . . . . . 3 | 3. Specification . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3.1. Media Types . . . . . . . . . . . . . . . . . . . . . . . 3 | 3.1. Media Types . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3.2. Operations . . . . . . . . . . . . . . . . . . . . . . . . 3 | 3.2. Operations . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3.3. Uploading Artifacts . . . . . . . . . . . . . . . . . . . 4 | 3.3. Uploading Artifacts . . . . . . . . . . . . . . . . . . . 5 | |||
| 3.4. Downloading Artifacts . . . . . . . . . . . . . . . . . . 4 | 3.4. Downloading Artifacts . . . . . . . . . . . . . . . . . . 5 | |||
| 3.4.1. Download a single artifact . . . . . . . . . . . . . . 4 | 3.4.1. Download a single artifact . . . . . . . . . . . . . . 5 | |||
| 3.4.2. Download a set of artifacts . . . . . . . . . . . . . 4 | 3.4.2. Download a set of artifacts . . . . . . . . . . . . . 5 | |||
| 3.5. Searching . . . . . . . . . . . . . . . . . . . . . . . . 5 | 3.5. Searching . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 4. Protocol Bindings . . . . . . . . . . . . . . . . . . . . . . 5 | 4. Protocol Bindings . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 4.1. Response Bindings . . . . . . . . . . . . . . . . . . . . 5 | 4.1. Response Bindings . . . . . . . . . . . . . . . . . . . . 5 | |||
| 5. Security Aspects . . . . . . . . . . . . . . . . . . . . . . . 5 | 5. Security Aspects . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 5.1. Authentication and Authorization . . . . . . . . . . . . . 5 | 5.1. Authentication and Authorization . . . . . . . . . . . . . 5 | |||
| 6. User-Agent Considerations . . . . . . . . . . . . . . . . . . 5 | 6. User-Agent Considerations . . . . . . . . . . . . . . . . . . 5 | |||
| 7. HTTP Binding . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 7. HTTP Binding . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 8. Appendix: Words and Definitions . . . . . . . . . . . . . . . 5 | 8. Appendix: Words and Definitions . . . . . . . . . . . . . . . 6 | |||
| 9. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | |||
| 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 10.1. Link Relation: http://maven.apache.org/rel/pom . . . . . 6 | 10.1. Link Relation: http://maven.apache.org/rel/pom . . . . . 6 | |||
| 10.2. Link Relation: http://maven.apache.org/rel/md5 . . . . . 6 | 10.2. Link Relation: http://maven.apache.org/rel/md5 . . . . . 6 | |||
| 10.3. Link Relation: http://maven.apache.org/rel/sha1 . . . . . 6 | 10.3. Link Relation: http://maven.apache.org/rel/sha1 . . . . . 6 | |||
| 10.4. Media Type: text/vnd.maven.pom . . . . . . . . . . . . . 6 | 10.4. Media Type: text/vnd.maven.pom . . . . . . . . . . . . . 7 | |||
| 10.5. Media Type: text/vnd.maven.md5 . . . . . . . . . . . . . 6 | 10.5. Media Type: text/vnd.maven.md5 . . . . . . . . . . . . . 7 | |||
| 10.6. Media Type: text/vnd.maven.sha1 . . . . . . . . . . . . . 6 | 10.6. Media Type: text/vnd.maven.sha1 . . . . . . . . . . . . . 7 | |||
| 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 12. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | 12. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | |||
| 13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6 | 13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 14.1. Normative References . . . . . . . . . . . . . . . . . . 6 | 14.1. Normative References . . . . . . . . . . . . . . . . . . 7 | |||
| 14.2. Informative References . . . . . . . . . . . . . . . . . 7 | 14.2. Informative References . . . . . . . . . . . . . . . . . 7 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 7 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 1. TODOs and Notes | 1. TODOs and Notes | |||
| o Is it useful to register "Maven Coordinate" HTTP header? Maven- | o How should an artifact be identified? | |||
| Coordinate: groupId=com.example, artifactId=example, type=jar, | ||||
| classifiers=awesome, version=1.2.3 | * A "Maven Coordinate" HTTP header? Maven-Coordinate: | |||
| groupId=com.example, artifactId=example, type=jar, | ||||
| classifiers=awesome, version=1.2.3 | ||||
| * A maven URI type? maven://groupId/artifactId/version? | ||||
| * A maven URN prefix? urn:maven:artifact:groupId=..:artifactId=. | ||||
| .:classifier=..:type=..:version=.. | ||||
| o Promising media types and link relations: | o Promising media types and link relations: | |||
| * "describedby" link relation - a link from an artifact to its | * "describedby" link relation - a link from an artifact to its | |||
| POM | POM | |||
| * "edit" link relation describing an external form of editing. | * "edit" link relation describing an external form of editing. | |||
| useful if we don't want to include all the edit controls inside | useful if we don't want to include all the edit controls inside | |||
| feeds. Reduces bandwidth and latency | feeds. Reduces bandwidth and latency | |||
| * atom and collection+JSON seem like nice formats for | * atom and collection+JSON seem like nice formats for | |||
| manipulating lists of artifacts. | manipulating lists of artifacts. | |||
| * metalink looks like a nice way to include | * metalink looks like a nice way to include | |||
| + There are both a standalone XML format and a HTTP binding | + There are both a standalone XML format and a HTTP binding | |||
| that can be used. It might be feasible to include metalink | that can be used. It might be feasible to include metalink | |||
| inside atom and possibly metalink inside collection+JSON | inside atom and possibly metalink inside collection+JSON | |||
| Put this where it'll fit later: It is assumed that there will always | ||||
| only be a single instance of an artifact + version. If two | ||||
| repositories can resolve the same artifact any user agent can choose | ||||
| arbitrary which one it'll like to use. | ||||
| This is important as some people download an artifact from one | ||||
| repository, modify it and upload it to another repository. This is | ||||
| sometimes done by operations when they consume artifacts from a | ||||
| "developer" repository, inject some configuration variables and | ||||
| pushes it to a "production" repository. | ||||
| 2. Introduction | 2. Introduction | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in RFC 2119 [RFC2119]. | document are to be interpreted as described in RFC 2119 [RFC2119]. | |||
| 2.1. Goals: | 2.1. Goals: | |||
| o Any user agent should be able to rely on caching information given | o Any user agent should be able to rely on caching information given | |||
| by the repository. No explicit caching should be necessary by the | by the repository. No explicit caching should be necessary by the | |||
| End of changes. 6 change blocks. | ||||
| 22 lines changed or deleted | 40 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||