[3] HTTP や派生プロトコルでは、百番台の状態符号は要求された処理の途中経過的なものを示す暫定応答を表します。正式な応答はしばらくした後に続けて送られてくるはずです。
[105] 1xx
は、要求された動作を完了して最後の応答を送信する前に接続状態や要求の進捗を知らせるための暫定的な応答を表しています
>>104。
[102] 1xx
応答は、メッセージ本体を持ちません
>>101。状態行とヘッダー群の後の最初の空行をもって応答は終わりとなります
>>104。
[110] 1xx
でも Connection: close
の意味は特別に規定はされていません。 Connection: close
が指定されていればその応答をもって鯖が接続を閉じることが示されているものと考えられます。
[10] HTTP/2 では、サーバーは応答のヘッダーを表すフレームの前に
0個以上の 1xx
応答を送ることができます。
[9] HTTP/1.1 では、サーバーは最後の応答を送る前に0個以上の
1xx
応答を送ることができます。
[107] クライアントは、 1xx
応答を期待していない場合であっても、
最後の応答の前に 1xx
応答が1つ以上現れるのを構文解析できなければなりません。
期待していない 1xx
応答は無視して構いません。 >>104
[108] 串は、自身が 1xx
応答の生成を要求した場合を除き、
1xx
応答を転送しなければなりません >>104。
[6] クライアントが対応していない 101
応答を受信した場合のクライアントの処理は、101
を参照してください。
[11] HTTP/1.0 応答でも HTTP/1.1 応答でも、
Chrome も Firefox も IE も 1xx
応答を無視するようです。
[14] Chrome も Firefox も IE も、 Content-Length:
ヘッダーや Connection: close
があっても無視します。
[7] クライアントが 1xx
を受信した後で最後の応答を受信する前に接続が閉じられた場合に
fetch などの API でどう扱うべきかは定かではありませんが、
1xx
応答を結果と返すべきではないでしょうし、
ネットワークエラーを返すべきかもしれません。
[13] Chrome と IE と Firefox は、 1xx
応答の後接続が閉じられた時、ネットワークエラーとするようです。
[15] Chrome と IE は、 HTTP/1.0/HTTP/1.1 の 1xx
の後は、 HTTP/1.0 か HTTP/1.1 の最後の応答ではなく、 HTTP/0.9
であっても構いません (通常の判定方法を使うようです)。 Firefox
は HTTP/0.9 だとネットワークエラーにします。
[1] 巷の HTTP/1.1 適合を主張する利用者エージェントって、
ほんとに 1xx
に対応しているのですかね?
[2] 本体を使えれば、「しばらくお待ち下さい」的メッセージに使えると思うんですが・・・。
multipart/x-mixed-replace
の代替にも使えるかも。
その辺がちょいとばかり残念かも。