最新のソフトウェア開発の世界では、アプリケーションプログラミングインターフェイス(API)が、異なるソフトウェアシステム間のシームレスなデータ交換のバックボーンになりました。 APIサプライヤーとして、HTTPステータスコードがAPI応答で果たす重要な役割を理解しています。これらのステータスコードは、デジタルハイウェイのサインポストのようなもので、データリクエストと応答の複雑なランドスケープを開発者とユーザーに導きます。このブログ投稿では、API応答におけるHTTPステータスコードの意味を掘り下げ、それらの重要性と全体的なAPIエクスペリエンスにどのように影響するかを調査します。
HTTPステータスコードの理解
HTTPステータスコードは、クライアントのHTTPリクエストに応じてサーバーによって返される3つの桁数です。それらは、成功したか、エラーが発生したか、さらにアクションが必要かにかかわらず、リクエストの結果を伝える標準化された方法を提供します。ステータスコードの最初の数字は応答の一般的なカテゴリを示し、残りの2桁はより具体的な情報を提供します。
1xx:情報
1XXステータスコードは、主に情報目的で使用されます。彼らは、サーバーがリクエストを受け取っており、それを処理し続けていることを示しています。これらのコードは、リクエストの交渉段階で主に中間応答に使用されるため、日常のAPI相互作用ではめったに見られません。たとえば、a100続行ステータスコードは、クライアントに、リクエストの残りの部分を送信することを進めることができることを伝えます。
2xx:成功
2XXステータスコードは、リクエストがサーバーによって正常に受信、理解、および処理されたことを示しています。これは、APIリクエストにとって最も望ましい結果です。 API応答で一般的に使用される2xxステータスコードの一部には、以下が含まれます。
- 200 OK:これは最も基本的な成功コードです。これは、リクエストが成功し、サーバーが要求されたデータを返したことを示しています。たとえば、クライアントがE -Commerce APIから製品のリストを要求する場合、
200 OK応答本体の製品データを使用したステータスコードは、リクエストが正常に満たされたことを意味します。 - 作成された201:このコードは、サーバー上に新しいリソースが正常に作成されたときに使用されます。たとえば、クライアントが認証APIで新しいユーザーアカウントを作成するために投稿リクエストを送信した場合、
作成された201ステータスコードと新しく作成されたユーザーの詳細は、アカウントが正常に作成されたことを示します。 - 204コンテンツなし:このステータスコードは、リクエストが成功したときに返されますが、返すコンテンツはありません。たとえば、クライアントがサーバーからリソースを削除するために削除リクエストを送信した場合、
204コンテンツなしステータスコードは、リソースが正常に削除されたことを示します。
3xx:リダイレクト
3XXステータスコードは、クライアントがリクエストを完了するために追加のアクションを実行する必要があることを示すために使用されます。これには通常、クライアントを別のURLにリダイレクトします。いくつかの一般的な3XXステータスコードは次のとおりです。

- 301は永久に移動しました:このコードは、要求されたリソースが永続的に新しいURLに移動されたことを示しています。クライアントは、レコードを更新し、将来のリクエストに新しいURLを使用する必要があります。
- 302が見つかりました:に似ています
301、しかし、リダイレクトは一時的なものです。クライアントは、将来のリクエストのために元のURLを引き続き使用する必要があります。
4XX:クライアントエラー
4XXステータスコードは、クライアントがリクエストにエラーを犯したことを示しています。これは、入力が無効、不正アクセス、または他のクライアントの側面の問題が原因である可能性があります。よく知られている4xxステータスコードは次のとおりです。
- 400悪いリクエスト:このコードは、無効な構文のためにサーバーが要求を理解できなかったことを示しています。たとえば、クライアントがPOSTリクエストで奇形のJSONペイロードをAPIに送信した場合、サーバーは
400悪いリクエストステータスコード。 - 401不正:それは、クライアントが要求されたリソースにアクセスするために認証する必要があることを意味します。たとえば、クライアントが有効な認証資格情報を提供せずに保護されたAPIエンドポイントにアクセスしようとすると、サーバーは
401不正ステータスコード。 - 403禁止:このステータスコードは、クライアントが認証されていることを示しますが、要求されたリソースにアクセスする許可がありません。たとえば、管理者にアクセスしようとする通常のユーザー - APIのエンドポイントのみが受信します
403禁止応答。 - 404見つかりません:これは最もよく知られているステータスコードの1つです。これは、要求されたリソースがサーバーで見つからなかったことを意味します。たとえば、クライアントが存在しないAPIエンドポイントを要求した場合、サーバーは
404見つかりませんステータスコード。
5xx:サーバーエラー
5XXステータスコードは、サーバー側にエラーがあることを示しています。これは、サーバーの誤解、サーバーコードのバグ、またはその他の内部問題が原因である可能性があります。いくつかの一般的な5xxステータスコードは次のとおりです。
- 500内部サーバーエラー:これは、サーバーで何かが間違っていることを示す一般的なエラーコードです。データベースエラー、コードバグ、またはその他の予期しない問題が原因である可能性があります。
- 503サービスは利用できません:このコードは、サーバーが一時的にリクエストを処理できないことを示しています。これは、メンテナンス、過負荷、またはその他の一時的な問題が原因である可能性があります。
API応答におけるHTTPステータスコードの重要性
APIサプライヤーとして、API応答で正しいHTTPステータスコードを使用することは、いくつかの理由で重要です。
明確なコミュニケーション
HTTPステータスコードは、リクエストの結果を伝えるための明確で標準化された方法を提供します。開発者は、リクエストが成功したか、エラーが発生したか、ステータスコードに基づいてさらなるアクションが必要かどうかを簡単に理解できます。これにより、開発プロセスが簡素化され、デバッグに費やされる時間が短縮されます。
エラー処理
ステータスコードを適切に使用すると、開発者が効果的なエラー - アプリケーションにメカニズムの取り扱いを実装できます。たとえば、クライアントがaを受信した場合400悪いリクエストステータスコードでは、ユーザーに入力を修正するように促すことができます。 a500内部サーバーエラー受信して、クライアントはユーザーにサーバー側に問題があることを通知し、後でリクエストを再試行することができます。
APIの使いやすさ
まあ - 定義されたステータスコードは、APIの使いやすさを改善します。開発者がステータスコードに何を期待するかを知っている場合、より堅牢で信頼性の高いアプリケーションを構築できます。これにより、APIの採用が増加し、全体的なユーザーエクスペリエンスが向上します。
実際の - 世界の例
API応答でHTTPステータスコードがどのように使用されるかについてのいくつかの実際の - 世界の例を考えてみましょう。製薬会社向けのAPIがあるとします。塩酸アザセトロン、グアイフェネシン、 そしてピラジナミド。
- 成功したリクエスト:クライアントは、Guaifenesinに関する情報を取得するためにAPIにGETリクエストを送信します。要求が成功した場合、サーバーはaを返します
200 OKステータスコードと応答ボディのグアイフェネシンに関する詳細情報。 - クライアントエラー:クライアントは、材料の新しいレコードを作成するために投稿リクエストを送信しますが、リクエストのJSONペイロードには必要なフィールドがありません。サーバーはaを返します
400悪いリクエスト要求が無効であることを示すステータスコード。 - サーバーエラー:データベースの停止により、サーバーはピラジナミドに関する情報を取得するリクエストを処理できません。サーバーはaを返します
500内部サーバーエラーステータスコードは、サーバー側に問題があることをクライアントに通知します。
調達のためのガイド連絡先
APIをアプリケーションに統合することに興味がある場合、または医薬品成分に提供するデータについて質問がある場合は、調達とさらなる議論のために私たちに連絡することをお勧めします。当社のAPIは、さまざまなアクティブな医薬品に関する正確かつアップ - 日付の情報を提供するように設計されています。あなたが医薬品メーカー、研究機関であろうと、信頼できるAPIサービスを必要とする他の組織であろうと、私たちはあなたを支援するためにここにいます。
参照
- フィールディング、RT、ゲティス、J。、モーグル、JC、フライスティク、H。、マシンター、L。、リーチ、P。、&バーナーズ-Lee、T。(1999)。ハイパーテキスト転送プロトコル-HTTP/1.1。 RFC 2616。
- Reschke、J。(2014)。ハイパーテキスト転送プロトコル(HTTP/1.1):セマンティクスとコンテンツ。 RFC 7231。
