RESTfulとは

星影 月夜
星影 月夜Engineering Manager, Software Developer at Tech Hunter, Unleashed Inc.
2012年4月27日
 RESTとは
 RESTfulとは
 RESTのメリット
 どのような考え?
 おわりに
RESTfulとは
 REpresentational State Transfer の略
Web のアーキテクチャスタイル(設計思想)のひとつ
 我々が作る Web サービスや WebAPI は、 Web を
構成する一部である
 Web の一部である以上、 Web の設計思想である
REST の制約に従うことで、より良くなる
 パラメータを指定
 特定の URL に HTTP でアクセス
 XMLで記述されたメッセージが返ってくる
 Google で検索
 検索結果が返ってきます
 URL には色々なパラメータが入っています
 https://www.google.co.jp/#hl=ja&output=s
earch&sclient=psy-
ab&q=REST&oq=REST&aq=f&aqi=g4&aql=
&gs_nf=1&gs_l=hp.3..0l4.42102.42561.0.4
2952.4.4.0.0.0.0.78.281.4.4.0.8a54l8SEXF8
&pbx=1&bav=on.2,or.r_gc.r_pw.r_qf.,cf.osb
&fp=1324bf9456410054&biw=1124&bih=
769
 同じ URL やパラメータの組み合わせからは、常に同
じ結果が返されることが期待される
 システムの状態やセッションに依存しない
 Yahoo!API の仕様(キーフレーズ抽出)
パラメータ 値 説明
appid string アプリケーションID
sentence string 解析対象のテキスト
output string レスポンス形式(xml 、JSON、PHP Serialize)
フィールド 説明
ResultSet キーフレーズ抽出結果のすべて
Result キーフレーズ抽出結果の一組
Keyphrase キーフレーズ
Score キーフレーズの重要度
 このような呼び出しインターフェースのことを
RESTful API という
RESTfulとは
 REST の規約に従った、 REST らしい Web サービス
システムのこと
 RESTful な Web サービス
◦ Yahoo!
◦ Google
◦ facebook
◦ twitter
RESTfulとは
 アプリケーション中のリソースが、 URI で示せる
アドレス欄に入力すれば、そのリソースを参照できる
 ステートレスにすることで、スケーラビリティが向上
将来想定されるシステム規模の増大に対応可能な設計
REST の一番のメリットとされる部分です
 統一インターフェース
◦ シンプルで一貫性のある設計
◦ リソースへの操作は CRUD の4種類という制約
メソッドを限定することにより
プロトコルがシンプルに保たれる
 標準的なデータフォーマット( XML や JSON )を扱う
ことで、他システムとの連携が容易になる
 REST に基づいた Web アプリでは、インタフェースが
固定されている為、互換性の問題が発生しない
RESTfulとは
 リソース指向
 統一インターフェース
 ステートレス
RESTfulとは
 Web 上に存在する全ての情報はリソースである
 リソースは識別子(URI)を持つ
 URI を用いることで、プログラムはリソースが表現する
情報にアクセスできる
 ディレクトリ構造に似た URI を定義
 例)
◦ 東京の天気予報
http://weather.yahoo.co.jp/weather/jp/13/4410.html
◦ ITmediaのニュース記事
http://plusd.itmedia.co.jp/mobile/articles/1204/25/news046.ht
ml
◦ 東陽町駅の写真
http://search-1.sakura.ne.jp/sblo_files/search-
1/image/CIMG0201.JPG
◦ REST入門
http://yohei-y.blogspot.jp/2005/04/rest_23.html
 リソースの状態
時間や条件とともに変化する可能性がある
 リソースの意味
時間や条件が変化しても不変である
なるべく永続的にアクセスできるようにすべき
 プログラミング言語依存の拡張子やパスを含めない
(.pl,rb,do,jspなど)
 実装依存のパス名を使用しない
(cgi-bin,servletなど)
特定の実装言語に依存した文字列を URI に含めると、
その言語を変更した途端に、その URI は使えなくなってしまう
http://example.jp/cgi-bin/login.pl
http://example.jp/servlet/LoginServlet
 メソッド名やセッション ID を含めない
showPage のメソッド名を変更すると、 URI も変わってしまう
セッション ID はログインのたびに変わるため、ログインしな
おすと URI も変わってしまう
http://example.jp/Login.do?action=showPage
http://example.jp/home.jsp?jsessionid=123456789
 リソースを表現する名詞であること
あるリソースを取得するのか更新するのかは、 URI で指定す
るのではなく、適用する HTTP メソッドで決める
URI と HTTP メソッドの関係は、名詞と動詞の関係になる
したがって URI は、名詞となるよう設計するべき
http://example.jp/sample/people/123
 URI がシンプルであれば、ユーザビリティが高まる
例)ログインページ
複雑な URI
シンプルな URI
http://example.jp/servlet/LoginServlet
http://example.jp/login
 文字数が少ない
文字数は web 以外のメディアに URI を記載するのに重要
 覚えるのが簡単
長い URL 、大文字小文字の混ざった URL は間違えやすい
 開発者ではない一般の人にも使いやすい
「 servlet 」など、 一般の人には馴染みのない単語は
「 server 」などと、勘違いしてしまうケースもある
REST はプロトコルから、できるだけ多くの「アプリケー
ション規約」を排除することが狙い
RESTfulとは
 URI で指し示されるリソースに、GET や POST などの
HTTP メソッドを適用する
 HTTP1.1 では、 GET や POST など、8個のメソッド
だけが定義されている
 代表的な HTTP のメソッドとその役割
メソッド 役割
GET リソースの取得(読み込み)
POST リソースの新規作成
PUT 既存リソースの更新
DELETE リソースの削除
 一番良く利用されるのは、 GET と POST
HTMLのフォームで指定出来るメソッドが、この2つだけに制
限されているため
 GET でのアクセスはリソースの内容に影響を与えない
 新しい URI を作成するときだけ POST を使用する
◦ 子リソースの作成
◦ リソースへのデータ追加
 全ての Web システムで URI と HTTP メソッドという
同じインターフェースを利用する
 このスタイルのことを、統一インターフェースと呼ぶ
RESTfulとは
 リクエストには、処理に必要なすべての情報を含む
ステートフルとは違い、自己完結型である
 サーバ資源をすぐに解放できるため、利用者や負荷
の増大に応じて、性能や機能を向上させられる
 ステートフルの例
客(クライアント)、店員(サーバ)
店員: いらっしゃいませ。○○バーガーへようこそ
客: ハンバーガーセットをお願いします
店員: サイドメニューは何になさいますか?
客: ポテトで
店員: ドリンクは何になさいますか?
客: コーラで
店員: +50円でドリンクをLサイズにできますがいかがですか?
客: Mでいいです
店員: 以上でよろしいですか?
客: はい
店員: かしこまりました
 ファーストフード店の店員であれば、ステートフルな実
装が当たり前ですね
 次にステートレスなやりとりを見てみましょう
 ステートレスの例
客(クライアント)、店員(サーバ)
店員: いらっしゃいませ。○○バーガーへようこそ
客: ハンバーガーセットをお願いします
店員: サイドメニューは何になさいますか?
客: ハンバーガーセットをポテトでお願いします
店員: ドリンクは何になさいますか?
客: ハンバーガーセットをポテトとコーラでお願いします
店員: +50円でドリンクをLサイズにできますがいかがですか?
客: ハンバーガーセットをポテトとコーラ(M)でお願いします
店員: 以上でよろしいですか?
客: ハンバーガーセットをポテトとコーラ(M)でお願いします。以上で
店員: かしこまりました
 ステートフルなやりとりは簡潔
サーバがクライアントのそれまでの注文を覚えている
 ステートレスなやりとりは冗長
クライアントは毎回すべての注文を繰り返している
ステートフルな方が良い?
 Webサーバの場合は、スケーラビリティの問題がある
 店員(サーバ)が一人の客(クライアント)をずっと相手
にしていると、その間別の客に対応することができな
い
 店が混んできたら(アクセスが集中したら)、店員を増
員して(Webサーバを増設して)対応する
 普通の店舗では、ひとつのレジで一人の店員がずっ
と同じ客を受け付ける
 Web の場合は複数の Web サーバ(比較的少数)で
複数のクライアント(比較的多数)を同時に受け付ける
 ステートレスであれば、各要求で別々の店員(サーバ)
が、客(クライアント)の注文(リクエスト)に応答(レスポ
ンス)することが可能になる
 ステートレスの例2
客(クライアント)、店員1~6(サーバ)
店員1: いらっしゃいませ。○○バーガーへようこそ
客: ハンバーガーセットをお願いします
店員2: サイドメニューは何になさいますか?
客: ハンバーガーセットをポテトでお願いします
店員3: ドリンクは何になさいますか?
客: ハンバーガーセットをポテトとコーラでお願いします
店員4: +50円でドリンクをLサイズにできますがいかがですか?
客: ハンバーガーセットをポテトとコーラ(M)でお願いします
店員5: 以上でよろしいですか?
客: ハンバーガーセットをポテトとコーラ(M)でお願いします。以上
店員6: かしこまりました
 ステートレスなサーバは、アプリケーション状態を覚え
る必要がないので、サーバ側のシステムは単純にな
る
 クライアントはどのサーバにリクエストを送ってもかま
わない
→必要な情報は全てリクエストに含まれているから
ステートレスな方が良い?
 パフォーマンスの低下
◦ 送信するデータ量が多くなる
◦ 認証など、サーバに負荷がかかる処理をくり返す
 通信エラーへの対処が重要
◦ レスポンスがうまく受け取れなかった場合、リクエストを2重に
受け付けてしまう
◦ ステートフルであれば、すでにリクエストを受け付けたことを
覚えている
結局どっちが良いの?
 どちらもメリット、デメリットがあるので、要件に応じて
設計することが重要
RESTfulとは
 URI 設計の重要性
REST に基づいた URI 設計により、ユーザビリティは高まる
 Web アプリ設計の技法として
ステートレスな設計は、煩雑なシステムになりにくい
 Web サービスを作る際の設計指針として
他システムと簡単に連携でき、大規模なサービスの拡張にも役立つ
 標準的な API の提供
RESTful API を公開することで、標準的なデータフォーマットを使
い、多様なアプリケーションを提供することができる
 山本 陽平 著
『Webを支える技術 - HTTP、URI、HTML、そして
REST』 技術評論社、2010年
 RESTful Web サービスの基本
http://www.ibm.com/developerworks/jp/webservices/library/ws-restful/
 REST 入門
http://yohei-y.blogspot.jp/2005/04/rest_23.html
 RESTful Web Services より良いWebインタフェースの
構築と分散型システム連携
http://labo.mamezou.com/special/sp_013/
1 of 53

Recommended

SPAセキュリティ入門~PHP Conference Japan 2021 by
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021Hiroshi Tokumaru
99.5K views107 slides
REST 入門 by
REST 入門REST 入門
REST 入門Yohei Yamamoto
6.2K views48 slides
今さら聞けないDiとspring by
今さら聞けないDiとspring今さら聞けないDiとspring
今さら聞けないDiとspring土岐 孝平
24.8K views50 slides
RESTful Web アプリの設計レビューの話 by
RESTful Web アプリの設計レビューの話RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話Takuto Wada
72.2K views29 slides
マイクロにしすぎた結果がこれだよ! by
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
132.6K views32 slides
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_ by
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_Akito Tsukahara
770 views32 slides

More Related Content

What's hot

SQLアンチパターン 幻の第26章「とりあえず削除フラグ」 by
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」Takuto Wada
148.7K views45 slides
フロー効率性とリソース効率性について #xpjug by
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugItsuki Kuroda
106.2K views62 slides
開発速度が速い #とは(LayerX社内資料) by
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)mosa siru
61.5K views18 slides
Rest ful api設計入門 by
Rest ful api設計入門Rest ful api設計入門
Rest ful api設計入門Monstar Lab Inc.
73.8K views36 slides
イベント・ソーシングを知る by
イベント・ソーシングを知るイベント・ソーシングを知る
イベント・ソーシングを知るShuhei Fujita
31K views33 slides
基礎からのOAuth 2.0とSpring Security 5.1による実装 by
基礎からのOAuth 2.0とSpring Security 5.1による実装基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装Masatoshi Tada
30.5K views79 slides

What's hot(20)

SQLアンチパターン 幻の第26章「とりあえず削除フラグ」 by Takuto Wada
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada148.7K views
フロー効率性とリソース効率性について #xpjug by Itsuki Kuroda
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda106.2K views
開発速度が速い #とは(LayerX社内資料) by mosa siru
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
mosa siru61.5K views
イベント・ソーシングを知る by Shuhei Fujita
イベント・ソーシングを知るイベント・ソーシングを知る
イベント・ソーシングを知る
Shuhei Fujita31K views
基礎からのOAuth 2.0とSpring Security 5.1による実装 by Masatoshi Tada
基礎からのOAuth 2.0とSpring Security 5.1による実装基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装
Masatoshi Tada30.5K views
ドキュメントを作りたくなってしまう魔法のツールSphinx by Takayuki Shimizukawa
ドキュメントを作りたくなってしまう魔法のツールSphinxドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinx
Takayuki Shimizukawa89.9K views
マイクロサービスにおける 非同期アーキテクチャ by ota42y
マイクロサービスにおける非同期アーキテクチャマイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける 非同期アーキテクチャ
ota42y49K views
GraphQLのsubscriptionで出来ること by Shingo Fukui
GraphQLのsubscriptionで出来ることGraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
Shingo Fukui9.1K views
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay by 都元ダイスケ Miyamoto
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDayマイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
なぜOpenID Connectが必要となったのか、その歴史的背景 by Tatsuo Kudo
なぜOpenID Connectが必要となったのか、その歴史的背景なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景
Tatsuo Kudo49.3K views
怖くないSpring Bootのオートコンフィグレーション by 土岐 孝平
怖くないSpring Bootのオートコンフィグレーション怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平2.9K views
Javaのログ出力: 道具と考え方 by Taku Miyakawa
Javaのログ出力: 道具と考え方Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa74.3K views
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム by Kouhei Sutou
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
Kouhei Sutou9.1K views
こわくない Git by Kota Saito
こわくない Gitこわくない Git
こわくない Git
Kota Saito881.5K views
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える by pospome
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるGoのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome65.3K views
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話 by Koichiro Matsuoka
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka88.2K views

Similar to RESTfulとは

Restful Web Service Ch2 by
Restful Web Service Ch2Restful Web Service Ch2
Restful Web Service Ch2kunit
552 views136 slides
OSC2008 Tokyo/Spring REST勉強夜会 by
OSC2008 Tokyo/Spring REST勉強夜会OSC2008 Tokyo/Spring REST勉強夜会
OSC2008 Tokyo/Spring REST勉強夜会Siena. N
3K views12 slides
AWSで医療AI、機械学習のREST APIを構築する方法 by
AWSで医療AI、機械学習のREST APIを構築する方法AWSで医療AI、機械学習のREST APIを構築する方法
AWSで医療AI、機械学習のREST APIを構築する方法TMDU teaparty
150 views37 slides
AWSで医療AI、機械学習のREST APIを構築する方法 by
AWSで医療AI、機械学習のREST APIを構築する方法AWSで医療AI、機械学習のREST APIを構築する方法
AWSで医療AI、機械学習のREST APIを構築する方法医療IT数学同好会 T/T
1.1K views37 slides
OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法 by
OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法
OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法Hiromasa Tanaka
16.2K views81 slides
REST APIに入門する。 by
REST APIに入門する。REST APIに入門する。
REST APIに入門する。Kazushi Kawamura
171 views46 slides

Similar to RESTfulとは(18)

Restful Web Service Ch2 by kunit
Restful Web Service Ch2Restful Web Service Ch2
Restful Web Service Ch2
kunit552 views
OSC2008 Tokyo/Spring REST勉強夜会 by Siena. N
OSC2008 Tokyo/Spring REST勉強夜会OSC2008 Tokyo/Spring REST勉強夜会
OSC2008 Tokyo/Spring REST勉強夜会
Siena. N3K views
AWSで医療AI、機械学習のREST APIを構築する方法 by TMDU teaparty
AWSで医療AI、機械学習のREST APIを構築する方法AWSで医療AI、機械学習のREST APIを構築する方法
AWSで医療AI、機械学習のREST APIを構築する方法
TMDU teaparty150 views
OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法 by Hiromasa Tanaka
OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法
OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法
Hiromasa Tanaka16.2K views
RESTful #とは RailsスタイルからRESTを学ぼう by Toru Kawamura
RESTful #とは RailsスタイルからRESTを学ぼうRESTful #とは RailsスタイルからRESTを学ぼう
RESTful #とは RailsスタイルからRESTを学ぼう
Toru Kawamura17.7K views
Learn Http Requests & Responses for Test Engineer by Takashi Moriyama
Learn Http Requests & Responses for Test EngineerLearn Http Requests & Responses for Test Engineer
Learn Http Requests & Responses for Test Engineer
Takashi Moriyama903 views
20180126 apexはじめの一歩 by utatu
20180126 apexはじめの一歩20180126 apexはじめの一歩
20180126 apexはじめの一歩
utatu4.6K views
45分で理解する webクローリング入門 斉藤之雄 by Yukio Saito
45分で理解する webクローリング入門 斉藤之雄45分で理解する webクローリング入門 斉藤之雄
45分で理解する webクローリング入門 斉藤之雄
Yukio Saito10.9K views
REST API マスターへの道 - Office 365 パワーユーザー向け by Hirofumi Ota
REST API マスターへの道 - Office 365 パワーユーザー向けREST API マスターへの道 - Office 365 パワーユーザー向け
REST API マスターへの道 - Office 365 パワーユーザー向け
Hirofumi Ota7.8K views
社内システムの構造と設計、実装のはなし(下書きバージョン) by SATOSHI TAGOMORI
社内システムの構造と設計、実装のはなし(下書きバージョン)社内システムの構造と設計、実装のはなし(下書きバージョン)
社内システムの構造と設計、実装のはなし(下書きバージョン)
SATOSHI TAGOMORI12.7K views
codeless/serverless develop by Tomoyuki Obi
codeless/serverless develop codeless/serverless develop
codeless/serverless develop
Tomoyuki Obi793 views
Webサービス入門 by H MM
Webサービス入門Webサービス入門
Webサービス入門
H MM667 views

More from 星影 月夜

とあるデル アンバサダーの活動記録 by
とあるデル アンバサダーの活動記録とあるデル アンバサダーの活動記録
とあるデル アンバサダーの活動記録星影 月夜
672 views26 slides
これから美少女の話をしよう by
これから美少女の話をしようこれから美少女の話をしよう
これから美少女の話をしよう星影 月夜
4.2K views53 slides
写真でなんでも2択の相談!回答率100%の暇潰し系相談アプリ【aorb】 by
写真でなんでも2択の相談!回答率100%の暇潰し系相談アプリ【aorb】写真でなんでも2択の相談!回答率100%の暇潰し系相談アプリ【aorb】
写真でなんでも2択の相談!回答率100%の暇潰し系相談アプリ【aorb】星影 月夜
4.8K views66 slides
ハッカソン参加してないけど懇親会だけ出ても良いよね! by
ハッカソン参加してないけど懇親会だけ出ても良いよね!ハッカソン参加してないけど懇親会だけ出ても良いよね!
ハッカソン参加してないけど懇親会だけ出ても良いよね!星影 月夜
1.6K views24 slides
Peak+が出荷されなかった俺はしぶしぶZTE Openの注文を決意しました。 by
Peak+が出荷されなかった俺はしぶしぶZTE Openの注文を決意しました。Peak+が出荷されなかった俺はしぶしぶZTE Openの注文を決意しました。
Peak+が出荷されなかった俺はしぶしぶZTE Openの注文を決意しました。星影 月夜
2.7K views47 slides
Firefox OSがモテないのはどう考えてもお前らが悪い! by
Firefox OSがモテないのはどう考えてもお前らが悪い!Firefox OSがモテないのはどう考えてもお前らが悪い!
Firefox OSがモテないのはどう考えてもお前らが悪い!星影 月夜
8K views81 slides

More from 星影 月夜(7)

とあるデル アンバサダーの活動記録 by 星影 月夜
とあるデル アンバサダーの活動記録とあるデル アンバサダーの活動記録
とあるデル アンバサダーの活動記録
星影 月夜672 views
これから美少女の話をしよう by 星影 月夜
これから美少女の話をしようこれから美少女の話をしよう
これから美少女の話をしよう
星影 月夜4.2K views
写真でなんでも2択の相談!回答率100%の暇潰し系相談アプリ【aorb】 by 星影 月夜
写真でなんでも2択の相談!回答率100%の暇潰し系相談アプリ【aorb】写真でなんでも2択の相談!回答率100%の暇潰し系相談アプリ【aorb】
写真でなんでも2択の相談!回答率100%の暇潰し系相談アプリ【aorb】
星影 月夜4.8K views
ハッカソン参加してないけど懇親会だけ出ても良いよね! by 星影 月夜
ハッカソン参加してないけど懇親会だけ出ても良いよね!ハッカソン参加してないけど懇親会だけ出ても良いよね!
ハッカソン参加してないけど懇親会だけ出ても良いよね!
星影 月夜1.6K views
Peak+が出荷されなかった俺はしぶしぶZTE Openの注文を決意しました。 by 星影 月夜
Peak+が出荷されなかった俺はしぶしぶZTE Openの注文を決意しました。Peak+が出荷されなかった俺はしぶしぶZTE Openの注文を決意しました。
Peak+が出荷されなかった俺はしぶしぶZTE Openの注文を決意しました。
星影 月夜2.7K views
Firefox OSがモテないのはどう考えてもお前らが悪い! by 星影 月夜
Firefox OSがモテないのはどう考えてもお前らが悪い!Firefox OSがモテないのはどう考えてもお前らが悪い!
Firefox OSがモテないのはどう考えてもお前らが悪い!
星影 月夜8K views
Firefox OSがモテないのは どう考えてもお前らが悪い!(FxOS Gecko勉強会LT版) by 星影 月夜
Firefox OSがモテないのは どう考えてもお前らが悪い!(FxOS Gecko勉強会LT版)Firefox OSがモテないのは どう考えてもお前らが悪い!(FxOS Gecko勉強会LT版)
Firefox OSがモテないのは どう考えてもお前らが悪い!(FxOS Gecko勉強会LT版)
星影 月夜2K views

Recently uploaded

速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
23 views38 slides
光コラボは契約してはいけない by
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけないTakuya Matsunaga
24 views17 slides
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 by
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
85 views26 slides
定例会スライド_キャチs 公開用.pdf by
定例会スライド_キャチs 公開用.pdf定例会スライド_キャチs 公開用.pdf
定例会スライド_キャチs 公開用.pdfKeio Robotics Association
127 views64 slides
Windows 11 information that can be used at the development site by
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development siteAtomu Hidaka
89 views41 slides

Recently uploaded(10)

速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
光コラボは契約してはいけない by Takuya Matsunaga
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけない
Takuya Matsunaga24 views
Windows 11 information that can be used at the development site by Atomu Hidaka
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
Atomu Hidaka89 views
SNMPセキュリティ超入門 by mkoda
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門
mkoda420 views
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
The Things Stack説明資料 by The Things Industries by CRI Japan, Inc.
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.73 views
SSH応用編_20231129.pdf by icebreaker4
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdf
icebreaker4366 views

RESTfulとは

Editor's Notes

  1. ・RESTという命名は、コンピューター関係の用語でよくみられるこじつけ気味の命名(HTTP、PHPとかもそう)  「リソースの状態」(Resources State)の「表現」(REpresentational ) ・アーキテクチャスタイル  様式、作法、流儀の意
  2. ・XMLではなくJSONなどで返ってくるのもあり
  3. Yahoo!APIを使ったサンプル  キーフレーズ抽出  http://beer:7731/Keyphrase/  「パラメータを指定して特定のURLにHTTPでアクセスすると、XMLで記述されたメッセージが返ってくるようなシステム」
  4. スケーラビリティとは  コンピュータシステムの持つ拡張性。  システムの利用者や負荷の増大に応じて、柔軟に性能や機能を向上させられることを意味する。  また、同じソフトウェアで小規模なシステムから大規模なシステムまで同じように構築できることを言うこともある。
  5. CRUDとは  Create(生成)、Read(読み取り)、Update(更新)、Delete(削除)  ほとんどのコンピューターが持つ機能機能のこと プロトコル  通信規約  ネットワークを介してコンピュータが通信を行う上での約束事
  6. URI を静的なものにする必要がある。 そうすれば、リソースが変更された場合、またはサービスの実装が変更された場合にも、リンクは同じまま。 こうすることでブックマークを付けられるようになる。 また URI にエンコードされたリソース同士の関係が、それらのリソースが保存されている場所でのリソースの表現方法に依存しないようにすることも重要。
  7. 「LoginServlet」 Java→ファイル名の先頭を大文字にする Perl、Ruby→小文字
  8. 「.do」はStrutsというWebアプリケーションワークフレームの拡張子
  9. Ajaxの発展で、任意のメソッドを発行できるようになっている