<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WSGI</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PSGI</anchor> などにおける<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ミドルウェア<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">middleware</rt></rubyb></dfn>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>と<ruby><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応用</anchor><rt>アプリケーション</rt></ruby>の間で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フィルター</anchor>のような形で動作する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応用</anchor>です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WSGI</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PSGI</anchor> などは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション</anchor>の間の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>となる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データ構造</anchor>を規定していますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ミドルウェア</anchor>はこの両者の間に入って<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データ構造</anchor>にアクセスし、これを変更したり、
副作用となる処理を行ったりするものです。</p></body></html>