-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Responses including cached Date header #4291
Comments
It would be against the test rules to cache the response. Would you mind pointing out the frameworks you believe to be doing that so we can investigate further? Thanks! |
I simple follow as other frameworks to not update the Date header for performance reason. So far it is not a requirement to have a Date header timed aligned |
Rust top performing frameworks do update date header. |
Per the test rules, the response must be composed on the spot. This should include the proper date, though we currently do not check that the date header is different from request to request, just that it's present. I'll look to add this as part of the verification step before the next round, marking tests that don't fix this in the future as failed. @bhauer @msmith-techempower @michaelhixson Anything to add here? |
@nbrady-techempower Some test implementation are using time-expiration caching for the date header. They refresh the date header once a second or so. Out my head I can recall:
The HTTP date header is with an 1 second granularity - https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1 So caching for a second should not have any big practical implications. Maybe the rules should be amended if this behaviour is allowed. |
@zloster I think we're probably ok with that but I will double check. Whatever verification we put into the toolset likely wouldn't flag that anyway. |
@nbrady-techempower I agree. |
F.Y.I, The facil.io framework also caches the date string using a single second granularity (not the whole header, but still). I was assuming that's allowed, since the result doesn't effect the response (it should always show the correct date/time)... |
I assume the General requirements have been updated for this:
|
Yeah just to confirm, we're ok with re-rendering/caching just the date header every one second. Date headers that remain unchanged will cause tests to fail in upcoming rounds. |
This should be resolved with #4452 |
I did some testing in the benchmark project and I found that in the tests 'Json' and 'Plaintext', the response 'Date' header of some frameworks is always the same as the first response. It hints that the response entire text string including headers and the body is cached in memory for every request. According to the benchmark document, this seems to be illegal. But the framework that uses caching occupies a high position in the rankings. Am I wrong with the test rules? Does the test client check the Date header to ensure that each response is generated separately?
The text was updated successfully, but these errors were encountered: