Skip to content
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

Etag support #4594

Closed
waggledans opened this issue Feb 22, 2020 · 0 comments · Fixed by #5298
Closed

Etag support #4594

waggledans opened this issue Feb 22, 2020 · 0 comments · Fixed by #5298

Comments

@waggledans
Copy link

If-None-Match header takes precedence over If-Modified-Since and allows caching http clients to refresh the content only if content etag changes. Right now, only aiohttp server supports only If-Modified-Since header but not If-None-Match

💡 Describe the solution you'd like
If GET/HEAD request contains If-None-Match, the server should check for the resource etag and, it the etag matches the value in If-None-Match header, return Not Modified 304. More details are in RFC2616

Describe alternatives you've considered
None

greshilov added a commit to greshilov/aiohttp that referenced this issue Nov 28, 2020
greshilov added a commit to greshilov/aiohttp that referenced this issue Nov 28, 2020
greshilov added a commit to greshilov/aiohttp that referenced this issue Nov 28, 2020
greshilov added a commit to greshilov/aiohttp that referenced this issue Nov 28, 2020
@greshilov greshilov mentioned this issue Nov 28, 2020
5 tasks
greshilov added a commit to greshilov/aiohttp that referenced this issue Nov 28, 2020
greshilov added a commit to greshilov/aiohttp that referenced this issue Jan 31, 2021
webknjaz pushed a commit that referenced this issue Feb 14, 2021
This change adds an `etag` property to the response object and
`if_match`, `if_none_match` properties to the request object.
Also, it implements ETag support in static routes and fixes a
few bugs found along the way.

Refs:
* https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.26
* https://tools.ietf.org/html/rfc7232#section-2.3
* https://tools.ietf.org/html/rfc7232#section-6

PR #5298 by @greshilov
Resolves #4594

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
greshilov added a commit to greshilov/aiohttp that referenced this issue Mar 23, 2021
This change adds an `etag` property to the response object and
`if_match`, `if_none_match` properties to the request object.
Also, it implements ETag support in static routes and fixes a
few bugs found along the way.

Refs:
* https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.26
* https://tools.ietf.org/html/rfc7232#section-2.3
* https://tools.ietf.org/html/rfc7232#section-6

PR aio-libs#5298 by @greshilov
Resolves aio-libs#4594

Co-Authored-By: Serhiy Storchaka <storchaka@gmail.com>
Co-Authored-By: Andrew Svetlov <andrew.svetlov@gmail.com>
webknjaz pushed a commit that referenced this issue Mar 24, 2021
This change adds an `etag` property to the response object and
`if_match`, `if_none_match` properties to the request object.
Also, it implements ETag support in static routes and fixes a
few bugs found along the way.

Refs:
* https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.26
* https://tools.ietf.org/html/rfc7232#section-2.3
* https://tools.ietf.org/html/rfc7232#section-6

PR #5298 by @greshilov
Resolves #4594

Co-Authored-By: Serhiy Storchaka <storchaka@gmail.com>
Co-Authored-By: Andrew Svetlov <andrew.svetlov@gmail.com>

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
commonism pushed a commit to commonism/aiohttp that referenced this issue Apr 27, 2021
This change adds an `etag` property to the response object and
`if_match`, `if_none_match` properties to the request object.
Also, it implements ETag support in static routes and fixes a
few bugs found along the way.

Refs:
* https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.26
* https://tools.ietf.org/html/rfc7232#section-2.3
* https://tools.ietf.org/html/rfc7232#section-6

PR aio-libs#5298 by @greshilov
Resolves aio-libs#4594

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
commonism pushed a commit to commonism/aiohttp that referenced this issue Apr 27, 2021
This change adds an `etag` property to the response object and
`if_match`, `if_none_match` properties to the request object.
Also, it implements ETag support in static routes and fixes a
few bugs found along the way.

Refs:
* https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.26
* https://tools.ietf.org/html/rfc7232#section-2.3
* https://tools.ietf.org/html/rfc7232#section-6

PR aio-libs#5298 by @greshilov
Resolves aio-libs#4594

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants