Cache-Control

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になってる。
disk cacheになってる。

disk cacheになってる。

no-storeだと、いっさいキャッシュしない。

初回から本体を見に行く。
初回から本体を見に行く。

初回から本体を見に行く。

Sample/http/Cache-Control/Cache-Control/src/Cache-Control at master · bg1bgst333/Sample · GitHub