ASP.NET WebAPI の予備知識: HTTP と RestfulAPI
HTTP プロトコルの基本を理解することは、RestFul スタイル API を理解して使用するための基礎となります。これらの基本を理解すると、さまざまな RestFul 開発 フレームワーク を快適に使用できるようになります。 WebApi を使い始めたときは、この知識が理解できていなかったために使いにくいと感じましたが、これらの HTTP の知識に慣れて初めて、WebApi を開発するのに快適に感じました。 RestFul スタイル API は、HTTP プロトコルを適切にサポートし、HTTP の完全なセマンティック スタイルを実装する API です。
この知識を紹介する前に、多くの人が抱いている誤解、つまり HTTP 述語とデータ送信方法について強調しておく必要があります。ほとんどの人が Web サイトを作成する際に使用する HTTP プロトコルは、一般的な WEB アプリケーションでは GET と POST の 2 つの述語のみを使用しており、この習慣の下では、多くの人がいくつかの述語を使用します。奇妙な認識: HTTP プロトコルは Web サイト開発にのみ適しています。HTTP 呼び出しのデータ転送は GET/POST の 2 つだけです。この認識の下では、RestApi はあまり目立たないスタイルで開発されます。また、ASP.NET WebAPI を使用すると、平凡に表示され、問題が発生します。まず、Web サイトでのデータのやり取りは HTTP 使用の 1 つのシナリオにすぎず、HTTP はさまざまな形式のデータを転送できることを認識する必要があります。
HTTP の最初の行から始めましょう: HTTP の最初の行には、述語、URL、HTTP プロトコルのバージョンという 3 つの情報が含まれています。 3 つのデータはスペースで区切られます。補足説明: RESTFUL API は非常に重要な要素であり、Web API では、デフォルトのルーティング メソッドとして述語を使用し、「削除、変更、確認」という 4 つのアクション (POST と PUT は、さまざまなデータの追加と変更に使用されます) です。常に異なる意見があります。実際には少し混乱しています...PUT は冪等な操作であるという定義がありますが、PUT は変更に重点を置き、POST は増加に重点を置きます。最も一般的に使用される述語は次の 4 つで、別のセマンティクスを持つ他にも述語があります:
HEAD: 本体を除く、対応するヘッダーのみが返されます TRACE: データ送信プロセスの診断
OPTIONS: Web のリクエストサーバーがサポートするさまざまな関数を通知します必要に応じて、関連するドキュメントを
クエリできますが、それらは一般的には使用されません。
このうち、GET と DELETE には BODY が含まれませんが、PUT と POST には BODY が含まれる可能性があります。また、述語に BODY を使用した GET などのセマンティクス外の操作が含まれている場合、POST を使用してリソースを
削除します。この操作は述語の オーバーロード と呼ばれますが、HTTP は述語の再読み込みをサポートできます。 . がロードされますが、標準のセマンティクスに準拠していないため、その使用はお勧めできません。
URL: URL はリソースを定義します。たとえば、www.example.com/person はリソースとして person を定義し、上で紹介した述語と組み合わせて、person に対する一連の操作を提供します:
GET www.example / person/1 は ID 1 のユーザーの情報を取得します
use using using using using using through through through out through ‐ out through off off ‐ ‐ ‐ ‐‐ ‐ 、および 人の説明が含まれています)更新
個人リソース使用 - - ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ −--.1契約、HTTP2.0プロトコルは普及段階にあり、まだあまり使われていません。 HTTP1.0 と HTTP1.1 の違いは非常に小さく、その違いは RestFul に大きな影響を与えません。具体的な違いについては、関連ドキュメントを確認してください。
これは HTTP の最初の行です。次に改行する HTTP HEAD 部分が HTTP リクエストとレスポンスを記述します。 HTTP HEAD は HTTP プロトコルの最も重要な部分だと思います。これには、エンコーディング、BODY 長、コンテンツ ネゴシエーションなどの情報が含まれています。また、いくつかのカスタム情報を含めることもできます。 RestFul API で一般的に使用される HEAD をいくつか紹介します。
User-Agent: ユーザー エージェント、IE、Chrome、Fiddler などのクライアント。 :ドメイン名(HOST は通常、サーバーのサイト バインディングに使用され、通常は URL のドメイン名と同じです。ただし、一部のカスタマイズされた DNS 使用方法では、HOST 内のドメイン名と URL が一致しない場合があります) 認可: 検証このフィールドには、ユーザー検証のための情報を含めることができます。表現方法は次のとおりです: schema authorinfo (スペースで区切られます)。ここで、schema は検証方法を表し、authorinfo は検証情報を表します。Base: authorinfo などの一般的なスキーマでは、ユーザー名とパスワードを使用します。 、Base64でエンコードされています。または、
Sessionと同様にトークンを使用します。
Accept: 返されたデータを受け入れるシリアル化メソッド。MIME で表現され、応答データのコンテンツ ネゴシエーションに使用されます。application/json、application/
xmlなど、優先順位に従って配置された複数の MIME を含めることができます。 、text/html; サーバーが返すことができる特定のタイプのデータは、サーバーのサポートによって異なります。bson、protocolbuffer などのカスタマイズされた MIME が必要になる場合もあります。 MIME をカスタマイズしたり、サーバー側で独自の実装を開発したりできます。これらの特別な拡張機能には、ASP.NET WebApi に対応する拡張ポイントがあります。 Content-Type: MIME 表現を使用して、送信されるリクエストの本文のシリアル化メソッドを示します。一般的なものは application/json と application/x-www-form-urlencoded で、これは最も一般的に使用されます。それらはすべて、リクエストとレスポンスに現れるボディ部分のシリアル化メソッドを表しており、HTTP プロトコルの中心となる部分が非常に多く設定され、使用されます。詳細が多すぎます。上記の内容を紹介するすべての資料は、Rest API のコンテンツ ネゴシエーションで見つけることができます。最初に Rest の使い方を学習している人はよく混乱します。Accept と Content-Type は受け入れるデータの種類を示し、Content-Type は 2 つのヘッダーの機能と違いを覚えておいてください。現在のリクエストのボディ。 ASP.NET WEBAPI では、要求に Content-Type はあるが ACCEPT がない場合、Content-Type のコンテンツが応答のコンテンツ ネゴシエーションとしてデフォルトで使用されます。応答ヘッダーと要求ヘッダーの最大の違いは、応答の最初の行に HTTP コードがあることです。として重要なAPI 呼び出しの
ステータスの表示。REST API で最も一般的に使用される ステータス コード は、通常、2XX、4XX、5XX の 3 つのセグメントであり、1XX は作業が継続されることを意味し、3XX は通常は使用されないことを意味します。 REST API に多くの機能があります。最も一般的に使用される 3 つのステータス セグメントのうち、2XX は実行の成功を示し、4XX はクライアント データ エラー (パラメータ検証の失敗など) を示し、5XX は未処理の例外 (データベース接続エラーなど) などのサーバー側の処理エラーを示します。これらのステータスコードにより、API 呼び出しの実行状態を初期判断できます。
ヘッダーの後には空白行 (rn) があり、その後にコンテンツが続きます。ここには特定のビジネス データがあり、JSON、XML、さらには HTML など、さまざまな Content-Type に応じたさまざまなシリアル化メソッドで表されます。 HTTP API を学ぶと、Web アプリケーションも HTTP のアプリケーションであると考えることができますが、対話メソッドは一般的にリクエストとして application/x-www-form-urlencoded を使用し、レスポンスとして text/html を使用します。 RestAPI は他の多くのコーディング方法と連携でき、より広範なサポートを備えています。Web アプリケーションは HTTP 送信を使用するアプリケーション シナリオにすぎず、Web ページを分離することはできません。 Nancy はこれを ASP.NET よりもうまく行っていると思います。Nancy は Web ページから RestAPI を分離しませんが、ASP.NET は MVC と WEBAPI を使用して 2 つを分離します。データをリクエストするには、Json データが返されることを要求できます。 application/json を使用する場合は Web ページが返されますが、text/html を使用する場合は、当然ながら、これら 2 つのアプリケーション メソッドを切り取ったり結合したりすることには、それぞれ長所と短所があります。
HTTP プロトコルについてはあまりにも少ないので、興味のある方はご自身で検索してみてください。 WEB API のよく使われる部分だけを書きました。以下の知識を確認してください:
以上がASP.NET WebAPI の予備知識: HTTP と RestfulAPIの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









HTTP ステータス コード 520 は、サーバーがリクエストの処理中に不明なエラーに遭遇し、より具体的な情報を提供できないことを意味します。サーバーがリクエストを処理しているときに不明なエラーが発生したことを示すために使用されます。サーバー構成の問題、ネットワークの問題、またはその他の不明な理由が原因である可能性があります。これは通常、サーバー構成の問題、ネットワークの問題、サーバーの過負荷、またはコーディング エラーが原因で発生します。ステータス コード 520 エラーが発生した場合は、Web サイト管理者またはテクニカル サポート チームに連絡して詳細情報と支援を得ることが最善です。

HTTP ステータス コード 403 は、サーバーがクライアントの要求を拒否したことを意味します。 http ステータス コード 403 の解決策は次のとおりです: 1. 認証資格情報を確認します。サーバーが認証を必要とする場合は、正しい資格情報が提供されていることを確認します。2. IP アドレス制限を確認します。サーバーが IP アドレスを制限している場合は、クライアントの IP アドレスは制限されています。ホワイトリストに登録されているか、ブラックリストに登録されていません。3. ファイルのアクセス許可設定を確認します。403 ステータス コードがファイルまたはディレクトリのアクセス許可設定に関連している場合は、クライアントがこれらのファイルまたはディレクトリにアクセスするための十分なアクセス許可を持っていることを確認してください。等

HTTP 301 ステータス コードの意味を理解する: Web ページ リダイレクトの一般的なアプリケーション シナリオ インターネットの急速な発展に伴い、Web ページの操作に対する人々の要求はますます高くなっています。 Web デザインの分野では、Web ページのリダイレクトは一般的かつ重要なテクノロジであり、HTTP 301 ステータス コードによって実装されます。この記事では、HTTP 301 ステータス コードの意味と、Web ページ リダイレクトにおける一般的なアプリケーション シナリオについて説明します。 HTTP301 ステータス コードは、永続的なリダイレクト (PermanentRedirect) を指します。サーバーがクライアントのメッセージを受信すると、

NginxProxyManager を使用して HTTP から HTTPS への自動ジャンプを実装する方法 インターネットの発展に伴い、ますます多くの Web サイトが HTTPS プロトコルを使用してデータ送信を暗号化し、データ セキュリティとユーザーのプライバシー保護を向上させ始めています。 HTTPS プロトコルは SSL 証明書のサポートを必要とするため、HTTPS プロトコルを展開する際には特定の技術サポートが必要です。 Nginx は強力で一般的に使用される HTTP サーバーおよびリバース プロキシ サーバーであり、NginxProxy

http.PostForm 関数を使用して、フォーム データを含む POST リクエストを送信します。Go 言語の http パッケージでは、http.PostForm 関数を使用して、フォーム データを含む POST リクエストを送信できます。 http.PostForm 関数のプロトタイプは次のとおりです。 funcPostForm(urlstring,dataurl.Values)(resp*http.Response,errerror)where, u

クイック アプリケーション: PHP の実践的な開発ケース分析 複数ファイルの非同期 HTTP ダウンロード インターネットの発展に伴い、ファイル ダウンロード機能は多くの Web サイトやアプリケーションの基本的なニーズの 1 つになりました。複数のファイルを同時にダウンロードする必要があるシナリオでは、従来の同期ダウンロード方法は非効率的で時間がかかることがよくあります。このため、PHP を使用して HTTP 経由で複数のファイルを非同期にダウンロードするソリューションがますます一般的になってきています。この記事では、実際の開発事例を通して、PHP 非同期 HTTP の使用方法を詳しく分析します。

C# におけるネットワーク通信とセキュリティの一般的な問題と解決策 今日のインターネット時代では、ネットワーク通信はソフトウェア開発に不可欠な部分となっています。 C# では通常、データ送信のセキュリティ、ネットワーク接続の安定性など、ネットワーク通信の問題が発生します。この記事では、C# における一般的なネットワーク通信とセキュリティの問題について詳しく説明し、対応する解決策とコード例を提供します。 1. ネットワーク通信の問題 ネットワーク接続の中断: ネットワーク通信プロセス中に、ネットワーク接続が中断される場合があります。

解決策: 1. リクエスト ヘッダーの Content-Type を確認する; 2. リクエスト本文のデータ形式を確認する; 3. 適切なエンコード形式を使用する; 4. 適切なリクエスト メソッドを使用する; 5. サーバー側のサポートを確認する。
