素朴な疑問。
mb_check_encoding関数で入力パラメータのエンコーディングをチェックしてエラーだった場合、webアプリはHTTPのステータスコードとして何を返せばよいのだろう。
- 200: エラーメッセージ表示
- 403: アクセス禁止
406: 受け付けられない
- 追記: これはメディアタイプ関連のステータスなのでこの場合には適しませんね…
- 500: エラー扱いにする
どれがいいかしら。
追記:
500だと「内部エラー」という情報を相手に与えてしまうことになるので、クライアント側のエラーということで40xを返すのがよさそう。403を返すか、思い切って404を返してしまう方向でよさげ。