脳みそスワップアウト

揮発性なもので。おもにPHPのこととか。

HTTP

リダイレクトは絶対URI?

RFCによると、絶対URIらしい RFC2616 (HTTP/1.1) で、 「HTTPのリダイレクトレスポンスでは、Location は絶対URI(absoluteURI)で書かなければならない」 というのが定められているけど、これはあんまり守っていない。

HTTPステータスコード 1xx系 メタ

100 (Continue)そのリクエストが受けられるということを示す。クライアントはExpectヘッダ他を送る必要がある。受けられない場合は417を返す。101 (Switching Protocols)使わない。クライアントがHTTP以外のプロトコルを使うことの宣言である Upgrade ヘッダ…

HTTPステータスコード 5xx系 サーバ側エラー

500 (Internal Server Error)サーバ側で詳細不明の問題が起きている。必要であればbodyにエラーメッセージを付けるが,クライアントで解決できる問題ではないので無意味かも。501 (Not Implemented)サーバがサポートしてないHTTPの機能を使おうとした。WebDA…

HTTPステータスコード 4xx系 クライアント側エラー

400 (Bad Request)不正な形式,無意味なデータをクライアントが送信してきた場合。クライアント側の汎用エラーなので,他の4xx系が使えなければこれ。必要あればbodyにエラーメッセージを付ける。401 (Unauthorized)認証情報がない・正しくない。WWW-Authent…

HTTPステータスコード 3xx系 redirect

300 (Multiple Choices)あまり使わない。要求されたリソースの表現方法が複数あり,どれを返せばよいかわからないことを示す。クライアントがAccept-*の指定をしてなかったか,存在しない表現を要求したかのどちらか。デフォルトを決めておいて,200とともに…

HTTPステータスコード 2xx 正常系

今更ながら,今後増えてゆくであろうweb api開発時のためにまとめておく。Restfulでありリソース指向であるものが美しい設計と考える。 200 (OK)あらゆるメソッドの正常終了201 (Created)putでリソースを新規作成した場合。Locationヘッダはリソースへのパス…