SlideShare a Scribd company logo
Happy Status Coding
For Firefox OS
Yoshinori Matsumoto
2013/08/31
Happy Status Coding for Firefox OS @ym405nm
ステータスコードって?
ブラウザ サーバ
リクエスト
レスポンス
GET / HTTP/1.1
Host: www.yahoo.co.jp
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:23.0) Gecko/20100101 Firefox/23.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ja,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
HTTP/1.1 200 OK
Date: Wed, 21 Aug 2013 14:56:09 GMT
UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA
POL HEA PRE GOV"
Vary: User-Agent,Accept-Encoding
Expires: -1
Pragma: no-cache
Cache-Control: private, no-cache, no-store, must-revalidate
ステータス
コード
Happy Status Coding for Firefox OS @ym405nm
主なステータスコード
200 OK
404 NOT FOUND
正常にリクエストとレスポンスが行われる
存在しないリソースに対してリクエストが行われた
Happy Status Coding for Firefox OS @ym405nm
問題 ∼基本編∼
403 Forbidden
アクセスが禁止されている
500 Internal Server Error
サーバ内部にてエラーが発生している
503 Service Unavailable
サーバが一時的負荷などで使用不可
302 Found
リクエストしたページが一時的に移動している
Happy Status Coding for Firefox OS @ym405nm
主なステータスコード
1xx : 情報提供
2xx : 成功 (200など)
3xx : リダイレクト (301, 302など)
4xx : クライアントエラー (401, 404など)
5xx : サーバエラー (500, 503など)
RFC 2616により
HTTP ステータスコードは
決められている
Happy Status Coding for Firefox OS @ym405nm
問題 ∼マニアック編∼
101 Switching Protocols
プロトコルを切り替える
204 No Content
レスポンスボディが存在しない
405 Method Not Allowed
メソッドが許可されていない
507 Insufficient Storage
リクエストを処理する容量が確保できない(WebDAV)
Happy Status Coding for Firefox OS @ym405nm
こんなステータスコードは嫌だ
3xx Bourbon House
バーボンハウスに転送する(釣りサイト)
4xx Rea-juu Denied
リア充からのアクセス禁止
5xx Fire Project
案件が炎上していますので、このエラーはなかったことに
してくれませんか
#こんなステータスコードは嫌だ
Happy Status Coding for Firefox OS @ym405nm
Firefox OS での動き
Firefox OS の標準ブラウザに
マイナー(※主観)な
ステータスコードを入れたらどう
なるか?
Happy Status Coding for Firefox OS @ym405nm
その1 101 Switching Protocols
•白い画面が表示される
Happy Status Coding for Firefox OS @ym405nm
その2 204 No Content
•ページ遷移はせずそのま
ま前のページが表示され
たままになる
Happy Status Coding for Firefox OS @ym405nm
その3 408 Request Timeout
•エラー画面が表示される
•リクエストを繰り返し
送っている
•レスポンス内容は読まれ
ない?
Happy Status Coding for Firefox OS @ym405nm
まとめ
•レスポンスコードは仕様に従って、ちゃんと
したものを返しましょう
•用途と異なったレスポンスコードを返すとレ
スポンスボディを読んでくれない場合もあり
ます
Happy Status Coding for Firefox OS @ym405nm
参考文献
[1] RFC 2616 Hypertext Transfer Protocol -- HTTP/1.1
http://www.ietf.org/rfc/rfc2616.txt
[2] Defense by numbers: Making Problems for Script Kiddies and Scanner Monkeys
by Chris John Riley on Aug 05, 2013
http://www.slideshare.net/ChrisJohnRiley/chris-johnriley-defensebynumbersdc21

More Related Content

PDF
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
PDF
Gentooでルータ作った話
PDF
Raspberry Piにdiskless modeのalpine linuxを導入してみる
PDF
今最もアツイdistribution Gentoo Linuxについて
PPTX
20200527 zoomlocalrecording
PDF
Gentooサークル新歓コンパのご案内
PDF
JMeter小話
ODP
ここんとーく in 大分 (opencoconのご紹介と次期バージョンの予告)
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
Gentooでルータ作った話
Raspberry Piにdiskless modeのalpine linuxを導入してみる
今最もアツイdistribution Gentoo Linuxについて
20200527 zoomlocalrecording
Gentooサークル新歓コンパのご案内
JMeter小話
ここんとーく in 大分 (opencoconのご紹介と次期バージョンの予告)

What's hot (20)

PDF
opencoconの作り方 (オープンソースカンファレンス2015 Tokyo/Spring 小江戸らぐセミナー)
ODP
PDF
帰ってきた凄い謎マシン (ARMのDevice Tree話, 2015年6月 東海道らぐ浜松)
PDF
謎PCとの付き合い方(LILO東海道 2015/5発表分)
PDF
FreeBSD jail+vnetと戯れた話
PDF
ほんとはこわくない Gentoo Linux
PDF
EC2でkeepalived+LVS(DSR)
PPTX
Prefixから始めるgentoo生活
PDF
魁ここんとーく in おおさか
PDF
Bossan dentoo
PDF
野良ビルドから見たGentoo
PDF
Vsubuntu
PDF
20161203 Gentoo勉強会
PDF
俺のGentooがこんなに可愛いわけがない
PDF
TUI作業で便利なソフト2題
PDF
Lets talk about ubuntu from now (Japanese only)
PDF
オレのUbuntuノートPCセットアップ 2016-12-17
PDF
ちょっと古いマシンにLinuxを
PDF
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
PDF
Nagoya vim #1 about plugins
opencoconの作り方 (オープンソースカンファレンス2015 Tokyo/Spring 小江戸らぐセミナー)
帰ってきた凄い謎マシン (ARMのDevice Tree話, 2015年6月 東海道らぐ浜松)
謎PCとの付き合い方(LILO東海道 2015/5発表分)
FreeBSD jail+vnetと戯れた話
ほんとはこわくない Gentoo Linux
EC2でkeepalived+LVS(DSR)
Prefixから始めるgentoo生活
魁ここんとーく in おおさか
Bossan dentoo
野良ビルドから見たGentoo
Vsubuntu
20161203 Gentoo勉強会
俺のGentooがこんなに可愛いわけがない
TUI作業で便利なソフト2題
Lets talk about ubuntu from now (Japanese only)
オレのUbuntuノートPCセットアップ 2016-12-17
ちょっと古いマシンにLinuxを
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
Nagoya vim #1 about plugins
Ad

More from yoshinori matsumoto (18)

PDF
はじめてのマーケットプレイス
PDF
WordPressセキュリティの 心配事を吹き飛ばせ! WordCamp Kansai 2016
PDF
防御から謝罪まで・・・WordPressにヤマを張るっ!
PDF
攻撃者からみたWordPressセキュリティ
PDF
Word press セキュリティ show!!
PDF
社内合宿成果発表
PDF
Android解析勉強会 #2 広告収入モジュール編
PDF
すぐできるWeb制作時のセキュリティTips
PDF
第1回Androidアプリ解析勉強会XXX解析チーム
PDF
この秋何かつくる人のためのセキュリティ事情
PDF
イベント管理サイト応用するよ
PDF
OSSで地域貢献 - 加古川起源説 -
PDF
これからHTML5を書く人のためのセキュリティ - HTML5など勉強会
KEY
セキュリティビジュアライゼーション - LT Spiral #04
KEY
ペアプロしてきた
KEY
SECCON つくば ハッカソン発表
PPTX
社内勉強会 20120518
KEY
春のチキチキjQuery祭り - 姫路IT系勉強会
はじめてのマーケットプレイス
WordPressセキュリティの 心配事を吹き飛ばせ! WordCamp Kansai 2016
防御から謝罪まで・・・WordPressにヤマを張るっ!
攻撃者からみたWordPressセキュリティ
Word press セキュリティ show!!
社内合宿成果発表
Android解析勉強会 #2 広告収入モジュール編
すぐできるWeb制作時のセキュリティTips
第1回Androidアプリ解析勉強会XXX解析チーム
この秋何かつくる人のためのセキュリティ事情
イベント管理サイト応用するよ
OSSで地域貢献 - 加古川起源説 -
これからHTML5を書く人のためのセキュリティ - HTML5など勉強会
セキュリティビジュアライゼーション - LT Spiral #04
ペアプロしてきた
SECCON つくば ハッカソン発表
社内勉強会 20120518
春のチキチキjQuery祭り - 姫路IT系勉強会
Ad

Happy status Coding

  • 1. Happy Status Coding For Firefox OS Yoshinori Matsumoto 2013/08/31
  • 2. Happy Status Coding for Firefox OS @ym405nm ステータスコードって? ブラウザ サーバ リクエスト レスポンス GET / HTTP/1.1 Host: www.yahoo.co.jp User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:23.0) Gecko/20100101 Firefox/23.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: ja,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip, deflate HTTP/1.1 200 OK Date: Wed, 21 Aug 2013 14:56:09 GMT UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE GOV" Vary: User-Agent,Accept-Encoding Expires: -1 Pragma: no-cache Cache-Control: private, no-cache, no-store, must-revalidate ステータス コード
  • 3. Happy Status Coding for Firefox OS @ym405nm 主なステータスコード 200 OK 404 NOT FOUND 正常にリクエストとレスポンスが行われる 存在しないリソースに対してリクエストが行われた
  • 4. Happy Status Coding for Firefox OS @ym405nm 問題 ∼基本編∼ 403 Forbidden アクセスが禁止されている 500 Internal Server Error サーバ内部にてエラーが発生している 503 Service Unavailable サーバが一時的負荷などで使用不可 302 Found リクエストしたページが一時的に移動している
  • 5. Happy Status Coding for Firefox OS @ym405nm 主なステータスコード 1xx : 情報提供 2xx : 成功 (200など) 3xx : リダイレクト (301, 302など) 4xx : クライアントエラー (401, 404など) 5xx : サーバエラー (500, 503など) RFC 2616により HTTP ステータスコードは 決められている
  • 6. Happy Status Coding for Firefox OS @ym405nm 問題 ∼マニアック編∼ 101 Switching Protocols プロトコルを切り替える 204 No Content レスポンスボディが存在しない 405 Method Not Allowed メソッドが許可されていない 507 Insufficient Storage リクエストを処理する容量が確保できない(WebDAV)
  • 7. Happy Status Coding for Firefox OS @ym405nm こんなステータスコードは嫌だ 3xx Bourbon House バーボンハウスに転送する(釣りサイト) 4xx Rea-juu Denied リア充からのアクセス禁止 5xx Fire Project 案件が炎上していますので、このエラーはなかったことに してくれませんか #こんなステータスコードは嫌だ
  • 8. Happy Status Coding for Firefox OS @ym405nm Firefox OS での動き Firefox OS の標準ブラウザに マイナー(※主観)な ステータスコードを入れたらどう なるか?
  • 9. Happy Status Coding for Firefox OS @ym405nm その1 101 Switching Protocols •白い画面が表示される
  • 10. Happy Status Coding for Firefox OS @ym405nm その2 204 No Content •ページ遷移はせずそのま ま前のページが表示され たままになる
  • 11. Happy Status Coding for Firefox OS @ym405nm その3 408 Request Timeout •エラー画面が表示される •リクエストを繰り返し 送っている •レスポンス内容は読まれ ない?
  • 12. Happy Status Coding for Firefox OS @ym405nm まとめ •レスポンスコードは仕様に従って、ちゃんと したものを返しましょう •用途と異なったレスポンスコードを返すとレ スポンスボディを読んでくれない場合もあり ます
  • 13. Happy Status Coding for Firefox OS @ym405nm 参考文献 [1] RFC 2616 Hypertext Transfer Protocol -- HTTP/1.1 http://www.ietf.org/rfc/rfc2616.txt [2] Defense by numbers: Making Problems for Script Kiddies and Scanner Monkeys by Chris John Riley on Aug 05, 2013 http://www.slideshare.net/ChrisJohnRiley/chris-johnriley-defensebynumbersdc21