HTTP/1.1では、Cache-Controlでキャッシュを制御する。
HTTP キャッシュ - HTTP | MDN
Cache-Control - HTTP | MDN
/* レスポンスヘッダの作成. */ strcpy(response_header, "HTTP/1.0 200 OK\r\n"); /* response_headerに"HTTP/1.0 200 OK\r\n"をコピー. */ strcat(response_header, "Content-Length: "); /* response_headerに"Content-Length: "を連結. */ content_length = strlen(response_body); /* response_bodyの長さをstrlenで取得し, content_lengthに格納. */ sprintf(content_length_str, "%d", content_length); /* sprintfでcontent_lengthを文字列content_length_strに変換. */ strcat(response_header, content_length_str); /* response_headerにcontent_length_strを連結. */ strcat(response_header, "\r\n"); /* response_headerに"\r\n"を連結. */ strcat(response_header, "Content-Type: text/html\r\n"); /* response_headerに"Content-Type: text/html\r\n"を連結. */ /*strcat(response_header, "Expires: Sat, 31 Dec 2022 12:00:00 GMT\r\n");*/ /* response_headerに"Expires: Sat, 31 Dec 2022 12:00:00 GMT\r\n"を連結. */ /*strcat(response_header, "Pragma: no-cache\r\n");*/ /* response_headerに"Pragma: no-cache\r\n"を連結. */ strcat(response_header, "Cache-Control: max-age=86400\r\n"); /* response_headerに"Cache-Control: max-age=86400\r\n"を連結. */
max-ageに86400をセットしてるが、これは86400秒がキャッシュの期限。つまり1日。
disk cacheになってる。
no-storeだと、いっさいキャッシュしない。
初回から本体を見に行く。
Sample/http/Cache-Control/Cache-Control/src/Cache-Control at master · bg1bgst333/Sample · GitHub