描述 HTTP server request handlers 和 HTTP server middleware components (“middleware”) 使用HTTP messages describe at PSR-7
HTTP request handlers 是網頁重要元素之一,伺服器端接收request message 處理他,產生response message,Http middleware建立於Application layer,將request 和response 隔開出來
Note: All references to “request handlers” and “middleware” are specific to server request processing.
接下來講解的都是概要的部分
1. Specification
1.1 Request Handlers
request handler是一個獨立元件,處理request並且產生response,request handler 可能會丟出錯誤,假設request的狀態,不允許他產生response。 目前這種type的錯誤還沒被定義
Request handler必須時做
Psr\Http\Server\RequestHandlerInterface
1.2 Middleware
一個middleware也是一個獨立的原件,通常會與其他middleware鬼混再一起,一起處理incoming request 和創造一個response,有點像是chain of responsibility
middleware可能會創造並且回傳response,而省略掉request handler,假設已經抵達某些條件,例如middleware auth,會提前驗證帳號密碼,不符合條件直接打回
middleware必須implements
Psr\Http\Server\MiddlewareInterface
1.3 Generating Responses
推薦response是依照 PSR-7 ResponseInterface
的樣式來構造,會者是 factory capable of generating a ResponseInterface
instance 以便免創造出,依賴於特定HTTP message implementation的 response
1.4 Handling Exceptions
建議任何使用middleware的應用程式包含一個可以捕捉和辨識exception的並把他們轉換為response。 所以middle ware應該成為第一個component這樣,如果有任何錯誤都可以捕捉到並且回傳response
2. Interfaces
參考下方連結
https://www.php-fig.org/psr/psr-15/
留言列表