diff options
author | Sergey Ponomarev | 2020-08-15 23:52:48 +0200 |
---|---|---|
committer | Denys Vlasenko | 2020-08-15 23:54:48 +0200 |
commit | 4864a685967bd098307a0d64293b5de1fc5f8210 (patch) | |
tree | 6f2dd2c10582a302c13d1a08dc446a331a87287f /libbb | |
parent | b6efac31d864cffdf618744fd8a6fddbdee3eb4b (diff) | |
download | busybox-4864a685967bd098307a0d64293b5de1fc5f8210.zip busybox-4864a685967bd098307a0d64293b5de1fc5f8210.tar.gz |
httpd: Support caching via ETag header
If server responds with ETag then next time client can resend it via If-None-Match header.
Then httpd will check if file wasn't modified and if not return 304 Not Modified status code.
The ETag value is constructed from file's last modification date in unix epoch and it's size:
"hex(last_mod)-hex(file_size)" e.g. "5e132e20-417" (with quotes).
That means that it's not completely reliable as hash functions but fair enough.
The same form of ETag is used by Nginx so load balancing of static content is safe.
function old new delta
handle_incoming_and_exit 2135 2201 +66
http_response 88 96 +8
send_headers 676 683 +7
parse_conf 1362 1365 +3
http_response_type 22 24 +2
send_file_and_exit 847 841 -6
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 5/1 up/down: 86/-6) Total: 80 bytes
Signed-off-by: Sergey Ponomarev <stokito@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'libbb')
0 files changed, 0 insertions, 0 deletions