Status

HTTPのステータスコードはStatusヘッダで返す。

CGIの仕様 - とほほのWWW入門
CGI プログラムの改良案/ヘッダの書き方

これだけはHTTPのヘッダではなく、CGI専用ヘッダ。
status.cで、

/* ヘッダファイルのインクルード */
#include <stdio.h> /* 標準入出力 */

/* main関数の定義 */
int main(void){

  /* CGIとして文字列の出力. */
  printf("Content-type: text/html\n"); /* "Content-type: text/html\n"を出力. */
  printf("Status: 404 Not Found\n"); /* "Status: 404 Not Found\n"を出力. */
  printf("\n"); /* printfで改行を出力. */
  printf("<html>\n"); /* printfで"<html>"を出力. */
  printf("  <head>\n"); /* printfで"  <head>"を出力. */
  printf("    <title>Status</title>\n"); /* printfで"    <title>Status</title>"を出力. */
  printf("  </head>\n"); /* printfで"  </head>"を出力. */
  printf("  <body>\n"); /* printfで"  <body>"を出力. */
  printf("    Not Found\n"); /* printfで"    Not Found\n"を出力. */
  printf("  </body>\n"); /* printfで"  </body>"を出力. */
  printf("</html>\n"); /* printfで"</html>"を出力. */

  /* プログラムの終了 */
  return 0; /* 0を返して正常終了. */

}

この場合、

このように表示され
このように表示され

このように表示され、

レスポンスも404
レスポンスも404

レスポンスも404。

こうすると、

このように表示され
このように表示され

このように表示され、

レスポンスも200
レスポンスも200

レスポンスも200。

Sample/cgi/Status/Status/src/Status at master · bg1bgst333/Sample · GitHub