タグ

httpに関するrutebozuのブックマーク (6)

  • HerokuのAPIデザイン

    Herokuが自ら実践しているAPIデザインガイドをGithubに公開した. “HTTP API Design Guide” このガイドは些細なデザイン上の議論を避けて,ビジネスロジックに集中すること目的としている.Heroku特有なものではなく,一般にも十分適用できる知見となっている. 最近は,モバイル向けにAPIをつくることも多いため,勉強もかねて抄訳した.なお内容は,HTTP+JSONのAPIについて基的な知識があることが前提となっている. 適切なステータスコードを返す それぞれのレスポンスは適切なHTTPステータスコード返すこと.例えば,“成功"を示すステータスコードは以下に従う. 200: GETやDELETE,PATCHリクエストが成功し,同時に処理が完了した場合 201: POSTリクエストが成功し,同時に処理が完了した場合 202: POSTやDELETE,PATCHリク

  • HerokuのHTTP API設計ガイド

    HerokuAPIチームの一員、Wesley Beary氏がHTTP+JSON API作成のためのガイドラインを要約した形でまとめた。 これは一般的な推奨からはじまっている。 API呼び出しはすべてTLSを使う必要がある。非TLSの呼び出しには403 Forbiddenを返す。 APIには必ずバージョンを付けること。バージョンの指定にはAcceptヘッダを使う。デフォルトバージョンに頼る代わりに、クライアントはAPIバージョンを指定する必要がある。 リソースのキャッシングをサポートするために、ETagヘッダを使うこと。 X-Request-IDの付いたレスポンスを識別すること。これはログやデバッグに役立つ。 大きなレスポンスを扱うために、Range、Content-Range、Next-Rangeを使うこと。 リクエストについて、次のように述べている。 以下のような適切なステータスコード

    HerokuのHTTP API設計ガイド
  • 【図解】RESTful WebサービスにおけるHTTPステータスコード : アジャイル株式会社

    RESTful WebサービスではHTTPステータスコード=処理結果 弊社 アイコン認証Webサービス は、REST方式のWebサービスとして実装されています。 REST方式でない通常のWebアプリケーションでは、通常HTTPステータスコードとしては200(OK)しか返されません。 エラー等の状態を表す場合でもHTTPステータスは200(OK)が返され、画面に表示される内容にエラーを表すメッセージ等を含ませる事によって状態を表現します。 RESTfulなWebサービスを実現する場合には、処理結果はHTTPステータスコードで表現するべきとされています。 理由としては、以下のものがあげられます。 適切なHTTPステータスコードを返さない ( 全部 200 (OK) とかの ) 場合、エンティティの中身を解析しなければ、処理結果が判別できない。 Web標準に従う事で、HTTPステータスコードから

    【図解】RESTful WebサービスにおけるHTTPステータスコード : アジャイル株式会社
  • Bitbucket

  • RESTサポートの強化 -POSTオーバライドメソッドのサポート- - おおたに6号機blog

    T2でRESTライクな通信のサポートを強化しました. 近代的なWebフレームワークにはRESTライクな通信のサポート機能がついていますが、 特にブラウザ上からの普通のサブミットではPUT/DELETEは通らないので結構悩ましい問題です. HTML5で状況が変わりそうですが、それもしばらくかかりそう. 一番使われている技法は、パラメータに"_method"という指定をすることで擬似的にフレームワーク内で HTTPメソッドを使った何らかの処理を切り替える方法で、特にPOSTを使って、PUT/DELETEをあらわすところから POSTオーバーロードメソッドと言われています.書籍RESTful WebService参照. もう一つの手法はHTTPヘッダを使う方法です. GoogleとかMSのWCFとかはこの手法をつかっていて、HTTPヘッダにX-HTTP-Override-Methodというキーで

    RESTサポートの強化 -POSTオーバライドメソッドのサポート- - おおたに6号機blog
  • URIに使ってよい文字の話 - RFC2396 と RFC3986 - 本当は怖いHPC

    POSTするデータを、(プレビューのために)javascriptでGETアクセスするような処理を書いていてハマった話。 発端は、textareaに'(シングルクオートまたはアポストロフィー)が入ると、Railsがそこから先のパラメーターを無視しちゃうっていうこと。いろいろ調べた結果、以下のことがわかった(Railsのバージョンは2.0.2)。 URIを定義する2つのRFC URIの構文はRFCで定義されている。これには2つあって、従来のRFC2396(1998年発行)と、RFC3986(2005年発行)だ。 RFC3986によれば、 This document obsoletes [RFC2396], which merged "Uniform Resource Locators" [RFC1738] and "Relative Uniform Resource Locators" [RF

    URIに使ってよい文字の話 - RFC2396 と RFC3986 - 本当は怖いHPC
  • 1