インターフェース設計関連コンテンツ - TCP/UDP/API/Flaskフレームワーク

目次

1. TCPプロトコルとUDPプロトコルの接続と違い

 2.HTTPプロトコル

HTTP/1.1 プロトコルで定義されている 8 つの HTTP コマンド:

完全な HTTP リクエスト プロセス

3. インターフェース開発に関するいくつかの説明

 1. マルチメディア形式

2. APIインターフェース(Application Programming Interfaceアプリケーションプログラミングインターフェース)

3. フラスコフレームワーク


1. TCPプロトコルとUDPプロトコルの接続と違い

 2.HTTPプロトコル

HTTP (Hypertext Transfer Protocol) は、Web ブラウザと Web サーバー間の通信に使用される、ネットワーク上で通信するためのプロトコルです。HTTP は、TCP/IP プロトコルの上に構築されたクライアント/サーバー プロトコルです。

HTTP プロトコルはクライアントを通じてサーバーにリソースを要求し、サーバーはクライアントの要求に応答して要求されたリソースを返してデータ送信を完了します。HTTP プロトコルでは、クライアントは HTTP 要求メッセージを送信し、サーバーは HTTP 応答メッセージを返します。

HTTP リクエスト メッセージは、リクエスト行、リクエスト ヘッダー、リクエスト本文の 3 つの部分で構成されます。リクエスト行には、リクエスト メソッド、リクエスト URI、HTTP プロトコルのバージョン番号が含まれます。リクエスト ヘッダーには、クライアントのブラウザの種類、要求されたリソースの種類などの追加情報が含まれています。リクエスト本文には、POST リクエストで送信されたフォーム データなどの追加データが含まれています。

HTTP 応答メッセージも、ステータス行、応答ヘッダー、応答本文の 3 つの部分で構成されます。ステータス行には、HTTP プロトコルのバージョン番号、ステータス コード、およびステータスの説明が含まれます。応答ヘッダーには、サーバーの種類、返されるデータの種類などの追加情報が含まれています。応答本文には、HTML ドキュメント、画像などの要求されたリソースが含まれます。

HTTP プロトコルの主な機能には、ステートレス性、スケーラビリティ、および柔軟性が含まれます。ステートレスとは、HTTP プロトコルがクライアントのリクエスト履歴を記録せず、各リクエストが独立していることを意味します。拡張性とは、HTTP プロトコルが新しいメソッド、ヘッダー、ステータス コードを追加することで独自の機能を拡張できることを意味します。柔軟性とは、HTTP プロトコルがテキスト、画像、ビデオなどのあらゆる種類のデータを送信できることを意味します。

HTTP/1.1 プロトコルで定義されている 8 つの HTTP コマンド:

  1. GET: Web ページや画像の取得など、Web サーバーからリソースを取得します。

  2. POST:フォーム データの送信やファイルのアップロードなど、データをWeb サーバーに送信します。

  3. PUT: リソースを更新または作成するためにデータを Web サーバーにアップロードします

  4. DELETE:ファイルの削除やデータベース レコードの削除など、Web サーバーからリソースを削除します。

  5. HEAD: GET と似ていますが、リソース自体ではなく、リソースのヘッダー情報のみを取得します。

  6. オプション: Web サーバーでサポートされている HTTP コマンドと利用可能な通信オプションを照会します。

  7. TRACE: クライアントとサーバー間の通信プロセスをトレースするために使用されます。

  8. CONNECT: 主に SSL/TLS 暗号化接続のために、Web サーバーをプロキシとして別のサーバーに接続するために使用されます。

完全な HTTP リクエスト プロセス

ドメイン名解決 --> TCP 3 ウェイ ハンドシェイクを開始 --> TCP 接続の確立後に http リクエストを開始--> サーバーが HTTP リクエストに応答し、ブラウザが HTML コードを取得 --> ブラウザが HTML コードを解析HTML コードと HTML コード内のリソース (js、css、画像など) をリクエストします --> ブラウザはページをレンダリングしてユーザーに表示します。

JSON はデータの送信に使用される主流の形式です。すべての文字列は二重引用符で囲まれます。

3. インターフェース開発に関するいくつかの説明

タスク: Python 言語を通じて Alibaba Cloud の ID カード識別インターフェイスを呼び出し、フロントエンドに提供するオープン インターフェイスを作成します。

3 つの部分: フロントエンド、私が書いたコード (インターフェイス API)、Aliyun インターフェイス (クラウド API サービス)

プロセス: フロントエンドが私に電話をかけ、私が Alibaba Cloud に電話をかけ、Alibaba Cloud がデータを私に返し、私がデータをフロントエンドに返します。

概要: ファイルはアップロード用にマルチメディア フォームにカプセル化されます。

 1. マルチメディア形式

マルチメディア フォームとは、バイナリ ファイル、オーディオ、ビデオ、画像などの複数のメディア タイプをアップロードできる HTML フォーム内のフォームを指します。HTML フォームは通常、<form>タグを使用してフォームを作成しますが、マルチメディア フォームは<form>タグのenctype属性でメディア タイプを指定する必要があります。マルチメディア フォームでは、通常、ファイルをアップロードするための入力ボックスを指定するために<input>タグの属性が使用されます。type以下は、典型的なマルチメディア フォームのサンプル HTML コードです。

Alibaba Cloud ID カード識別インターフェイス プロジェクトでは、マルチメディア フォームとは、HTTP POST リクエストを通じて Alibaba Cloud ID カード識別サービスに ID カードの写真をアップロードするためのフォームを指します。Aliyun ID カード識別インターフェイスを使用する場合、HTTP POST リクエストを使用して ID カードの写真を Alibaba Cloud サーバーに送信する必要があります。写真をアップロードする機能を実現するには、ファイルアップロード機能を備えたフォーム、つまりマルチメディアフォームを使用する必要があります。

マルチメディア フォームは通常、タグを使用してフォームを作成しますが、Aliyun ID カード認識インターフェイス プロジェクトでは、バイナリ ファイル タイプ データのアップロードをサポートするために、フォームのプロパティを使用してフォームのエンコード タイプを設定する<form>必要があります。ID カードの写真をアップロードするときは、以下に示すように、タグの属性を使用して、入力ボックスがファイルのアップロードに使用されることを示すように設定する必要があります。enctypemultipart/form-data<input>typefile

<form action="https://dm-51.data.aliyun.com/rest/160601/ocr/ocr_idcard.json" method="POST" enctype="multipart/form-data">
  <input type="file " name="image">
  <input type="hidden" name="side" value="face">
  <input type="hidden" name="appcode" value="your_appcode">
  <input type="submit" value="提交">
</form>

上記のコードでは、action属性はフォーム データを送信するための URL を指定し、method属性は HTTP リクエスト メソッドを指定し、enctype属性はmultipart/form-dataファイルのアップロードをサポートするように設定され、ラベル<input>の属性は写真のアップロードに使用される に設定されます。データ名は ID カードであり、ラベルの属性はアップロードされた ID カードを識別するために使用されます。データの名前。たとえば、上記のコードでは、アップロードされた ID カードの写真のデータ名は ですさらに、ラベルの属性を に設定して、上記のコードの フィールドやフィールドなど、フォーム内の特定のフィールドを非表示にすることができます。typefile<input>nameimage<input>typehiddensideappcode

2. APIインターフェース(Application Programming Interfaceアプリケーションプログラミングインターフェース)

API (Application Programming Interface) は、異なるアプリケーション間のデータ交換と通信を可能にする対話方法を定義する一連の仕様です。API を使用すると、リモート サーバー上のリソースにアクセスして操作でき、他のソフトウェア コンポーネントと対話するための標準化された方法が提供されます。API はさまざまなプロトコルやデータ形式で実装できます。(例:HTTPプロトコルでリクエスト)

API インターフェースは対話方法を定義します。

3. フラスコフレームワーク

Flask フレームワークは、Python に基づいて記述された Web フレームワークであり、ルーティング、テンプレート、静的ファイル処理、セッション管理など、開発者が Web アプリケーションをより簡単に構築できるようにするいくつかの基本機能を提供します。Flask は、学習と使用が簡単な軽量フレームワークであり、他の Python ライブラリやフレームワークとの統合もサポートしています。

Web アプリケーション開発では、通常、Flask フレームワークを使用して API インターフェイスを実装します。Flask は、ルーティング、リクエスト処理、レスポンス処理などの機能を提供しており、開発者が API インターフェイスを迅速に実装するのに役立ちます。Flask フレームワークは、RESTful API およびその他の一般的な API 実装メソッドをサポートでき、また、JSON、XML、HTTP などの複数のデータ形式とプロトコルもサポートします。Flask は、データベース アクセス、認証と認可、テストなど、他の Python ライブラリやフレームワークと統合することもできます。

 Flask フレームワークは、API インターフェイスの実装に必要な基本機能を提供します。

おすすめ

転載: blog.csdn.net/qq_45790998/article/details/129265050