미들웨어는 요청 및 응답을 처리하는 앱 파이프라인으로 조립되는 소프트웨어이다. (파이프라인 = 일련의 미들웨어들의 통칭)
모든 응답은 위의 이미지의 파이프라인을 따라가며, 다음과 같은 내용들을 고려한다.
Endpoint로 라우팅 할 수 없는 요청은 처리되지 않는다.
조건은 처리하기 위한 조건은 대표적으로 다음과 같다.
MapControllerRoute()
나 MapGet()
, MapPost()
등
예외 필터는 모든 예외 사항을 처리하기 위해, 모든 미들웨어 중 가장 먼저 호출되고 나중에 빠져나간다
미들웨어들을 거쳐서 요청이 응답이 되는 도식은 아래와 같다.
if (app.Environment.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
}
else
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseCookiePolicy();
**app.UseRouting();**
**app.UseAuthentication();
app.UseAuthorization();**
app.UseSession();
// MapControllerRoute, MapRazorPages등 매핑은
// **UseEndpoint()**로 사용하는게 좋음.
app.MapRazorPages();
Strict-Transport-Security
헤더를 추가합니다.