http一般的なステータスコード
メッセージレスポンス - 1xx
正常応答 - 2xx
- レスポンス成功
- レスポンスボディがない
- 206 スコープリクエスト、アプリケーションシナリオ:壊れたダウンロード
リダイレクト - 3xx
- 恒久的なリダイレクト
- 一時的なリダイレクト
- ファイルが変更されていません
- 307 一時的なリダイレクト応答ステータスコード
302 307との違い
リダイレクトされたリクエストを送るとき、307ステータスコードはリクエストメソッドとメッセージボディが変更されないことを保証する。
一部の古いクライアントは、302応答ステータスコードが使用されると、リクエストメソッドを誤ってGETに変換する。
GETリクエストの場合、この2つのケースに違いはない。
キャッシュと強制キャッシュを比較対照する
1. 強制キャッシュ サーバーにリクエストが送信されない
html一般的にキャッシュを強制されない,
css,js,imageこのようなリソース豊富なファイルは、強制的にキャッシュさせることができる
サーバーがレスポンスヘッダを設定することで、強制的にキャッシュするようブラウザに指示する
cache-control: max-age=xxx( : 秒)
expires: 時間文字列
2. 比較キャッシュすなわち交渉キャッシュ ファイルが変更されたかどうかを比較するためにサーバーに行く。
サーバはファイルの更新時間に基づいて、新しいファイルを返す必要があるかどうかを判断する,
ファイルが変更されていない場合は、単に304ステータスコードを返す
サーバーが初めて戻ってきたときにレスポンスヘッダが設定されている
Last-Modified: 時間文字列
Etag: ファイルのフィンガープリント
レスポンスヘッダは次のブラウザリクエストに含まれる
If-Modified-Since 対応する Last-Modified
If-None-Match 対応するEtag
サーバーは2つの値が同じかどうかを判断することで、304を返すかどうかを決定できる。
3. cache-control
有効期限を設定する:max-age=xxx( : 秒)
キャッシュを直接取得しない: no-catch
キャッシュをまったく保存しない: no-store
クライアント応答 - 4xx
- フロントエンドのパラメータエラー
- ログインできない
- 403 ログインしましたが、アクセスできません。
- 言うことなし
- method
- リクエストが頻繁すぎる
サーバ応答 - 5xx
- 500 サーバーが不明なエラーに遭遇しました
- ゲートウェイのエラー
- サービスが利用できません
- ゲートウェイのタイムアウト
- httpサポートされていないバージョン
その他のあまり一般的でないステータスコード
- 201 作成 これは通常、POST リクエストまたはいくつかの PUT リクエストの後に返されるレスポンスです。
- 202 Accepted request を受信しましたが、応答がありません。
- 305 要求されたリソースは、指定されたプロキシを通してアクセスできなければなりません。
- 408 リクエストがタイムアウトしました。
- 506 内部サーバーの設定ミス
- 507 サーバが関連コンテンツを保存できない