Services/Sync/Protocol 2.0 changes
From MozillaWiki
Proposed changes to migrate to 2
Change name of protocol, including URL prefix
browserid support
- token server and metadata tokens
- remove username from urls?
max individual request size
- right now we limit (not implemented in python!) wbo size, but not total size. Restrict post body size to 1M? Do this at Zeus level? What is the spec for return values. Overall post body size, including chunked overhead?
drop parentid
drop predecessorid
return milliseconds since epoch
- figure out how to get the timestamp into integer precision for internal storage
405 for wrong method
- Cornice probably buys us this directly
304 not modified when X-If-Unmodified-Since < current
- Saves processing the request body
- Remove Weave name from all headers
drop whoisi as a return format
generate better docs for how to implement backoff on client
Incorporate metlog logging
- talk to atoll about what we need to reimplement, to match zeus logging
Proposed changes to migrate to 2.1
delete /storage takes multiple collections
- Will give us the ability to delete "everything except keys" without using a loop
sync sesssions with server-generated token - helps avoid races
- generated on write without auth token if none exists on server side
- can't write if there's a token in place without it. Can't read? (may be inconsistent)
- need a way to have client expire token and length after which it autoexpires
- make it part of auth protocol
way to let the server know that there's a data problem
- have a flag that says "this account reported corrupted" to handle HMAC mismatches, etc
- Maybe in metaglobal?
- is this a storage problem? or particular to sync