バックエンド開発に取り組むとき、API と ミドルウェア という 2 つの用語が必ず出てきます。
どちらもアプリケーション アーキテクチャにおいて重要な役割を果たしますが、目的は大きく異なります。
机をひっくり返したくなるほどの方法で、それらを分解して役割を比較し、違いを明確にしてみましょう。
APIとは何ですか?
API は アプリケーション プログラミング インターフェイス の略です。これは本質的に、さまざまなソフトウェア コンポーネントが相互に通信できるようにする契約です。
レストランのウェイターと考えてください。注文 (リクエスト) を受け取り、それをキッチン (サーバー) に届け、食べ物を持ち帰る (応答)。
API の主な特徴
- データまたはサービスと対話できるようにエンドポイントを公開します。
- HTTP/HTTPS 経由で動作します (Web API で最も一般的)。
- REST、GraphQL、gRPC などのプロトコルに従うことができます。
現実世界のアナロジー
Uber を注文したり、ツイートを投稿したりするたびに API を使用することになります。アプリのバックエンドは、フロントエンドがデータを取得または送信するための API を提供します。
- コード例 Express.js アプリでの単純な API エンドポイントは次のようになります。
const express = require('express'); const app = express(); app.get('/users', (req, res) => { res.json([ { id: 1, name: 'John Doe' }, { id: 2, name: 'Jane Smith' }, ]); }); app.listen(3000, () => { console.log('Server running on port 3000'); });
- API は、アプリが外部の世界に公開する 内容 の機能を定義します。
ミドルウェアとは何ですか?
ミドルウェアはキッチンの裏方スタッフに似ており、直接サービスを提供するわけではありませんが、すべてがスムーズに進むようにします。
技術用語では、ミドルウェアとは、アプリケーション パイプラインのリクエストとレスポンスの間に位置する関数または関数のセットです。
ミドルウェアの主な特徴
- リクエストが最終ハンドラー (API など) に到達する前に処理します。
- リクエストまたはレスポンスを変更できます。
- 認証、ロギング、検証、エラー処理などのタスクによく使用されます。
現実世界のアナロジー
ミドルウェアは建物の警備員のようなものだと考えてください。
許可された個人 (有効なリクエスト) のみがオフィス (API) に到達することを保証します。
- コード例 Express.js の単純なログ記録ミドルウェアの例を次に示します。
const express = require('express'); const app = express(); const loggingMiddleware = (req, res, next) => { console.log(`Request made to: ${req.url}`); next(); // Pass control to the next middleware or handler }; app.use(loggingMiddleware); app.get('/users', (req, res) => { res.json([ { id: 1, name: 'John Doe' }, { id: 2, name: 'Jane Smith' }, ]); }); app.listen(3000, () => { console.log('Server running on port 3000'); });
- ミドルウェアは、リクエストがエンドポイントに到達する前にどのように処理されるかを処理します。
API とミドルウェアの主な違い
Aspect | API | Middleware |
---|---|---|
Purpose | Defines endpoints for interaction. | Processes requests/responses. |
Visibility | Exposed to external systems. | Works internally within the app. |
Examples | /users, /products, /login | Authentication, logging, error handling |
Interaction | Invoked by external clients. | Invoked automatically in the request pipeline. |
Code Placement | Found in controllers. | Found in the middleware functions. |
API とミドルウェアを使用する場合
-
API
- 外部アプリケーションまたはサービスがシステムと対話する方法を提供する場合は、API を使用します。
- 例: /users/:id 経由でユーザーの詳細を取得するモバイル アプリ。
-
ミドルウェア
- 複数のルートまたは API に適用される横断的な懸念事項にはミドルウェアを使用します。
- 例: すべての保護されたルートの JWT トークンを検証し、ブラウザーに Cookie を設定します。
ひとつにまとめる
ライドシェアリングアプリを構築することを想像してみてください。 API には次のものが含まれる場合があります:
- /drivers: 利用可能なドライバーを取得します。
- /trips: 旅行を予約または管理します。
ミドルウェアは舞台裏で次のことを保証します。
- 認証されたユーザーのみが /trips にアクセスできます。
- リクエストごとにログが保存されます。
- 乱用を防ぐためにレート制限が適用されます。
API とミドルウェアは両方とも、堅牢なアプリケーションの作成に不可欠です。一方は機能を公開し、もう一方はアプリケーションがスムーズかつ安全に動作することを保証します。
APIと言えば、
私は LiveAPI というとても便利なツールに取り組んでいます。
開発者にとって API ドキュメントを簡単に作成できるように設計されています。
LiveAPI を使用すると、ユーザーがブラウザーから直接 API を実行できるインタラクティブな API ドキュメントを迅速に生成できます。
手動でドキュメントを作成するのにうんざりしている場合、または API の Swagger の統合に時間を費やしたくない場合は、このツールを使用すると作業が楽になる可能性があります。今すぐ LiveAPI を試してください。
以上がAPI とミドルウェア: 違いを理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

PythonまたはJavaScriptを選択するかどうかは、プロジェクトの種類によって異なります。1)データサイエンスおよび自動化タスクのPythonを選択します。 2)フロントエンドとフルスタック開発のためにJavaScriptを選択します。 Pythonは、データ処理と自動化における強力なライブラリに好まれていますが、JavaScriptはWebインタラクションとフルスタック開発の利点に不可欠です。

PythonとJavaScriptにはそれぞれ独自の利点があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1. Pythonは、データサイエンスやバックエンド開発に適した簡潔な構文を備えた学習が簡単ですが、実行速度が遅くなっています。 2。JavaScriptはフロントエンド開発のいたるところにあり、強力な非同期プログラミング機能を備えています。 node.jsはフルスタックの開発に適していますが、構文は複雑でエラーが発生しやすい場合があります。

javascriptisnotbuiltoncorc;それは、解釈されていることを解釈しました。

JavaScriptは、フロントエンドおよびバックエンド開発に使用できます。フロントエンドは、DOM操作を介してユーザーエクスペリエンスを強化し、バックエンドはnode.jsを介してサーバータスクを処理することを処理します。 1.フロントエンドの例:Webページテキストのコンテンツを変更します。 2。バックエンドの例:node.jsサーバーを作成します。

PythonまたはJavaScriptの選択は、キャリア開発、学習曲線、エコシステムに基づいている必要があります。1)キャリア開発:Pythonはデータサイエンスとバックエンド開発に適していますが、JavaScriptはフロントエンドおよびフルスタック開発に適しています。 2)学習曲線:Python構文は簡潔で初心者に適しています。 JavaScriptの構文は柔軟です。 3)エコシステム:Pythonには豊富な科学コンピューティングライブラリがあり、JavaScriptには強力なフロントエンドフレームワークがあります。

JavaScriptフレームワークのパワーは、開発を簡素化し、ユーザーエクスペリエンスとアプリケーションのパフォーマンスを向上させることにあります。フレームワークを選択するときは、次のことを検討してください。1。プロジェクトのサイズと複雑さ、2。チームエクスペリエンス、3。エコシステムとコミュニティサポート。

はじめに私はあなたがそれを奇妙に思うかもしれないことを知っています、JavaScript、C、およびブラウザは正確に何をしなければなりませんか?彼らは無関係であるように見えますが、実際、彼らは現代のウェブ開発において非常に重要な役割を果たしています。今日は、これら3つの間の密接なつながりについて説明します。この記事を通して、JavaScriptがブラウザでどのように実行されるか、ブラウザエンジンでのCの役割、およびそれらが協力してWebページのレンダリングと相互作用を駆動する方法を学びます。私たちは皆、JavaScriptとブラウザの関係を知っています。 JavaScriptは、フロントエンド開発のコア言語です。ブラウザで直接実行され、Webページが鮮明で興味深いものになります。なぜJavascrを疑問に思ったことがありますか

node.jsは、主にストリームのおかげで、効率的なI/Oで優れています。 ストリームはデータを段階的に処理し、メモリの過負荷を回避します。大きなファイル、ネットワークタスク、リアルタイムアプリケーションの場合。ストリームとTypeScriptのタイプの安全性を組み合わせることで、パワーが作成されます


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

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

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

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン
