-
-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement ETags for synchronization Speed-Up #359
Labels
enhancement
New feature or request
Comments
stefan-niedermann
added
enhancement
New feature or request
🖥 server
This issue depends on changes on the REST-API
labels
Apr 4, 2020
The server app has implemented support for |
stefan-niedermann
removed
🖥 server
This issue depends on changes on the REST-API
🚫 blocked
labels
Nov 15, 2020
desperateCoder
added a commit
that referenced
this issue
Nov 22, 2020
desperateCoder
added a commit
that referenced
this issue
Nov 22, 2020
desperateCoder
added a commit
that referenced
this issue
Nov 22, 2020
desperateCoder
added a commit
that referenced
this issue
Nov 22, 2020
desperateCoder
added a commit
that referenced
this issue
Nov 22, 2020
stefan-niedermann
pushed a commit
that referenced
this issue
Nov 22, 2020
stefan-niedermann
pushed a commit
that referenced
this issue
Nov 22, 2020
stefan-niedermann
pushed a commit
that referenced
this issue
Nov 22, 2020
stefan-niedermann
pushed a commit
that referenced
this issue
Nov 22, 2020
stefan-niedermann
pushed a commit
that referenced
this issue
Nov 22, 2020
Will be shipped with |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This issue depends on nextcloud/deck#1650
Basically each
GET
-response from the server will contain anETag
-header. This header has to be stored in the clients database.On each
GET
-request the client will have to add aIf-None-Match
-header with the value of the previously storedETag
-header. Of course it can benull
or empty if it is the first request to this resource.If the resources have changed since the last request, the response will be like today - containing everything. In this case we should proceed like today.
But, and this is the actual benefit: If the
If-None-Match
-header matches the currentETag
of the server, the server will simply respond with a http status code304
because nothing has changed. First benefit is, that we don't have to transfer muchjson
-data, but the incredible speed up will come from our customETag
-implementation we discussed in nextcloud/deck#1650 (comment): If we receive for example for a board the status code304
, we do no longer need to go deeper for the sync. This means: If we receive304
on a board, we automatically know, that all descendants also haven't changed and we therefore don't need to query them. cool, huh?So benefits:
The best thing of it: We can already start implementing it, because the
If-None-Match
-header is currently completely ignored. It will simply start working as soon as the server part has been finished 🙂.The text was updated successfully, but these errors were encountered: