Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/braid-org/braid-spec
Working area for Braid extensions to HTTP
https://github.com/braid-org/braid-spec
http ietf synchronization
Last synced: 18 days ago
JSON representation
Working area for Braid extensions to HTTP
- Host: GitHub
- URL: https://github.com/braid-org/braid-spec
- Owner: braid-org
- Created: 2019-10-15T23:36:55.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-10-22T01:39:47.000Z (about 2 months ago)
- Last Synced: 2024-10-22T20:51:21.006Z (about 2 months ago)
- Topics: http, ietf, synchronization
- Homepage: https://braid.org
- Size: 585 KB
- Stars: 233
- Watchers: 28
- Forks: 16
- Open Issues: 34
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-starred - braid-org/braid-spec - Working area for Braid extensions to HTTP (http)
README
# Braid: Adding Synchronization to HTTP
This is the working area for the [Braid](https://braid.org) extensions to
HTTP in the [IETF HTTP Working Group](https://httpwg.org/). These extensions
add Synchronization to HTTP. They are authored in three documents:### Braid HTTP — [`draft-toomim-httpbis-braid-http-04.txt`](https://raw.githubusercontent.com/braid-org/braid-spec/master/draft-toomim-httpbis-braid-http-04.txt)
Braid adds to HTTP:
1. *Versioning* of resource history
2. *Updates* sent as patches
3. *Subscriptions* to updates over time
4. *Merge-Types* that specify OT or CRDT behavior### Versions — [`draft-toomim-httpbis-versions-03.txt`](https://raw.githubusercontent.com/braid-org/braid-spec/master/draft-toomim-httpbis-versions-03.txt)
Versions identify time for distributed state. We extend existing HTTP methods
(GET, HEAD, PUT, PATCH, POST, DELETE) with version semantics, so that they can
read, write, and refer to multiple versions a resource as it changes over
time.### Range Patch — [`draft-toomim-httpbis-range-patch-01.txt`](https://raw.githubusercontent.com/braid-org/braid-spec/master/draft-toomim-httpbis-range-patch-01.txt)
A uniform approach for expressing changes to state over HTTP. Generalizes
Range Requests to other HTTP methods. Defines the replacement of a range with
a new value.### Merge Types — [`draft-toomim-httpbis-merge-types-00.txt`](https://raw.githubusercontent.com/braid-org/braid-spec/master/draft-toomim-httpbis-merge-types-00.txt)
Merge Types specify how to consistently merge a set of simultaneous
conflicting edits to a resource. If multiple computers implement the same
Merge Type, they can guarantee eventual consistency after arbitrary
multi-writer edits.### Linked JSON — [`draft-toomim-httpbis-linked-json-00.txt`](https://raw.githubusercontent.com/braid-org/braid-spec/master/draft-toomim-httpbis-linked-json-00.txt)
Linked JSON is an extension of JSON that adds a Link datatype, so that URIs
can be distinguished from ordinary strings. This allows JSON documents to
be nested inside other JSON documents.## Contributing
You are welcome to edit these documents. To get Github access, send your
login to [Michael](mailto:[email protected]). Discuss edits on the
[Braid mailing list](https://groups.google.com/forum/#!forum/braid-http).
After editing, add your name to the authors list at the top and bottom of the
document.Discussion of the spec should occur on the
[IETF HTTPWG mailing list](https://lists.w3.org/Archives/Public/ietf-http-wg/)
mailing list. Anyone can contribute; you don't have to join the HTTP Working
Group, because there is no "membership" — anyone who participates in the work
is part of the HTTP Working Group. See also
[Contributing to the HTTP Working Group](https://github.com/httpwg/http-extensions/blob/master/CONTRIBUTING.md).All material in this repository is considered Contributions to the
([IETF](https://www.ietf.org/)) Standards Process, as defined in the
intellectual property policies of IETF currently designated as
[BCP 78](https://www.rfc-editor.org/info/bcp78),
[BCP 79](https://www.rfc-editor.org/info/bcp79) and the
[IETF Trust Legal Provisions (TLP) Relating to IETF Documents](http://trustee.ietf.org/trust-legal-provisions.html).
Any edit, commit, pull request, issue, comment or other change made to this
repository constitutes Contributions to the IETF Standards Process
(https://www.ietf.org/).
You agree to comply with all applicable IETF policies and procedures,
including, BCP 78, 79, the TLP, and the TLP rules regarding code components
(e.g. being subject to a Simplified BSD License) in Contributions.