-
Notifications
You must be signed in to change notification settings - Fork 105
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
Properly store and build HTTP headers #634
Comments
The issue didn't pay attention to TLS: we have to copy data for encryption, i.e. we can not directly put an skb data to a socket any more. The only thing which we can do is to optimize copying and fragmentation in |
We do need to copy cached HTTP response, however, HTTP headers are copied twice now - in
This issue invalidates #391 .10. We're not able to use cache data in zero-copy fashion any more (with widespread TLS), so we have to traverse TDB entries for copying any time. |
Currently we copy HTTP server headers from TDB. We do this to be able to adjust them in
tfw_http_adjust_resp()
. However, with #409 in mind and that we should store responses with already calculated Via and Server headers instead of adjusting them for each serviced request. So in general there should be twotfw_http_adjust_resp()
versions: one of them is executed when response is received and cached and the second one does client specific adjustments.So after the changes we can directly send headers and status line from TDB as we do this for response body.
We shall form only one skb for small responses avoiding multiple skb fragments. However, paged fragment seems applicable and are the way how the issue should be implemented.
The text was updated successfully, but these errors were encountered: