タグ

ステータスコードとhttpに関するorenonihongogayabaiのブックマーク (4)

  • HTTP : リダイレクトのステータスコードはなぜ分かりにくいのか | TECHSCORE BLOG | TECHSCORE BLOG

    現在、URL リダイレクト (URL redirection) を用途とする主な HTTP ステータスコードは 301, 302, 303, 307, 308 の 5 つです。 これらのステータスコードについて私のまわりのエンジニアに話を聞いてみたところ、リダイレクト処理を書こうとする都度、どのステータスコードが何だったかや、細かい仕様の違いについて調べる方が多いようです。私も常々、リダイレクト系のステータスコードは、わかりづらく、憶えにくいと感じていました。そしてこの原因は、ステータスコード定義の変遷にあると考えています。 この記事は、この「わかりづらく、憶えにくい」というストレスの軽減を目的に、ステータスコード定義の歴史について RFC からひも解いてみようという個人的な試みの記録です。 HTTP ステータスコードの歴史 まずは背景を知る上で、ステータスコードに関する RFC 策定の流

  • POST をリダイレクトすると GET になる件について調べた - 理系学生日記

    とある事情により、POST リクエストをリダイレクトさせる必要が生じました。単純にリダイレクトさせてみたところ、リダイレクトはされるものの、POST リクエストに付与していた HTTP_BODY が取得できません。どうも、リダイレクト時に GET に変更されているみたいです。 ぼくは怒りに震えたものの、RFC 的にはどう振る舞うべきなんだ、各種ブラウザの振舞いはどうなっているんだ、ということが気になったのでまとめてみました。内容としては、 -POSTリクエストをリダイレクトするとGETされる?POSTされる? - はこべにっき ♨ の二番煎じになります。 先に結果を示しておくと、以下のとおりでした。 Status Code 期待動作 Firefox (25.0.1) Safari(7.0) Chrome (31.0) 301 POST GET GET GET 302 POST GET GE

    POST をリダイレクトすると GET になる件について調べた - 理系学生日記
  • セキュリティ監査で文句を言われないHTTPステータスコードの使い分け - Qiita

    最近はハンドリングしくてもいいや的な、入力改ざんで発生するバリデーションエラーをそのまま500のHTTPステータスで返すと、攻撃者が「なんか攻撃成功しちゃいそう」って思っちゃうとかなんとかで、監査的なところから「500はやめろ」って言われることがあります。 一理ある ということで、安易に500を返さない方法を考えてみます。 HTTPステータスコードにあまり馴染みのない方は、こちら…ではなく、こちらをまず読んでください。 HTTPステータスコードの使い分け基礎 400 まず、ユーザの入力値、データの状態によってエラーになるケースは 400 Bad Request とします。エラーメッセージを表示して再入力を促すHTMLページを返す、一般的な入力エラー系の遷移は200 OKを返しても、実用上問題はないかと思います。 ユーザの操作が原因で、サーバ処理がエラーになった場合も400で扱うのはおかしい

    セキュリティ監査で文句を言われないHTTPステータスコードの使い分け - Qiita
  • HTTPステータスコードを適切に選ぶためのフローチャート : 難しく考えるのをやめよう | POSTD

    HTTPステータスコードを返すというのはとても単純なことです。ページがレンダリングできた?よし、それなら 200 を返しましょう。ページが存在しない?それなら 404 です。他のページにユーザをリダイレクトしたい? 302 、あるいは 301 かもしれません。 I like to imagine that HTTP status codes are like CB 10 codes. "Breaker breaker, this is White Chocolate Thunder. We've got a 200 OK here." — Aaron Patterson (@tenderlove) 2015, 10月 7 訳:HTTPのステータスコードのことは、市民ラジオの10コードみたいなものだと考えるのが好きです。「ブレーカー、ブレーカー、こちらホワイト・チョコレート・サンダー。200

    HTTPステータスコードを適切に選ぶためのフローチャート : 難しく考えるのをやめよう | POSTD
  • 1