4.8K Views
October 19, 22
スライド概要
2017/10/05 PHPカンファレンス2017での発表資料
告白に学ぶ HTTP Status Code - エラー編 2017/10/05 PHPカンファレンス2017 @takapyyy
※多分最後まで いかないので
人材募集してます! デザイナ/エンジニア @東京 @名古屋 @大阪
※多分最後まで いかないので
まとめ ● REST APIで真価を発揮!適切に使い分けよう! ● 扱う側の扱いやすさを考えよう! ● 伝えきれないことはメッセージに含めよう!
HTTP Status Code HTTPにおいてWebサーバからのレスポンスの意味 を表現する3桁の数字からなるコードで、RFC 2616、 RFC 7231等によって定められている。 参考:https://ja.wikipedia.org/wiki/HTTPステータス コード
HTTP Status Code HTTPにおいてWebサーバからのレスポンスの意味 を表現する3桁の数字からなるコードで、RFC 2616、 RFC 7231等によって定められている。 参考:https://ja.wikipedia.org/wiki/HTTPステータス コード
Laravelでいうところのこれ
Route::get('home', function () {
return response('Hello World', 200)
->header('Content-Type', 'text/plain');
});
Laravelでいうところのこれ
Route::get('home', function () {
return response('Hello World', 200)
->header('Content-Type', 'text/plain');
});
ざっくり 1xx Information リクエストは受け取られ た。 処理は継続される。 2xx Success リクエストは受け取られ、 理解され、受理された。 3xx Redirection リクエストを完了させる ために、追加的な処理が 必要。 4xx Client Error クライアントからのリク エストに誤りがあった。 5xx Server Error サーバがリクエストの処 理に失敗した。
ざっくり 1xx Information リクエストは受け取られ た。 処理は継続される。 2xx Success リクエストは受け取られ、 理解され、受理された。 3xx Redirection リクエストを完了させる ために、追加的な処理が 必要。 4xx Client Error クライアントからのリク エストに誤りがあった。 5xx Server Error サーバがリクエストの処 理に失敗した。
こんないっぱい 覚えられないよ... そんなあなたに!
あっ、あの! 付き合って下さい! はい!お願いします///
クライアント サーバー
OKの例 あっ、あの! OKです! 付き合って下さい! はい!お願いします///
OKの例 あっ、あの! OKです! 付き合って下さい! はい!お願いします/// Request Response
※多分最後まで いかないので
おもんないやつは とばします
1xx Information
100 Continue 継続。 クライアントはリクエストを継続できる。サーバが リクエストの最初の部分を受け取り、まだ拒否して いないことを示す。
100 Continue 話があるんだけ ど! ほほう、それでそ れで?
2xx Success
200 OK OK。 リクエストは成功し、レスポンスとともに要求に応 じた情報が返される。
200 OK 付き合って下さ い! はい! お願いします///
3xx Redirection
300 Multiple Choices 複数の選択。 リクエストしたリソースが複数存在し、ユーザやユ ーザーエージェントに選択肢を提示するときに返さ れる。
300 Multiple Choices 佐藤さん付き合っ て下さい! 佐藤さん2人いる んだよね どっち?
こっから 本編!
4xx Client Error
こっちが悪い
400 Bad Request リクエストが不正である。 定義されていないメソッドを使うなど、クライアン トのリクエストがおかしい場合に返される。
400 Bad Request ごめんなさい 付き合って下さ い! ちゃんと目をみて 告白してくれなき ゃイヤ!
401 Unauthorized 認証が必要である。 Basic認証やDigest認証などを行うときに使用される。
401 Unauthorized 娘さんを下さい! おまえに娘はやら ん!
402 Payment Required 支払いが必要である。 現在は実装されておらず、将来のために予約されて いるとされる。
402 Payment Required 付き合って下さ い! この壷買ってくれ る?♡
403 Forbidden 禁止されている。 リソースにアクセスすることを拒否された。リクエ ストはしたが処理できないという意味。アクセス権 がない場合や、ホストがアクセス禁止処分を受けた 場合などに返される。
403 Forbidden 娘さんに会わせて 下さい! 娘とは接近禁止じゃ! 二度とくんじゃねえ!
404 Not Found 未検出。 リソースが見つからなかった。 単に、アクセス権がない場合などにも使用される。
404 Not Found もしもし、俺やけ ど 最近げんき? ...おかけになった電話番号は 現在使われておりません...
405 Method Not Allowed 許可されていないメソッド。 許可されていないメソッドを使用しようとした。 例えば、POSTメソッドの使用が許されていない場 所で、POSTメソッドを使用した場合に返される。
405 Method Not Allowed (付き合って下さ い!)、っと(ポ チポチ (そういうのは直 接会っていってほ しいな)、っと (ポチポチ
406 Not Acceptable 受理できない。 Accept関連のヘッダに受理できない内容が含まれて いる場合に返される。
406 Not Acceptable 付き合って下さ い! 私はあなたに似合 う人じゃないわ。。
407 Proxy Authentication Required プロキシ認証が必要である。 プロキシの認証が必要な場合に返される。
407 Proxy Authentication Required 付き合って下さ い! ごめんなさい ❤ ❤ 友 先にけいこちゃん に聞いてからにし て><
408 Request Timeout リクエストタイムアウト。 リクエストが時間以内に完了していない場合に返さ れる。
408 Request Timeout はよいえ ....付き合
409 Conflict 競合。 要求は現在のリソースと競合するので完了できない。
409 Conflict 付き合って下さ い! ごめんね。 私、カレシいるん だ...
410 Gone 消滅した。 リソースは恒久的に移動・消滅した。どこに行った かもわからない。 404 Not Foundと似ているが、こちらは二度と復活 しない場合に使われる。
410 Gone 付き合って下さ い! (あの子はも う...)
412 Precondition Failed 前提条件で失敗した。 前提条件が偽だった場合に返される。
412 Precondition Failed おねえさん! 付き合って下さい! 私、年上好きって いったぢゃん。。
413 Payload Too Large ペイロードが大きすぎる。 リクエストエンティティがサーバの許容範囲を超え ている場合に返す。 例:アップローダの上限を超えたデータを送信しよ うとした。
413 Payload Too Large ... 突然呼び出してごめんね。 今日いい天気だよね。あ っ、こんなことがいいた いんじゃなくて、ここ数 日けいこのこと考えたら 寝れなく日々が続いちゃ ってさwこんなん言われ てもきもいよねwでもそ れくらい俺がけいこのこ と考えてるのはわかって ほしい。かわいいし優し いしいつも笑顔で俺は癒 やされててずっと一緒に いたいなって思っちゃっ て...。毎日気づいたら目 なげえ
418 I’m a tea pot. 私はティーポット。 エイプリルフールネタ。
418 I’m a teapot コーヒーいれても 良い? 私はティーポット なのよ
PSR-8 Mutually Assured Hug Mutually Assured Hug (相互高信頼性ハグ) この標準は、オブジェクトが互いの感謝と支持を表 明するための、一般的な方法を確立します。 これでオブジェクトは、建設的な方法で互いをサポ ートすることができ、異なるPHPプロジェクト間の 協力を促進します。 https://qiita.com/tanakahisateru/items/3f24014a91744c2b04fe
PSR-8 Mutually Assured Hug
451 Unavailable For Legal Reasons 法的理由により利用不可。 403 Forbiddenから派生したステータスコード。
451 Unavailable For Legal Reasons Hey!! Siri!! 付き合って下さ い! 法律はまだそこま でいってないんで すよ
5xx Server Error
こっちが悪い
500 Internal Server Error サーバ内部エラー。 サーバ内部にエラーが発生した場合に返される。 例として、CGIとして動作させているプログラムに 文法エラーがあったり、設定に誤りがあった場合な どに返される。
500 Internal Server Error 付き合って下さ い! ごめん、ちょっと 今体調悪くて...
502 Bad Gateway 不正なゲートウェイ。 ゲートウェイ・プロキシサーバは不正な要求を受け 取り、これを拒否した。
502 Bad Gateway Proxyみたいなやつ けいこさん!付き 合って下さい! けいこちゃん? もういないわよ...?
503 Service Unavailable サービス利用不可。 サービスが一時的に過負荷やメンテナンスで使用不 可能である。例として、アクセスが殺到して処理不 能に陥った場合に返される。
503 Service Unavailable ツキアッテクダサイ!! ツキアッテクダサイ!! ツキアッテクダサイ!! ツキアッテクダサイ!! アッ...アッ...
504 Gateway Timeout ゲートウェイタイムアウト。 ゲートウェイ・プロキシサーバはURIから推測され るサーバからの適切なレスポンスがなくタイムアウ トした。
504 Gateway Timeout < おっおねg... けいこさん! 付き合って下さ い! けいこちゃんから 返事がないわ。ご めんなさい Proxyみたいなやつ
懇親会で お会いしましょう!!