is called, the 404 status code is set on the response:
@@ -344,7 +344,7 @@ To provide Not Found content for global interactive rendering, use a Not Found p
Sorry, the content you are looking for does not exist.
```
-The `NotFound` component is assigned to , which supports routing that can be used across Status Code Pages Re-execution Middleware, including non-Blazor middleware.
+The `NotFound` component is assigned to , which supports routing that can be used across status code pages re-execution middleware, including non-Blazor middleware.
In the following example, the preceding `NotFound` component is present in the app's `Pages` folder and passed to the parameter:
diff --git a/aspnetcore/blazor/fundamentals/routing.md b/aspnetcore/blazor/fundamentals/routing.md
index f7f0b0bab23c..92c54a978fd0 100644
--- a/aspnetcore/blazor/fundamentals/routing.md
+++ b/aspnetcore/blazor/fundamentals/routing.md
@@ -188,7 +188,7 @@ The Blazor project template includes a `NotFound.razor` page. This page automati
Sorry, the content you are looking for does not exist.
```
-The `NotFound` component is assigned to the router's parameter, which supports routing that can be used across Status Code Pages Re-execution Middleware, including non-Blazor middleware.
+The `NotFound` component is assigned to the router's parameter, which supports routing that can be used across status code pages re-execution middleware, including non-Blazor middleware.
In the following example, the preceding `NotFound` component is present in the app's `Pages` folder and passed to the parameter:
diff --git a/aspnetcore/blazor/fundamentals/signalr.md b/aspnetcore/blazor/fundamentals/signalr.md
index 957de92a4829..745188d3acb2 100644
--- a/aspnetcore/blazor/fundamentals/signalr.md
+++ b/aspnetcore/blazor/fundamentals/signalr.md
@@ -109,7 +109,7 @@ This provides a clean, type-safe API for configuring SignalR connection settings
## Disable response compression for Hot Reload
-When using [Hot Reload](xref:test/hot-reload), disable Response Compression Middleware in the `Development` environment. Whether or not the default code from a project template is used, always call first in the request processing pipeline.
+When using [Hot Reload](xref:test/hot-reload), disable response compression middleware in the `Development` environment. Whether or not the default code from a project template is used, always call first in the request processing pipeline.
In the `Program` file:
diff --git a/aspnetcore/blazor/fundamentals/startup.md b/aspnetcore/blazor/fundamentals/startup.md
index bc768a88d127..a69013dcf2f3 100644
--- a/aspnetcore/blazor/fundamentals/startup.md
+++ b/aspnetcore/blazor/fundamentals/startup.md
@@ -572,7 +572,7 @@ In the following examples, a [Content Security Policy (CSP)](https://developer.m
### Server-side and prerendered client-side scenarios
-Use [ASP.NET Core Middleware](xref:fundamentals/middleware/index) to control the headers collection.
+Use [ASP.NET Core middleware](xref:fundamentals/middleware/index) to control the headers collection.
:::moniker range=">= aspnetcore-6.0"
diff --git a/aspnetcore/blazor/fundamentals/static-files.md b/aspnetcore/blazor/fundamentals/static-files.md
index 253f4ed7c783..45712db4237e 100644
--- a/aspnetcore/blazor/fundamentals/static-files.md
+++ b/aspnetcore/blazor/fundamentals/static-files.md
@@ -60,7 +60,7 @@ Serving static assets is managed by either routing endpoint conventions or a mid
Feature | API | .NET Version | Description
--- | --- | :---: | ---
Map Static Assets routing endpoint conventions | | .NET 9 or later | Optimizes the delivery of static assets to clients.
-Static File Middleware | | All .NET versions | Serves static assets to clients without the optimizations of Map Static Assets but useful for some tasks that Map Static Assets isn't capable of managing.
+Static file middleware | | All .NET versions | Serves static assets to clients without the optimizations of Map Static Assets but useful for some tasks that Map Static Assets isn't capable of managing.
Map Static Assets can replace in most situations. However, Map Static Assets is optimized for serving the assets from known locations in the app at build and publish time. If the app serves assets from other locations, such as disk or embedded resources, should be used.
@@ -73,7 +73,7 @@ When [Interactive WebAssembly or Interactive Auto render modes](xref:blazor/fund
* During WebAssembly boot, Blazor retrieves the URL, imports the module, and calls a function to retrieve the asset collection and reconstruct it in memory. The URL is specific to the content and cached forever, so this overhead cost is only paid once per user until the app is updated.
* The resource collection is also exposed at a human-readable URL (`_framework/resource-collection.js`), so JS has access to the resource collection for [enhanced navigation](xref:blazor/fundamentals/navigation#enhanced-navigation-and-form-handling) or to implement features of other frameworks and third-party components.
-Static File Middleware () is useful in the following situations that Map Static Assets () can't handle:
+Static file middleware () is useful in the following situations that Map Static Assets () can't handle:
* Serving files from disk that aren't part of the build or publish process, for example, files added to the application folder during or after deployment.
* Applying a path prefix to Blazor WebAssembly static asset files, which is covered in the [Prefix for Blazor WebAssembly assets](#prefix-for-blazor-webassembly-assets) section.
@@ -229,9 +229,9 @@ For examples of how to address the policy violation with Subresource Integrity (
:::moniker range="< aspnetcore-9.0"
-Configure Static File Middleware to serve static assets to clients by calling in the app's request processing pipeline. For more information, see .
+Configure static file middleware to serve static assets to clients by calling in the app's request processing pipeline. For more information, see .
-In releases prior to .NET 8, Blazor framework static files, such as the Blazor script, are served via Static File Middleware. In .NET 8 or later, Blazor framework static files are mapped using endpoint routing, and Static File Middleware is no longer used.
+In releases prior to .NET 8, Blazor framework static files, such as the Blazor script, are served via static file middleware. In .NET 8 or later, Blazor framework static files are mapped using endpoint routing, and static file middleware is no longer used.
:::moniker-end
@@ -506,7 +506,7 @@ To create additional file mappings with a to execute a custom Static File Middleware:
+* You can avoid interfering with serving `_framework/blazor.server.js` by using to execute a custom static file middleware:
```csharp
app.MapWhen(ctx => !ctx.Request.Path
diff --git a/aspnetcore/blazor/globalization-localization.md b/aspnetcore/blazor/globalization-localization.md
index 23698c73b75e..9475b2b2f83c 100644
--- a/aspnetcore/blazor/globalization-localization.md
+++ b/aspnetcore/blazor/globalization-localization.md
@@ -306,7 +306,7 @@ In ***client-side development***, dynamically setting the culture from the `Acce
> [!NOTE]
> If the app's specification requires limiting the supported cultures to an explicit list, see the [Dynamically set the client-side culture by user preference](#dynamically-set-the-client-side-culture-by-user-preference) section of this article.
-Apps are localized using [Localization Middleware](xref:fundamentals/localization#localization-middleware). Add localization services to the app with .
+Apps are localized using [localization middleware](xref:fundamentals/localization#localization-middleware). Add localization services to the app with .
Add the following line to the `Program` file where services are registered:
@@ -316,13 +316,13 @@ builder.Services.AddLocalization();
:::moniker range=">= aspnetcore-8.0"
-In ***server-side development***, specify the app's supported cultures before any middleware that might check the request culture. Generally, place Request Localization Middleware immediately before calling . The following example configures supported cultures for United States English and Costa Rican Spanish:
+In ***server-side development***, specify the app's supported cultures before any middleware that might check the request culture. Generally, place localization middleware immediately before calling . The following example configures supported cultures for United States English and Costa Rican Spanish:
:::moniker-end
:::moniker range="< aspnetcore-8.0"
-In ***server-side development***, specify the app's supported cultures immediately after Routing Middleware () is added to the processing pipeline. The following example configures supported cultures for United States English and Costa Rican Spanish using the following API:
+In ***server-side development***, specify the app's supported cultures immediately after routing middleware () is added to the processing pipeline. The following example configures supported cultures for United States English and Costa Rican Spanish using the following API:
* adds the set of the supported cultures for *globalization* (date, number, and currency formatting).
* adds the set of the supported UI cultures *for localization* (translated UI strings for rendering content).
@@ -355,7 +355,7 @@ app.UseRequestLocalization(localizationOptions);
In the preceding example, [`CultureTypes.SpecificCultures`](xref:System.Globalization.CultureTypes) returns only cultures that are specific to a country or region—such as `en-US` or `fr-FR`—which come with full, concrete globalization data (for dates, numbers, calendars, and other cultural UI) that .NET can use for accurate formatting and parsing. Neutral cultures, such as `en` or `fr`, may not have complete globalization data, so they aren't included in this list.
-For information on ordering the Localization Middleware in the middleware pipeline of the `Program` file, see .
+For information on ordering the localization middleware in the middleware pipeline of the `Program` file, see .
Use the `CultureExample1` component shown in the [Demonstration component](#demonstration-component) section to study how globalization works. Issue a request with United States English (`en-US`). Switch to Costa Rican Spanish (`es-CR`) in the browser's language settings. Request the webpage again.
@@ -469,7 +469,7 @@ Use the `CultureExample1` component shown in the [Demonstration component](#demo
:::moniker range=">= aspnetcore-6.0"
-Server-side apps are localized using [Localization Middleware](xref:fundamentals/localization#localization-middleware). Add localization services to the app with .
+Server-side apps are localized using [localization middleware](xref:fundamentals/localization#localization-middleware). Add localization services to the app with .
In the `Program` file:
@@ -481,13 +481,13 @@ builder.Services.AddLocalization();
:::moniker range=">= aspnetcore-8.0"
-Specify the static culture in the `Program` file before any middleware that might check the request culture. Generally, place Request Localization Middleware immediately before . The following example configures United States English:
+Specify the static culture in the `Program` file before any middleware that might check the request culture. Generally, place localization middleware immediately before . The following example configures United States English:
:::moniker-end
:::moniker range=">= aspnetcore-6.0 < aspnetcore-8.0"
-Specify the static culture in the `Program` file immediately after Routing Middleware () is added to the processing pipeline. The following example configures United States English:
+Specify the static culture in the `Program` file immediately after routing middleware () is added to the processing pipeline. The following example configures United States English:
:::moniker-end
@@ -499,13 +499,13 @@ app.UseRequestLocalization("en-US");
The culture value for must conform to the [BCP-47 language tag format](https://www.rfc-editor.org/info/bcp47).
-For information on ordering the Localization Middleware in the middleware pipeline of the `Program` file, see .
+For information on ordering the localization middleware in the middleware pipeline of the `Program` file, see .
:::moniker-end
:::moniker range="< aspnetcore-6.0"
-Server-side apps are localized using [Localization Middleware](xref:fundamentals/localization#localization-middleware). Add localization services to the app with .
+Server-side apps are localized using [localization middleware](xref:fundamentals/localization#localization-middleware). Add localization services to the app with .
In `Startup.ConfigureServices` (`Startup.cs`):
@@ -513,7 +513,7 @@ In `Startup.ConfigureServices` (`Startup.cs`):
services.AddLocalization();
```
-Specify the static culture in `Startup.Configure` (`Startup.cs`) immediately after Routing Middleware is added to the processing pipeline. The following example configures United States English:
+Specify the static culture in `Startup.Configure` (`Startup.cs`) immediately after routing middleware is added to the processing pipeline. The following example configures United States English:
```csharp
app.UseRequestLocalization("en-US");
@@ -521,7 +521,7 @@ app.UseRequestLocalization("en-US");
The culture value for must conform to the [BCP-47 language tag format](https://www.rfc-editor.org/info/bcp47).
-For information on ordering the Localization Middleware in the middleware pipeline of `Startup.Configure`, see .
+For information on ordering the localization middleware in the middleware pipeline of `Startup.Configure`, see .
:::moniker-end
@@ -750,7 +750,7 @@ Add the [`Microsoft.Extensions.Localization` package](https://www.nuget.org/pack
[!INCLUDE[](~/includes/package-reference.md)]
-Server-side apps are localized using [Localization Middleware](xref:fundamentals/localization#localization-middleware). Add localization services to the app with .
+Server-side apps are localized using [localization middleware](xref:fundamentals/localization#localization-middleware). Add localization services to the app with .
In the `Program` file:
@@ -768,7 +768,7 @@ Before the call to ) is added to the request processing pipeline, place the following code:
+After routing middleware () is added to the request processing pipeline, place the following code:
:::moniker-end
@@ -782,9 +782,9 @@ var localizationOptions = new RequestLocalizationOptions()
app.UseRequestLocalization(localizationOptions);
```
-For information on ordering the Localization Middleware in the middleware pipeline, see .
+For information on ordering the localization middleware in the middleware pipeline, see .
-The following example shows how to set the current culture in a cookie that can be read by the Localization Middleware.
+The following example shows how to set the current culture in a cookie that can be read by the localization middleware.
:::moniker range=">= aspnetcore-8.0"
@@ -845,7 +845,7 @@ Add the following to the file:
:::moniker-end
-For information on ordering the Localization Middleware in the middleware pipeline, see .
+For information on ordering the localization middleware in the middleware pipeline, see .
If the app isn't configured to process controller actions:
@@ -1338,7 +1338,7 @@ Add the [`Microsoft.Extensions.Localization` package](https://www.nuget.org/pack
[!INCLUDE[](~/includes/package-reference.md)]
-Server-side apps are localized using [Localization Middleware](xref:fundamentals/localization#localization-middleware). Add localization services to the app with .
+Server-side apps are localized using [localization middleware](xref:fundamentals/localization#localization-middleware). Add localization services to the app with .
In the server project's `Program` file where services are registered:
@@ -1360,7 +1360,7 @@ var localizationOptions = new RequestLocalizationOptions()
app.UseRequestLocalization(localizationOptions);
```
-The following example shows how to set the current culture in a cookie that can be read by the Localization Middleware.
+The following example shows how to set the current culture in a cookie that can be read by the localization middleware.
The following namespaces are required for the `App` component:
@@ -1496,7 +1496,7 @@ builder.Services.AddLocalization();
### Server-side localization
-Use [Localization Middleware](xref:fundamentals/localization#localization-middleware) to set the app's culture.
+Use [localization middleware](xref:fundamentals/localization#localization-middleware) to set the app's culture.
If the app doesn't already support dynamic culture selection:
@@ -1513,13 +1513,13 @@ builder.Services.AddLocalization();
:::moniker range=">= aspnetcore-8.0"
-Place Request Localization Middleware before any middleware that might check the request culture. Generally, place the middleware immediately before calling :
+Place localization middleware before any middleware that might check the request culture. Generally, place the middleware immediately before calling :
:::moniker-end
:::moniker range=">= aspnetcore-6.0 < aspnetcore-8.0"
-Immediately after Routing Middleware () is added to the processing pipeline:
+Immediately after routing middleware () is added to the processing pipeline:
:::moniker-end
@@ -1535,7 +1535,7 @@ var localizationOptions = new RequestLocalizationOptions()
app.UseRequestLocalization(localizationOptions);
```
-For information on ordering the Localization Middleware in the middleware pipeline, see .
+For information on ordering the localization middleware in the middleware pipeline, see .
:::moniker-end
@@ -1550,7 +1550,7 @@ In `Startup.ConfigureServices` (`Startup.cs`):
services.AddLocalization();
```
-In `Startup.Configure` immediately after Routing Middleware () is added to the processing pipeline:
+In `Startup.Configure` immediately after routing middleware () is added to the processing pipeline:
```csharp
var supportedCultures = new[] { "en-US", "es-CR" };
@@ -1562,7 +1562,7 @@ var localizationOptions = new RequestLocalizationOptions()
app.UseRequestLocalization(localizationOptions);
```
-For information on ordering the Localization Middleware in the middleware pipeline of `Startup.Configure`, see .
+For information on ordering the localization middleware in the middleware pipeline of `Startup.Configure`, see .
:::moniker-end
diff --git a/aspnetcore/blazor/host-and-deploy/app-base-path.md b/aspnetcore/blazor/host-and-deploy/app-base-path.md
index 6ac3187572b2..14de89e8256c 100644
--- a/aspnetcore/blazor/host-and-deploy/app-base-path.md
+++ b/aspnetcore/blazor/host-and-deploy/app-base-path.md
@@ -246,7 +246,7 @@ In many hosting scenarios, the relative URL path to the app is the root of the a
:::moniker-end
> [!NOTE]
-> When using (see ), [`app.UseRouting`](xref:Microsoft.AspNetCore.Builder.EndpointRoutingApplicationBuilderExtensions.UseRouting%2A) must be called after so that the Routing Middleware can observe the modified path before matching routes. Otherwise, routes are matched before the path is rewritten by as described in the and .
+> When using (see ), [`app.UseRouting`](xref:Microsoft.AspNetCore.Builder.EndpointRoutingApplicationBuilderExtensions.UseRouting%2A) must be called after so that the routing middleware can observe the modified path before matching routes. Otherwise, routes are matched before the path is rewritten by as described in the and .
Don't prefix links throughout the app with a forward slash. Either avoid the use of a path segment separator or use dot-slash (`./`) relative path notation:
@@ -265,7 +265,7 @@ Don't prefix [Navigation Manager](xref:blazor/fundamentals/navigation#uri-and-na
* ✔️ Correct: `Navigation.NavigateTo("other");`
* ✔️ Correct: `Navigation.NavigateTo("./other");`
-In typical configurations for Azure/IIS hosting, additional configuration usually isn't required. In some non-IIS hosting and reverse proxy hosting scenarios, additional Static File Middleware configuration might be required:
+In typical configurations for Azure/IIS hosting, additional configuration usually isn't required. In some non-IIS hosting and reverse proxy hosting scenarios, additional static file middleware configuration might be required:
* To serve static files correctly (for example, `app.UseStaticFiles("/CoolApp");`).
* To serve the Blazor script (`_framework/blazor.*.js`). For more information, see .
diff --git a/aspnetcore/blazor/host-and-deploy/index.md b/aspnetcore/blazor/host-and-deploy/index.md
index 8ccd5f98fc33..140094c852b2 100644
--- a/aspnetcore/blazor/host-and-deploy/index.md
+++ b/aspnetcore/blazor/host-and-deploy/index.md
@@ -161,7 +161,7 @@ In scenarios where an app requires a separate area with custom resources and Raz
* `~/css/site.css`
* `~/BlazorSample.styles.css` (the example app's namespace is `BlazorSample`)
* `~/_framework/blazor.server.js` (Blazor script)
-* If the area should have its own static asset folder, add the folder and specify its location to Static File Middleware in `Program.cs` (for example, `app.UseStaticFiles("/Admin/wwwroot")`).
+* If the area should have its own static asset folder, add the folder and specify its location to static file middleware in `Program.cs` (for example, `app.UseStaticFiles("/Admin/wwwroot")`).
* Razor components are added to the area's folder. At a minimum, add an `Index` component to the area folder with the correct `@page` directive for the area. For example, add a `Pages/Admin/Index.razor` file based on the app's default `Pages/Index.razor` file. Indicate the Admin area as the route template at the top of the file (`@page "/admin"`). Add additional components as needed. For example, `Pages/Admin/Component1.razor` with an `@page` directive and route template of `@page "/admin/component1`.
* In `Program.cs`, call for the area's request path immediately before the fallback root page path to the `_Host` page:
diff --git a/aspnetcore/blazor/host-and-deploy/webassembly/multiple-hosted-webassembly.md b/aspnetcore/blazor/host-and-deploy/webassembly/multiple-hosted-webassembly.md
index 30715c5e9bdb..adc2ffe9cccf 100644
--- a/aspnetcore/blazor/host-and-deploy/webassembly/multiple-hosted-webassembly.md
+++ b/aspnetcore/blazor/host-and-deploy/webassembly/multiple-hosted-webassembly.md
@@ -196,7 +196,7 @@ In the server app's `Program.cs` file, remove the following code, which appears
- app.MapFallbackToFile("index.html");
```
- Leave Static File Middleware in place:
+ Leave static file middleware in place:
```csharp
app.UseStaticFiles();
diff --git a/aspnetcore/blazor/javascript-interoperability/index.md b/aspnetcore/blazor/javascript-interoperability/index.md
index acdda1c58132..374a87d41380 100644
--- a/aspnetcore/blazor/javascript-interoperability/index.md
+++ b/aspnetcore/blazor/javascript-interoperability/index.md
@@ -396,7 +396,7 @@ To disable client-side caching in browsers, developers usually adopt one of the
* Disable caching when the browser's developer tools console is open. Guidance can be found in the developer tools documentation of each browser maintainer:
* [Chrome DevTools](https://developer.chrome.com/docs/devtools/)
* [Microsoft Edge Developer Tools overview](/microsoft-edge/devtools-guide-chromium/)
-* Perform a manual browser refresh of any webpage of the Blazor app to reload JS files from the server. ASP.NET Core's HTTP Caching Middleware always honors a valid no-cache [`Cache-Control` header](https://developer.mozilla.org/docs/Web/HTTP/Headers/Cache-Control) sent by a client.
+* Perform a manual browser refresh of any webpage of the Blazor app to reload JS files from the server. ASP.NET Core's HTTP response caching middleware always honors a valid no-cache [`Cache-Control` header](https://developer.mozilla.org/docs/Web/HTTP/Headers/Cache-Control) sent by a client.
For more information, see:
diff --git a/aspnetcore/blazor/security/additional-scenarios.md b/aspnetcore/blazor/security/additional-scenarios.md
index 582b547ae980..1cebf40c5e52 100644
--- a/aspnetcore/blazor/security/additional-scenarios.md
+++ b/aspnetcore/blazor/security/additional-scenarios.md
@@ -478,13 +478,13 @@ In a component that presents a **Logout** button to authorized users:
:::moniker range=">= aspnetcore-6.0"
-For an app that uses more than one Authentication Middleware and thus has more than one authentication scheme, the scheme that Blazor uses can be explicitly set in the endpoint configuration of the `Program` file. The following example sets the OpenID Connect (OIDC) scheme:
+For an app that uses more than one authentication middleware and thus has more than one authentication scheme, the scheme that Blazor uses can be explicitly set in the endpoint configuration of the `Program` file. The following example sets the OpenID Connect (OIDC) scheme:
:::moniker-end
:::moniker range="< aspnetcore-6.0"
-For an app that uses more than one Authentication Middleware and thus has more than one authentication scheme, the scheme that Blazor uses can be explicitly set in the endpoint configuration of `Startup.cs`. The following example sets the OpenID Connect (OIDC) scheme:
+For an app that uses more than one authentication middleware and thus has more than one authentication scheme, the scheme that Blazor uses can be explicitly set in the endpoint configuration of `Startup.cs`. The following example sets the OpenID Connect (OIDC) scheme:
:::moniker-end
@@ -523,7 +523,7 @@ app.MapBlazorHub().RequireAuthorization(
:::moniker range="< aspnetcore-5.0"
-For an app that uses more than one Authentication Middleware and thus has more than one authentication scheme, the scheme that Blazor uses can be explicitly set in the endpoint configuration of `Startup.Configure`. The following example sets the Microsoft Entra ID scheme:
+For an app that uses more than one authentication middleware and thus has more than one authentication scheme, the scheme that Blazor uses can be explicitly set in the endpoint configuration of `Startup.Configure`. The following example sets the Microsoft Entra ID scheme:
```csharp
endpoints.MapBlazorHub().RequireAuthorization(
@@ -803,7 +803,7 @@ Use the service in a component to obtain the user:
Hello, @(UserService.GetUser().Identity?.Name ?? "world")!
```
-To set the user in middleware for MVC, Razor Pages, and in other ASP.NET Core scenarios, call `SetUser` on the `UserService` in custom middleware after the Authentication Middleware runs, or set the user with an implementation. The following example adopts the middleware approach.
+To set the user in middleware for MVC, Razor Pages, and in other ASP.NET Core scenarios, call `SetUser` on the `UserService` in custom middleware after the authentication middleware runs, or set the user with an implementation. The following example adopts the middleware approach.
`UserServiceMiddleware.cs`:
diff --git a/aspnetcore/blazor/security/gdpr.md b/aspnetcore/blazor/security/gdpr.md
index 0be367e597a1..348b9c0559ac 100644
--- a/aspnetcore/blazor/security/gdpr.md
+++ b/aspnetcore/blazor/security/gdpr.md
@@ -35,13 +35,13 @@ builder.Services.AddHttpContextAccessor();
:::moniker range=">= aspnetcore-8.0"
-In the `Program` file before the call to , add Cookie Policy Middleware by calling :
+In the `Program` file before the call to , add cookie policy middleware by calling :
:::moniker-end
:::moniker range="< aspnetcore-8.0"
-In the `Program` file before the call to , add Cookie Policy Middleware by calling :
+In the `Program` file before the call to , add cookie policy middleware by calling :
:::moniker-end
diff --git a/aspnetcore/blazor/security/index.md b/aspnetcore/blazor/security/index.md
index 544b432b32e0..9081fe34491c 100644
--- a/aspnetcore/blazor/security/index.md
+++ b/aspnetcore/blazor/security/index.md
@@ -79,7 +79,7 @@ The Blazor project template:
Antiforgery *middleware* isn't automatically included in the request processing pipeline without explicitly calling .
-To explicitly add Antiforgery Middleware, call after the call to . If there are calls to and , the call to must go between them. A call to must be placed after calls to and .
+To explicitly add antiforgery middleware, call after the call to . If there are calls to and , the call to must go between them. A call to must be placed after calls to and .
Adding token-based antiforgery middleware doesn't replace the automatic header-based CSRF protection middleware. When an app calls , both defense mechanisms run for a form post:
@@ -1815,7 +1815,7 @@ PII refers any information relating to an identified or identifiable natural per
* [Quickstart: Add sign-in with Microsoft to an ASP.NET Core web app](/entra/identity-platform/quickstart-v2-aspnet-core-webapp)
* [Quickstart: Protect an ASP.NET Core web API with Microsoft identity platform](/entra/identity-platform/quickstart-v2-aspnet-core-web-api)
* : Includes guidance on:
- * Using Forwarded Headers Middleware to preserve HTTPS scheme information across proxy servers and internal networks.
+ * Using forwarded headers middleware to preserve HTTPS scheme information across proxy servers and internal networks.
* Additional scenarios and use cases, including manual scheme configuration, request path changes for correct request routing, and forwarding the request scheme for Linux and non-IIS reverse proxies.
* Microsoft identity platform documentation
* [Overview](/entra/identity-platform/)
@@ -1839,7 +1839,7 @@ PII refers any information relating to an identified or identifiable natural per
* [Quickstart: Add sign-in with Microsoft to an ASP.NET Core web app](/entra/identity-platform/quickstart-v2-aspnet-core-webapp)
* [Quickstart: Protect an ASP.NET Core web API with Microsoft identity platform](/entra/identity-platform/quickstart-v2-aspnet-core-web-api)
* : Includes guidance on:
- * Using Forwarded Headers Middleware to preserve HTTPS scheme information across proxy servers and internal networks.
+ * Using forwarded headers middleware to preserve HTTPS scheme information across proxy servers and internal networks.
* Additional scenarios and use cases, including manual scheme configuration, request path changes for correct request routing, and forwarding the request scheme for Linux and non-IIS reverse proxies.
* Microsoft identity platform documentation
* [Overview](/entra/identity-platform/)
diff --git a/aspnetcore/blazor/security/interactive-server-side-rendering.md b/aspnetcore/blazor/security/interactive-server-side-rendering.md
index f06aaec13e97..5ef08b025a31 100644
--- a/aspnetcore/blazor/security/interactive-server-side-rendering.md
+++ b/aspnetcore/blazor/security/interactive-server-side-rendering.md
@@ -414,7 +414,7 @@ For more information, see .
Cross-origin attacks involve a client from a different origin performing an action against the server. The malicious action is typically a GET request or a form POST (Cross-Site Request Forgery, CSRF), but opening a malicious WebSocket is also possible. Blazor apps offer [the same guarantees that any other SignalR app using the hub protocol offer](xref:signalr/security):
-* Apps can be accessed cross-origin unless additional measures are taken to prevent it. To disable cross-origin access, either disable CORS in the endpoint by adding the CORS Middleware to the pipeline and adding the to the Blazor endpoint metadata or limit the set of allowed origins by [configuring SignalR for Cross-Origin Resource Sharing](xref:signalr/security#cross-origin-resource-sharing). For guidance on WebSocket origin restrictions, see .
+* Apps can be accessed cross-origin unless additional measures are taken to prevent it. To disable cross-origin access, either disable CORS in the endpoint by adding the CORS middleware to the pipeline and adding the to the Blazor endpoint metadata or limit the set of allowed origins by [configuring SignalR for Cross-Origin Resource Sharing](xref:signalr/security#cross-origin-resource-sharing). For guidance on WebSocket origin restrictions, see .
* If CORS is enabled, extra steps might be required to protect the app depending on the CORS configuration. If CORS is globally enabled, CORS can be disabled for the Blazor SignalR hub by adding the metadata to the endpoint metadata after calling on the endpoint route builder.
For more information, see .
diff --git a/aspnetcore/blazor/security/qrcodes-for-authenticator-apps.md b/aspnetcore/blazor/security/qrcodes-for-authenticator-apps.md
index 8f13b5709fde..5599202d125f 100644
--- a/aspnetcore/blazor/security/qrcodes-for-authenticator-apps.md
+++ b/aspnetcore/blazor/security/qrcodes-for-authenticator-apps.md
@@ -20,7 +20,7 @@ The guidance in this article relies upon either creating the app with **Individu
> [!WARNING]
> TOTP codes should be kept secret because they can be used to authenticate multiple times before they expire.
-## Adding QR codes to the 2FA configuration page
+## Add QR codes to the 2FA configuration page
A QR code generated by the app to set up 2FA with an TOTP authenticator app must be generated by a QR code library.
diff --git a/aspnetcore/blazor/security/webassembly/hosted-with-identity-server.md b/aspnetcore/blazor/security/webassembly/hosted-with-identity-server.md
index 54c97ffed18f..e99cc605e6ec 100644
--- a/aspnetcore/blazor/security/webassembly/hosted-with-identity-server.md
+++ b/aspnetcore/blazor/security/webassembly/hosted-with-identity-server.md
@@ -177,7 +177,7 @@ The following services are registered.
:::moniker-end
- * The Identity Server Middleware exposes the OpenID Connect (OIDC) endpoints:
+ * The Identity Server middleware exposes the OpenID Connect (OIDC) endpoints:
```csharp
app.UseIdentityServer();
@@ -185,7 +185,7 @@ The following services are registered.
:::moniker range="< aspnetcore-7.0"
- * The Authentication Middleware is responsible for validating request credentials and setting the user on the request context:
+ * The authentication middleware is responsible for validating request credentials and setting the user on the request context:
```csharp
app.UseAuthentication();
@@ -193,7 +193,7 @@ The following services are registered.
:::moniker-end
- * Authorization Middleware enables authorization capabilities:
+ * Authorization middleware enables authorization capabilities:
```csharp
app.UseAuthorization();
@@ -212,7 +212,7 @@ The helper method configures a policy scheme for the app as the default authentication handler. The policy is configured to allow Identity to handle all requests routed to any subpath in the Identity URL space under `/Identity`. The handles all other requests. Additionally, this method:
* Registers an API resource with Identity Server with a default scope of `{PROJECT NAME}API`, where the `{PROJECT NAME}` placeholder is the project's name at app creation.
-* Configures the JWT Bearer Token Middleware to validate tokens issued by Identity Server for the app.
+* Configures the JWT bearer token middleware to validate tokens issued by Identity Server for the app.
### Weather forecast controller
@@ -734,6 +734,6 @@ Get-ChildItem -path Cert:\CurrentUser\My -Recurse | Format-List DnsNameList, Sub
*
* [Unauthenticated or unauthorized web API requests in an app with a secure default client](xref:blazor/security/webassembly/additional-scenarios#unauthenticated-or-unauthorized-web-api-requests-in-an-app-with-a-secure-default-client)
* : Includes guidance on:
- * Using Forwarded Headers Middleware to preserve HTTPS scheme information across proxy servers and internal networks.
+ * Using forwarded headers middleware to preserve HTTPS scheme information across proxy servers and internal networks.
* Additional scenarios and use cases, including manual scheme configuration, request path changes for correct request routing, and forwarding the request scheme for Linux and non-IIS reverse proxies.
* [Duende Identity Server](https://docs.duendesoftware.com)
diff --git a/aspnetcore/blazor/security/webassembly/index.md b/aspnetcore/blazor/security/webassembly/index.md
index 9e7fbac395e5..1ec05623df43 100644
--- a/aspnetcore/blazor/security/webassembly/index.md
+++ b/aspnetcore/blazor/security/webassembly/index.md
@@ -376,7 +376,7 @@ For more information, see the following resources:
* [General documentation](/entra/identity-platform/)
* [Access tokens](/entra/identity-platform/access-tokens)
*
- * Using Forwarded Headers Middleware to preserve HTTPS scheme information across proxy servers and internal networks.
+ * Using forwarded headers middleware to preserve HTTPS scheme information across proxy servers and internal networks.
* Additional scenarios and use cases, including manual scheme configuration, request path changes for correct request routing, and forwarding the request scheme for Linux and non-IIS reverse proxies.
* [Prerendering with authentication](xref:blazor/security/webassembly/additional-scenarios#prerendering-with-authentication)
* [WebAssembly: Security](https://webassembly.org/docs/security/)
diff --git a/aspnetcore/blazor/security/webassembly/standalone-with-authentication-library.md b/aspnetcore/blazor/security/webassembly/standalone-with-authentication-library.md
index b2292543b09b..f18c0c593a77 100644
--- a/aspnetcore/blazor/security/webassembly/standalone-with-authentication-library.md
+++ b/aspnetcore/blazor/security/webassembly/standalone-with-authentication-library.md
@@ -229,5 +229,5 @@ The
* [Unauthenticated or unauthorized web API requests in an app with a secure default client](xref:blazor/security/webassembly/additional-scenarios#unauthenticated-or-unauthorized-web-api-requests-in-an-app-with-a-secure-default-client)
* : Includes guidance on:
- * Using Forwarded Headers Middleware to preserve HTTPS scheme information across proxy servers and internal networks.
+ * Using forwarded headers middleware to preserve HTTPS scheme information across proxy servers and internal networks.
* Additional scenarios and use cases, including manual scheme configuration, request path changes for correct request routing, and forwarding the request scheme for Linux and non-IIS reverse proxies.
diff --git a/aspnetcore/blazor/tutorials/movie-database-app/part-1.md b/aspnetcore/blazor/tutorials/movie-database-app/part-1.md
index 2b44ef40c851..0f8b0f6d5469 100644
--- a/aspnetcore/blazor/tutorials/movie-database-app/part-1.md
+++ b/aspnetcore/blazor/tutorials/movie-database-app/part-1.md
@@ -290,8 +290,8 @@ Next, the HTTP request pipeline is configured.
When the app isn't running in the `Development` environment:
-* Exception Handler Middleware () processes errors and displays a custom error page.
-* [HTTP Strict Transport Security Protocol (HSTS) Middleware](xref:security/enforcing-ssl#http-strict-transport-security-protocol-hsts) () processes [HSTS](https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Strict_Transport_Security_Cheat_Sheet.html).
+* Exception handler middleware () processes errors and displays a custom error page.
+* [HTTP Strict Transport Security (HSTS) protocol middleware](xref:security/enforcing-ssl#http-strict-transport-security-hsts-protocol) () processes [HSTS](https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Strict_Transport_Security_Cheat_Sheet.html).
```csharp
if (!app.Environment.IsDevelopment())
@@ -303,7 +303,7 @@ if (!app.Environment.IsDevelopment())
:::moniker range=">= aspnetcore-10.0"
-By default, an ASP.NET Core app doesn't provide a status code page for HTTP error status codes, such as *404 - Not Found*. When the app sets an HTTP 400-599 error status code without a body, it returns the status code and an empty response body. However, an app generated from the Blazor Web App project template calls to add Status Code Pages Middleware to the request pipeline for pages that aren't found, which generates the response body by re-executing the request pipeline using the path to the Not Found error page (`/not-found`):
+By default, an ASP.NET Core app doesn't provide a status code page for HTTP error status codes, such as *404 - Not Found*. When the app sets an HTTP 400-599 error status code without a body, it returns the status code and an empty response body. However, an app generated from the Blazor Web App project template calls to add status code pages middleware to the request pipeline for pages that aren't found, which generates the response body by re-executing the request pipeline using the path to the Not Found error page (`/not-found`):
```csharp
app.UseStatusCodePagesWithReExecute("/not-found",
@@ -312,13 +312,13 @@ app.UseStatusCodePagesWithReExecute("/not-found",
:::moniker-end
-HTTPS Redirection Middleware () enforces the HTTPS protocol by redirecting HTTP requests to HTTPS if an HTTPS port is available:
+HTTPS redirection middleware () enforces the HTTPS protocol by redirecting HTTP requests to HTTPS if an HTTPS port is available:
```csharp
app.UseHttpsRedirection();
```
-Antiforgery Middleware () enforces antiforgery protection for form processing:
+Antiforgery middleware () enforces antiforgery protection for form processing:
```csharp
app.UseAntiforgery();
@@ -336,7 +336,7 @@ app.MapStaticAssets();
:::moniker range="< aspnetcore-9.0"
-Static File Middleware () serves static files, such as images, scripts, and stylesheets from the `wwwroot` folder:
+Static file middleware () serves static files, such as images, scripts, and stylesheets from the `wwwroot` folder:
```csharp
app.UseStaticFiles();
diff --git a/aspnetcore/blazor/tutorials/signalr-blazor.md b/aspnetcore/blazor/tutorials/signalr-blazor.md
index 0def71316fc9..e93526194c56 100644
--- a/aspnetcore/blazor/tutorials/signalr-blazor.md
+++ b/aspnetcore/blazor/tutorials/signalr-blazor.md
@@ -201,7 +201,7 @@ using Microsoft.AspNetCore.ResponseCompression;
using BlazorSignalRApp.Hubs;
```
-Add SignalR and Response Compression Middleware services:
+Add SignalR and response compression middleware services:
```csharp
builder.Services.AddSignalR();
@@ -213,7 +213,7 @@ builder.Services.AddResponseCompression(opts =>
});
```
-Use Response Compression Middleware at the top of the processing pipeline's configuration. Place the following line of code immediately after the line that builds the app (`var app = builder.Build();`):
+Use response compression middleware at the top of the processing pipeline's configuration. Place the following line of code immediately after the line that builds the app (`var app = builder.Build();`):
```csharp
app.UseResponseCompression();
@@ -242,7 +242,7 @@ Add an entry to the `NavMenu` component to reach the chat page. In `Components/L
```
> [!NOTE]
-> Disable Response Compression Middleware in the `Development` environment when using [Hot Reload](xref:test/hot-reload). For more information, see .
+> Disable response compression middleware in the `Development` environment when using [Hot Reload](xref:test/hot-reload). For more information, see .
## Run the app
@@ -422,7 +422,7 @@ Add the namespace for the `ChatHub` class to the top of the file:
using BlazorWebAssemblySignalRApp.Server.Hubs;
```
-Add SignalR and Response Compression Middleware services:
+Add SignalR and response compression middleware services:
```csharp
builder.Services.AddSignalR();
@@ -433,7 +433,7 @@ builder.Services.AddResponseCompression(opts =>
});
```
-Use Response Compression Middleware at the top of the processing pipeline's configuration immediately after the line that builds the app:
+Use response compression middleware at the top of the processing pipeline's configuration immediately after the line that builds the app:
```csharp
app.UseResponseCompression();
@@ -457,7 +457,7 @@ Add the namespace for the `ChatHub` class to the top of the file:
using BlazorWebAssemblySignalRApp.Server.Hubs;
```
-Add SignalR and Response Compression Middleware services:
+Add SignalR and response compression middleware services:
```csharp
services.AddSignalR();
@@ -468,7 +468,7 @@ services.AddResponseCompression(opts =>
});
```
-Use Response Compression Middleware at the top of the processing pipeline's configuration:
+Use response compression middleware at the top of the processing pipeline's configuration:
```csharp
app.UseResponseCompression();
@@ -519,7 +519,7 @@ Replace the markup with the following code:
:::moniker range=">= aspnetcore-6.0 < aspnetcore-8.0"
> [!NOTE]
-> Disable Response Compression Middleware in the `Development` environment when using [Hot Reload](xref:test/hot-reload). For more information, see .
+> Disable response compression middleware in the `Development` environment when using [Hot Reload](xref:test/hot-reload). For more information, see .
:::moniker-end
diff --git a/aspnetcore/breaking-changes/5/middleware-exception-handler-throws-original-exception.md b/aspnetcore/breaking-changes/5/middleware-exception-handler-throws-original-exception.md
index 7f9d0cee9dd9..70c792d58a26 100644
--- a/aspnetcore/breaking-changes/5/middleware-exception-handler-throws-original-exception.md
+++ b/aspnetcore/breaking-changes/5/middleware-exception-handler-throws-original-exception.md
@@ -1,13 +1,13 @@
---
-title: "Breaking change: Middleware: Exception Handler Middleware throws original exception if handler not found"
-description: "Learn about the breaking change in ASP.NET Core 5.0 titled Middleware: Exception Handler Middleware throws original exception if handler not found"
+title: "Breaking change: Middleware: Exception handler middleware throws original exception if handler not found"
+description: "Learn about the breaking change in ASP.NET Core 5.0 titled Middleware: Exception handler middleware throws original exception if handler not found"
ms.author: wpickett
ms.date: 10/01/2020
ms.custom: https://github.com/aspnet/Announcements/issues/434
---
-# Middleware: Exception Handler Middleware throws original exception if handler not found
+# Middleware: Exception handler middleware throws original exception if handler not found
-Before ASP.NET Core 5.0, the [Exception Handler Middleware](xref:Microsoft.AspNetCore.Builder.ExceptionHandlerExtensions.UseExceptionHandler%2A) executes the configured exception handler when an exception has occurred. If the exception handler, configured via , can't be found, an HTTP 404 response is produced. The response is misleading in that it:
+Before ASP.NET Core 5.0, the [exception handler middleware](xref:Microsoft.AspNetCore.Builder.ExceptionHandlerExtensions.UseExceptionHandler%2A) executes the configured exception handler when an exception has occurred. If the exception handler, configured via , can't be found, an HTTP 404 response is produced. The response is misleading in that it:
* Seems to be a user error.
* Obscures the fact that an exception occurred on the server.
@@ -22,11 +22,11 @@ For discussion, see GitHub issue [dotnet/aspnetcore#25288](https://github.com/do
## Old behavior
-The Exception Handler Middleware produces an HTTP 404 response if the configured exception handler can't be found.
+The exception handler middleware produces an HTTP 404 response if the configured exception handler can't be found.
## New behavior
-The Exception Handler Middleware throws the original exception if the configured exception handler can't be found.
+The exception handler middleware throws the original exception if the configured exception handler can't be found.
## Reason for change
diff --git a/aspnetcore/breaking-changes/5/static-files-csv-content-type-changed.md b/aspnetcore/breaking-changes/5/static-files-csv-content-type-changed.md
index 2a543de4945a..40c54ce91c11 100644
--- a/aspnetcore/breaking-changes/5/static-files-csv-content-type-changed.md
+++ b/aspnetcore/breaking-changes/5/static-files-csv-content-type-changed.md
@@ -7,7 +7,7 @@ ms.custom: https://github.com/aspnet/Announcements/issues/395
---
# Static files: CSV content type changed to standards-compliant
-In ASP.NET Core 5.0, the default `Content-Type` response header value that the [Static File Middleware](/aspnet/core/fundamentals/static-files) uses for *.csv* files has changed to the standards-compliant value `text/csv`.
+In ASP.NET Core 5.0, the default `Content-Type` response header value that the [static file middleware](/aspnet/core/fundamentals/static-files) uses for *.csv* files has changed to the standards-compliant value `text/csv`.
For discussion on this issue, see [dotnet/aspnetcore#17385](https://github.com/dotnet/AspNetCore/issues/17385).
diff --git a/aspnetcore/breaking-changes/6/middleware-ambiguous-https-ports-exception.md b/aspnetcore/breaking-changes/6/middleware-ambiguous-https-ports-exception.md
index 45d703c09a1c..1947353d6eae 100644
--- a/aspnetcore/breaking-changes/6/middleware-ambiguous-https-ports-exception.md
+++ b/aspnetcore/breaking-changes/6/middleware-ambiguous-https-ports-exception.md
@@ -1,13 +1,13 @@
---
-title: "Breaking change: Middleware: HTTPS Redirection Middleware throws exception on ambiguous HTTPS ports"
-description: "Learn about the breaking change in ASP.NET Core 6.0 titled Middleware: HTTPS Redirection Middleware throws exception on ambiguous HTTPS ports"
+title: "Breaking change: Middleware: HTTPS redirection middleware throws exception on ambiguous HTTPS ports"
+description: "Learn about the breaking change in ASP.NET Core 6.0 titled Middleware: HTTPS redirection middleware throws exception on ambiguous HTTPS ports"
ms.author: wpickett
ms.date: 02/04/2021
ms.custom: https://github.com/aspnet/Announcements/issues/448
---
-# Middleware: HTTPS Redirection Middleware throws exception on ambiguous HTTPS ports
+# Middleware: HTTPS redirection middleware throws exception on ambiguous HTTPS ports
-In ASP.NET Core 6.0, the [HTTPS Redirection Middleware](xref:Microsoft.AspNetCore.Builder.HttpsPolicyBuilderExtensions.UseHttpsRedirection%2A) throws an exception of type when it finds multiple HTTPS ports in the server configuration. The exception's message contains the text "Cannot determine the https port from IServerAddressesFeature, multiple values were found. Set the desired port explicitly on HttpsRedirectionOptions.HttpsPort."
+In ASP.NET Core 6.0, the [HTTPS redirection middleware](xref:Microsoft.AspNetCore.Builder.HttpsPolicyBuilderExtensions.UseHttpsRedirection%2A) throws an exception of type when it finds multiple HTTPS ports in the server configuration. The exception's message contains the text "Cannot determine the https port from IServerAddressesFeature, multiple values were found. Set the desired port explicitly on HttpsRedirectionOptions.HttpsPort."
For discussion, see GitHub issue [dotnet/aspnetcore#29222](https://github.com/dotnet/aspnetcore/issues/29222).
@@ -17,13 +17,13 @@ ASP.NET Core 6.0
## Old behavior
-When the HTTPS Redirection Middleware isn't explicitly configured with a port, it searches during the first request to determine the HTTPS port to which it should redirect.
+When the HTTPS redirection middleware isn't explicitly configured with a port, it searches during the first request to determine the HTTPS port to which it should redirect.
If there are no HTTPS ports or multiple distinct ports, it's unclear which port should be used. The middleware logs a warning and disables itself. HTTP requests are processed normally.
## New behavior
-When the HTTPS Redirection Middleware isn't explicitly configured with a port, it searches `IServerAddressesFeature` during the first request to determine the HTTPS port to which it should redirect.
+When the HTTPS redirection middleware isn't explicitly configured with a port, it searches `IServerAddressesFeature` during the first request to determine the HTTPS port to which it should redirect.
If there are no HTTPS ports, the middleware still logs a warning and disables itself. HTTP requests are processed normally. This behavior supports:
@@ -40,7 +40,7 @@ This change prevents potentially sensitive data from being served over unencrypt
To enable HTTPS redirection when the server has multiple distinct HTTPS ports, you must specify one port in the configuration. For more information, see [Port configuration](/aspnet/core/security/enforcing-ssl?view=aspnetcore-5.0&preserve-view=true#port-configuration).
-If you don't need the HTTPS Redirection Middleware in your app, remove `UseHttpsRedirection` from *Startup.cs*.
+If you don't need the HTTPS redirection middleware in your app, remove `UseHttpsRedirection` from *Startup.cs*.
If you need to select the correct HTTPS port dynamically, provide feedback in GitHub issue [dotnet/aspnetcore#21291](https://github.com/dotnet/aspnetcore/issues/21291).
diff --git a/aspnetcore/breaking-changes/6/overview.md b/aspnetcore/breaking-changes/6/overview.md
index 94b5c3e381fa..5ffaa6e59720 100644
--- a/aspnetcore/breaking-changes/6/overview.md
+++ b/aspnetcore/breaking-changes/6/overview.md
@@ -25,7 +25,7 @@ If you're migrating an app to ASP.NET Core 6, the breaking changes listed here m
| [Identity: Default Bootstrap version of UI changed](identity-bootstrap4-to-5.md) | ❌ | ❌ |
| [Kestrel: Log message attributes changed](kestrel-log-message-attributes-changed.md) | ✔️ | ❌ |
| [Microsoft.AspNetCore.Http.Features split](microsoft-aspnetcore-http-features-package-split.md) | ❌ | ✔️ |
-| [Middleware: HTTPS Redirection Middleware throws exception on ambiguous HTTPS ports](middleware-ambiguous-https-ports-exception.md) | ✔️ | ❌ |
+| [Middleware: HTTPS redirection middleware throws exception on ambiguous HTTPS ports](middleware-ambiguous-https-ports-exception.md) | ✔️ | ❌ |
| [Middleware: New Use overload](middleware-new-use-overload.md) | ✔️ | ❌ |
| [Minimal API renames in RC 1](rc1-minimal-api-renames.md) | ❌ | ❌ |
| [Minimal API renames in RC 2](rc2-minimal-api-renames.md) | ❌ | ❌ |
diff --git a/aspnetcore/breaking-changes/8/forwarded-headers-unknown-proxies.md b/aspnetcore/breaking-changes/8/forwarded-headers-unknown-proxies.md
index a59eafdcafdb..e05c20e19c90 100644
--- a/aspnetcore/breaking-changes/8/forwarded-headers-unknown-proxies.md
+++ b/aspnetcore/breaking-changes/8/forwarded-headers-unknown-proxies.md
@@ -1,12 +1,12 @@
---
-title: "Breaking change: Forwarded Headers Middleware ignores X-Forwarded-* headers from unknown proxies"
-description: Learn about the breaking change in ASP.NET Core where Forwarded Headers Middleware now ignores headers from proxies that aren't explicitly configured as trusted.
+title: "Breaking change: Forwarded headers middleware ignores X-Forwarded-* headers from unknown proxies"
+description: Learn about the breaking change in ASP.NET Core where forwarded headers middleware now ignores headers from proxies that aren't explicitly configured as trusted.
ms.date: 08/15/2025
ms.custom: https://github.com/aspnet/Announcements/issues/517
---
-# Forwarded Headers Middleware ignores X-Forwarded-* headers from unknown proxies
+# Forwarded headers middleware ignores X-Forwarded-* headers from unknown proxies
-Starting in ASP.NET Core 8.0.17 and 9.0.6, the Forwarded Headers Middleware ignores all `X-Forwarded-*` headers from proxies that aren't explicitly configured as trusted. This change was made for security hardening, as the proxy and IP lists weren't being applied in all cases.
+Starting in ASP.NET Core 8.0.17 and 9.0.6, the forwarded headers middleware ignores all `X-Forwarded-*` headers from proxies that aren't explicitly configured as trusted. This change was made for security hardening, as the proxy and IP lists weren't being applied in all cases.
## Version introduced
diff --git a/aspnetcore/breaking-changes/8/overview.md b/aspnetcore/breaking-changes/8/overview.md
index 6f90e865fd1e..5ac539c93cf6 100644
--- a/aspnetcore/breaking-changes/8/overview.md
+++ b/aspnetcore/breaking-changes/8/overview.md
@@ -15,7 +15,7 @@ If you're migrating an app to ASP.NET Core 8, the breaking changes listed here m
| ---------------------------------------------------------------------------------------------------- | ------------------- |
| [ConcurrencyLimiterMiddleware is obsolete](concurrencylimitermiddleware-obsolete.md) | Source incompatible |
| [Custom converters for serialization removed](problemdetails-custom-converters.md) | Behavioral change |
-| [Forwarded Headers Middleware ignores X-Forwarded-* headers from unknown proxies](forwarded-headers-unknown-proxies.md) | Behavioral change |
+| [Forwarded headers middleware ignores X-Forwarded-* headers from unknown proxies](forwarded-headers-unknown-proxies.md) | Behavioral change |
| [HTTP logging middleware requires AddHttpLogging()](httplogging-addhttplogging-requirement.md) | Behavioral change |
| [ISystemClock is obsolete](isystemclock-obsolete.md) | Source incompatible |
| [Minimal APIs: IFormFile parameters require anti-forgery checks](antiforgery-checks.md) | Behavioral change |
diff --git a/aspnetcore/breaking-changes/9/overview.md b/aspnetcore/breaking-changes/9/overview.md
index 625e837a0214..c10c7c401d97 100644
--- a/aspnetcore/breaking-changes/9/overview.md
+++ b/aspnetcore/breaking-changes/9/overview.md
@@ -15,7 +15,7 @@ If you're migrating an app to ASP.NET Core 9, the breaking changes listed here m
|--------------------------------------------------------------------------------|-------------------|
| [DefaultKeyResolution.ShouldGenerateNewKey altered meaning](key-resolution.md) | Behavioral change |
| [Dev cert export no longer creates folder](certificate-export.md) | Behavioral change |
-| [Forwarded Headers Middleware ignores X-Forwarded-* headers from unknown proxies](../8/forwarded-headers-unknown-proxies.md) | Behavioral change |
+| [Forwarded headers middleware ignores X-Forwarded-* headers from unknown proxies](../8/forwarded-headers-unknown-proxies.md) | Behavioral change |
| [HostBuilder enables ValidateOnBuild/ValidateScopes in development environment](hostbuilder-validation.md) | Behavioral change |
| [Legacy Mono and Emscripten APIs not exported to global namespace](legacy-apis.md) | Source incompatible |
| [Middleware types with multiple constructors](middleware-constructors.md) | Behavioral change |
diff --git a/aspnetcore/client-side/spa-services.md b/aspnetcore/client-side/spa-services.md
index 7b7204963740..dc53d27f5549 100644
--- a/aspnetcore/client-side/spa-services.md
+++ b/aspnetcore/client-side/spa-services.md
@@ -45,7 +45,7 @@ SpaServices was created to position ASP.NET Core as developers' preferred server
SpaServices provides useful infrastructure such as:
* [Server-side prerendering](#server-side-prerendering)
-* [Webpack Dev Middleware](#webpack-dev-middleware)
+* [Webpack dev middleware](#webpack-dev-middleware)
* [Hot Module Replacement](#hot-module-replacement)
* [Routing helpers](#routing-helpers)
@@ -125,15 +125,15 @@ The `postList` array defined inside the `globals` object is attached to the brow

-## Webpack Dev Middleware
+## Webpack dev middleware
-[Webpack Dev Middleware](https://webpack.js.org/guides/development/#using-webpack-dev-middleware) introduces a streamlined development workflow whereby Webpack builds resources on demand. The middleware automatically compiles and serves client-side resources when a page is reloaded in the browser. The alternate approach is to manually invoke Webpack via the project's npm build script when a third-party dependency or the custom code changes. An npm build script in the `package.json` file is shown in the following example:
+[Webpack dev middleware](https://webpack.js.org/guides/development/#using-webpack-dev-middleware) introduces a streamlined development workflow whereby Webpack builds resources on demand. The middleware automatically compiles and serves client-side resources when a page is reloaded in the browser. The alternate approach is to manually invoke Webpack via the project's npm build script when a third-party dependency or the custom code changes. An npm build script in the `package.json` file is shown in the following example:
```json
"build": "npm run build:vendor && npm run build:custom",
```
-### Webpack Dev Middleware prerequisites
+### Webpack dev middleware prerequisites
Install the [aspnet-webpack](https://www.npmjs.com/package/aspnet-webpack) npm package:
@@ -141,9 +141,9 @@ Install the [aspnet-webpack](https://www.npmjs.com/package/aspnet-webpack) npm p
npm i -D aspnet-webpack
```
-### Webpack Dev Middleware configuration
+### Webpack dev middleware configuration
-Webpack Dev Middleware is registered into the HTTP request pipeline via the following code in the `Startup.cs` file's `Configure` method:
+Webpack dev middleware is registered into the HTTP request pipeline via the following code in the `Startup.cs` file's `Configure` method:
[!code-csharp[](../client-side/spa-services/sample/SpaServicesSampleApp/Startup.cs?name=snippet_WebpackMiddlewareRegistration&highlight=4)]
@@ -155,7 +155,7 @@ The `webpack.config.js` file's `output.publicPath` property tells the middleware
## Hot Module Replacement
-Think of Webpack's [Hot Module Replacement](https://webpack.js.org/concepts/hot-module-replacement/) (HMR) feature as an evolution of [Webpack Dev Middleware](#webpack-dev-middleware). HMR introduces all the same benefits, but it further streamlines the development workflow by automatically updating page content after compiling the changes. Don't confuse this with a refresh of the browser, which would interfere with the current in-memory state and debugging session of the SPA. There's a live link between the Webpack Dev Middleware service and the browser, which means changes are pushed to the browser.
+Think of Webpack's [Hot Module Replacement](https://webpack.js.org/concepts/hot-module-replacement/) (HMR) feature as an evolution of [webpack dev middleware](#webpack-dev-middleware). HMR introduces all the same benefits, but it further streamlines the development workflow by automatically updating page content after compiling the changes. Don't confuse this with a refresh of the browser, which would interfere with the current in-memory state and debugging session of the SPA. There's a live link between the webpack dev middleware service and the browser, which means changes are pushed to the browser.
### Hot Module Replacement prerequisites
@@ -175,7 +175,7 @@ app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions {
});
```
-As was true with [Webpack Dev Middleware](#webpack-dev-middleware), the `UseWebpackDevMiddleware` extension method must be called before the `UseStaticFiles` extension method. For security reasons, register the middleware only when the app runs in development mode.
+As was true with [webpack dev middleware](#webpack-dev-middleware), the `UseWebpackDevMiddleware` extension method must be called before the `UseStaticFiles` extension method. For security reasons, register the middleware only when the app runs in development mode.
The `webpack.config.js` file must define a `plugins` array, even if it's left empty:
@@ -266,7 +266,7 @@ Open the `.csproj` file generated by the [dotnet new](/dotnet/core/tools/dotnet-
## Test the app
-SpaServices templates are pre-configured to run client-side tests using [Karma](https://karma-runner.github.io/1.0/index.html) and [Jasmine](https://jasmine.github.io/). Jasmine is a popular unit testing framework for JavaScript, whereas Karma is a test runner for those tests. Karma is configured to work with the [Webpack Dev Middleware](#webpack-dev-middleware) such that the developer isn't required to stop and run the test every time changes are made. Whether it's the code running against the test case or the test case itself, the test runs automatically.
+SpaServices templates are pre-configured to run client-side tests using [Karma](https://karma-runner.github.io/1.0/index.html) and [Jasmine](https://jasmine.github.io/). Jasmine is a popular unit testing framework for JavaScript, whereas Karma is a test runner for those tests. Karma is configured to work with the [webpack dev middleware](#webpack-dev-middleware) such that the developer isn't required to stop and run the test every time changes are made. Whether it's the code running against the test case or the test case itself, the test runs automatically.
Using the Angular application as an example, two Jasmine test cases are already provided for the `CounterComponent` in the `counter.component.spec.ts` file:
diff --git a/aspnetcore/client-side/spa/includes/intro6-7.md b/aspnetcore/client-side/spa/includes/intro6-7.md
index cec06996a12d..1d6430869bc2 100644
--- a/aspnetcore/client-side/spa/includes/intro6-7.md
+++ b/aspnetcore/client-side/spa/includes/intro6-7.md
@@ -5,7 +5,7 @@
The Single Page Application (SPA) templates for [Angular](https://angular.dev/) and [React](https://reactjs.org/) offer the ability to develop Angular and React apps that are hosted inside a .NET backend server.
-At publish time, the files of the Angular and React app are copied to the `wwwroot` folder and are served via the [Static File Middleware](xref:fundamentals/static-files).
+At publish time, the files of the Angular and React app are copied to the `wwwroot` folder and are served via the [static file middleware](xref:fundamentals/static-files).
Rather than returning HTTP 404 (Not Found), a fallback route handles unknown requests to the backend and serves the `index.html` for the SPA.
diff --git a/aspnetcore/diagnostics/mvc1005.md b/aspnetcore/diagnostics/mvc1005.md
index b5785800ca6d..30c00f42602f 100644
--- a/aspnetcore/diagnostics/mvc1005.md
+++ b/aspnetcore/diagnostics/mvc1005.md
@@ -20,7 +20,7 @@ UseMvc was invoked as part of startup.
### Rule description
-Using MVC via or requires an explicit opt-in inside `Startup.ConfigureServices`. This is required because MVC must know whether it can rely on the authorization and CORS Middleware during initialization.
+Using MVC via or requires an explicit opt-in inside `Startup.ConfigureServices`. This is required because MVC must know whether it can rely on the authorization and CORS middleware during initialization.
## How to fix violations
diff --git a/aspnetcore/fundamentals/app-state.md b/aspnetcore/fundamentals/app-state.md
index cfbd7b1cd1d9..fd8e9f1a1b51 100644
--- a/aspnetcore/fundamentals/app-state.md
+++ b/aspnetcore/fundamentals/app-state.md
@@ -122,7 +122,7 @@ To override cookie session defaults, use property to determine how long a session can be idle before its contents in the server's cache are abandoned. This property is independent of the cookie expiration. Each request that passes through the [Session Middleware](xref:Microsoft.AspNetCore.Session.SessionMiddleware) resets the timeout.
+The app uses the property to determine how long a session can be idle before its contents in the server's cache are abandoned. This property is independent of the cookie expiration. Each request that passes through the [session middleware](xref:Microsoft.AspNetCore.Session.SessionMiddleware) resets the timeout.
Session state is *non-locking*. If two requests simultaneously attempt to modify the contents of a session, the last request overrides the first. `Session` is implemented as a *coherent session*, which means that all the contents are stored together. When two requests seek to modify different session values, the last request may override session changes made by the first.
@@ -406,7 +406,7 @@ To override cookie session defaults, use property to determine how long a session can be idle before its contents in the server's cache are abandoned. This property is independent of the cookie expiration. Each request that passes through the [Session Middleware](xref:Microsoft.AspNetCore.Session.SessionMiddleware) resets the timeout.
+The app uses the property to determine how long a session can be idle before its contents in the server's cache are abandoned. This property is independent of the cookie expiration. Each request that passes through the [session middleware](xref:Microsoft.AspNetCore.Session.SessionMiddleware) resets the timeout.
Session state is *non-locking*. If two requests simultaneously attempt to modify the contents of a session, the last request overrides the first. `Session` is implemented as a *coherent session*, which means that all the contents are stored together. When two requests seek to modify different session values, the last request may override session changes made by the first.
diff --git a/aspnetcore/fundamentals/configuration/index.md b/aspnetcore/fundamentals/configuration/index.md
index 9a0316801c81..b801a73b4d18 100644
--- a/aspnetcore/fundamentals/configuration/index.md
+++ b/aspnetcore/fundamentals/configuration/index.md
@@ -131,8 +131,8 @@ Default host configuration sources from highest to lowest priority for the [Web
* Command-line arguments using the [Command-line Configuration Provider](#command-line).
* Web Host default configuration ()
* Kestrel is used as the web server and configured using the app's configuration providers.
- * Add [Host Filtering Middleware](xref:fundamentals/servers/kestrel/host-filtering).
- * Add [Forwarded Headers Middleware](xref:host-and-deploy/proxy-load-balancer#forwarded-headers) if the `ASPNETCORE_FORWARDEDHEADERS_ENABLED` environment variable is set to `true`.
+ * Add [host-filtering middleware](xref:fundamentals/servers/kestrel/host-filtering).
+ * Add [forwarded headers middleware](xref:host-and-deploy/proxy-load-balancer#forwarded-headers) if the `ASPNETCORE_FORWARDEDHEADERS_ENABLED` environment variable is set to `true`.
* Enable IIS integration.
:::moniker-end
diff --git a/aspnetcore/fundamentals/environments.md b/aspnetcore/fundamentals/environments.md
index a51269e8ccab..ebc4446ea0c1 100644
--- a/aspnetcore/fundamentals/environments.md
+++ b/aspnetcore/fundamentals/environments.md
@@ -86,8 +86,8 @@ Use to distinguish the environment.
-* Calls , which adds [Exception Handler Middleware](xref:fundamentals/error-handling) to the request processing pipeline to handle exceptions.
-* Calls , which adds [HSTS Middleware](xref:security/enforcing-ssl#http-strict-transport-security-protocol-hsts) to apply the [`Strict-Transport-Security` header](https://developer.mozilla.org/docs/Web/HTTP/Reference/Headers/Strict-Transport-Security).
+* Calls , which adds [exception handler middleware](xref:fundamentals/error-handling) to the request processing pipeline to handle exceptions.
+* Calls , which adds [HSTS middleware](xref:security/enforcing-ssl#http-strict-transport-security-hsts-protocol) to apply the [`Strict-Transport-Security` header](https://developer.mozilla.org/docs/Web/HTTP/Reference/Headers/Strict-Transport-Security).
```csharp
if (!app.Environment.IsDevelopment())
@@ -109,7 +109,7 @@ The following code in `Startup.Configure`:
* Injects into `Startup.Configure` to tailor the code to the environment. This approach is useful when the app only requires adjusting `Startup.Configure` for a few environments with minimal code differences per environment. When many code differences exist per environment, consider using [accessing the environment from a `Startup` class](#access-the-environment-from-a-startup-class), which is covered later in this article.
* Calls when `ASPNETCORE_ENVIRONMENT` is set to `Development`. The call adds middleware that captures exceptions and generates HTML error responses.
-* Calls when the value of `ASPNETCORE_ENVIRONMENT` is set to `Production`, `Staging`, or `Testing`. The call adds [Exception Handler Middleware](xref:fundamentals/error-handling) to the pipeline to handle exceptions.
+* Calls when the value of `ASPNETCORE_ENVIRONMENT` is set to `Production`, `Staging`, or `Testing`. The call adds [exception handler middleware](xref:fundamentals/error-handling) to the pipeline to handle exceptions.
```csharp
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
diff --git a/aspnetcore/fundamentals/error-handling-api.md b/aspnetcore/fundamentals/error-handling-api.md
index 90c1c49d63b2..5a20c0a753de 100644
--- a/aspnetcore/fundamentals/error-handling-api.md
+++ b/aspnetcore/fundamentals/error-handling-api.md
@@ -53,17 +53,17 @@ To see the Developer Exception Page in a controller-based API:
## Exception handler
-In non-development environments, use the [Exception Handler Middleware](xref:fundamentals/error-handling#exception-handler-page) to produce an error payload.
+In non-development environments, use the [exception handler middleware](xref:fundamentals/error-handling#exception-handler-page) to produce an error payload.
#### [Minimal APIs](#tab/minimal-apis)
-To configure the `Exception Handler Middleware`, call . For example, the following code changes the app to respond with an [RFC 7807](https://tools.ietf.org/html/rfc7807)-compliant payload to the client. For more information, see the [Problem Details](#problem-details) section later in this article.
+To configure the `exception handler middleware`, call . For example, the following code changes the app to respond with an [RFC 7807](https://tools.ietf.org/html/rfc7807)-compliant payload to the client. For more information, see the [Problem Details](#problem-details) section later in this article.
:::code language="csharp" source="~/fundamentals/minimal-apis/handle-errors/sample8/Program.cs" id="snippet_WithUseExceptionHandler" highlight="4-7":::
#### [Controllers](#tab/controllers)
-1. In `Program.cs`, call to add the Exception Handling Middleware:
+1. In `Program.cs`, call to add the exception handling middleware:
:::code language="csharp" source="~/web-api/handle-errors/samples/6.x/HandleErrorsSample/Program.cs" id="snippet_Middleware" highlight="7":::
@@ -140,7 +140,7 @@ In the following code, `httpContext.Response.WriteAsync("Fallback: An error occu
The preceding code:
* Writes an error message with the fallback code if the `problemDetailsService` is unable to write a `ProblemDetails`. For example, an endpoint where the [Accept request header](https://developer.mozilla.org/docs/Web/HTTP/Headers/Accept) specifies a media type that the `DefaultProblemDetailsWriter` does not support.
-* Uses the [Exception Handler Middleware](#exception-handler).
+* Uses the [exception handler middleware](#exception-handler).
> [!NOTE]
> The `DefaultProblemDetailsWriter` supports the following media types in the `Accept` request header:
diff --git a/aspnetcore/fundamentals/error-handling.md b/aspnetcore/fundamentals/error-handling.md
index df38116d56d0..2c97abe01052 100644
--- a/aspnetcore/fundamentals/error-handling.md
+++ b/aspnetcore/fundamentals/error-handling.md
@@ -31,7 +31,7 @@ To configure a custom error handling page for the [`Production` environment](xre
* Re-executes the request in an alternate pipeline using the path indicated. The request isn't re-executed if the response has started. The template-generated code re-executes the request using the `/Error` path.
> [!WARNING]
-> If the alternate pipeline throws an exception of its own, Exception Handling Middleware rethrows the original exception.
+> If the alternate pipeline throws an exception of its own, exception handling middleware rethrows the original exception.
Since this middleware can re-execute the request pipeline:
@@ -139,7 +139,7 @@ By default, an ASP.NET Core app doesn't provide a status code page for HTTP erro
:::code language="csharp" source="~/fundamentals/error-handling/samples/7.x/ErrorHandlingSample/Snippets/Program.cs" id="snippet_UseStatusCodePages" highlight="9":::
-Call `UseStatusCodePages` before request handling middleware. For example, call `UseStatusCodePages` before the Static File Middleware and the Endpoints Middleware.
+Call `UseStatusCodePages` before request handling middleware. For example, call `UseStatusCodePages` before the static file middleware and the endpoints middleware.
When `UseStatusCodePages` isn't used, navigating to a URL without an endpoint returns a browser-dependent error message indicating the endpoint can't be found. When `UseStatusCodePages` is called, the browser returns the following response:
@@ -319,7 +319,7 @@ An implementation can be
:::code language="csharp" source="~/../AspNetCore.Docs.Samples/fundamentals/middleware/problem-details-service/Program.cs" id="snippet_sampleproblemdetailswriter" :::
-#### Problem details from Middleware
+#### Problem details from middleware
An alternative approach to using with is to set the in middleware. A problem details response can be written by calling [`IProblemDetailsService.WriteAsync`](/dotnet/api/microsoft.aspnetcore.http.iproblemdetailsservice.writeasync?view=aspnetcore-7.0&preserve-view=true):
diff --git a/aspnetcore/fundamentals/error-handling/includes/error-handling3-7.md b/aspnetcore/fundamentals/error-handling/includes/error-handling3-7.md
index deac48d06e00..8acc6bf0c66e 100644
--- a/aspnetcore/fundamentals/error-handling/includes/error-handling3-7.md
+++ b/aspnetcore/fundamentals/error-handling/includes/error-handling3-7.md
@@ -32,7 +32,7 @@ To configure a custom error handling page for the [`Production` environment](xre
* Re-executes the request in an alternate pipeline using the path indicated. The request isn't re-executed if the response has started. The template-generated code re-executes the request using the `/Error` path.
> [!WARNING]
-> If the alternate pipeline throws an exception of its own, Exception Handling Middleware rethrows the original exception.
+> If the alternate pipeline throws an exception of its own, exception handling middleware rethrows the original exception.
Since this middleware can re-execute the request pipeline:
@@ -84,7 +84,7 @@ By default, an ASP.NET Core app doesn't provide a status code page for HTTP erro
:::code language="csharp" source="~/fundamentals/error-handling/samples/7.x/ErrorHandlingSample/Snippets/Program.cs" id="snippet_UseStatusCodePages" highlight="9":::
-Call `UseStatusCodePages` before request handling middleware. For example, call `UseStatusCodePages` before the Static File Middleware and the Endpoints Middleware.
+Call `UseStatusCodePages` before request handling middleware. For example, call `UseStatusCodePages` before the static file middleware and the endpoints middleware.
When `UseStatusCodePages` isn't used, navigating to a URL without an endpoint returns a browser-dependent error message indicating the endpoint can't be found. When `UseStatusCodePages` is called, the browser returns the following response:
@@ -351,7 +351,7 @@ To configure a custom error handling page for the [`Production` environment](xre
* Re-executes the request in an alternate pipeline using the path indicated. The request isn't re-executed if the response has started. The template-generated code re-executes the request using the `/Error` path.
> [!WARNING]
-> If the alternate pipeline throws an exception of its own, Exception Handling Middleware rethrows the original exception.
+> If the alternate pipeline throws an exception of its own, exception handling middleware rethrows the original exception.
In the following example, adds the exception handling middleware in non-`Development` environments:
@@ -394,7 +394,7 @@ By default, an ASP.NET Core app doesn't provide a status code page for HTTP erro
:::code language="csharp" source="~/fundamentals/error-handling/samples/6.x/ErrorHandlingSample/Snippets/Program.cs" id="snippet_UseStatusCodePages" highlight="9":::
-Call `UseStatusCodePages` before request handling middleware. For example, call `UseStatusCodePages` before the Static File Middleware and the Endpoints Middleware.
+Call `UseStatusCodePages` before request handling middleware. For example, call `UseStatusCodePages` before the static file middleware and the endpoints middleware.
When `UseStatusCodePages` isn't used, navigating to a URL without an endpoint returns a browser-dependent error message indicating the endpoint can't be found. When `UseStatusCodePages` is called, the browser returns the following response:
@@ -561,7 +561,7 @@ To configure a custom error handling page for the [`Production` environment](xre
* Re-executes the request in an alternate pipeline using the path indicated. The request isn't re-executed if the response has started. The template-generated code re-executes the request using the `/Error` path.
> [!WARNING]
-> If the alternate pipeline throws an exception of its own, Exception Handling Middleware rethrows the original exception.
+> If the alternate pipeline throws an exception of its own, exception handling middleware rethrows the original exception.
In the following example, adds the exception handling middleware in non-`Development` environments:
@@ -620,7 +620,7 @@ By default, an ASP.NET Core app doesn't provide a status code page for HTTP erro
:::code language="csharp" source="~/fundamentals/error-handling/samples/5.x/ErrorHandlingSample/StartupUseStatusCodePages.cs" id="snippet" highlight="13":::
-Call `UseStatusCodePages` before request handling middleware. For example, call `UseStatusCodePages` before the Static File Middleware and the Endpoints Middleware.
+Call `UseStatusCodePages` before request handling middleware. For example, call `UseStatusCodePages` before the static file middleware and the endpoints middleware.
When `UseStatusCodePages` isn't used, navigating to a URL without an endpoint returns a browser-dependent error message indicating the endpoint can't be found. For example, navigating to `Home/Privacy2`. When `UseStatusCodePages` is called, the browser returns:
@@ -810,12 +810,12 @@ The Developer Exception Page includes the following information about the except
## Exception handler page
-To configure a custom error handling page for the `Production` environment, use the Exception Handling Middleware. The middleware:
+To configure a custom error handling page for the `Production` environment, use the exception handling middleware. The middleware:
* Catches and logs exceptions.
* Re-executes the request in an alternate pipeline for the page or controller indicated. The request isn't re-executed if the response has started. The template generated code re-executes the request to `/Error`.
-In the following example, adds the Exception Handling Middleware in non-`Development` environments:
+In the following example, adds the exception handling middleware in non-`Development` environments:
:::code language="csharp" source="~/fundamentals/error-handling/samples/2.x/ErrorHandlingSample/Startup.cs" id="snippet_DevPageAndHandlerPage" highlight="5-9":::
@@ -859,7 +859,7 @@ To enable default text-only handlers for common error status codes, call .
> [!TIP]
-> Exception filters are useful for trapping exceptions that occur within MVC actions, but they're not as flexible as the Exception Handling Middleware. We recommend using the middleware. Use filters only where you need to perform error handling differently based on which MVC action is chosen.
+> Exception filters are useful for trapping exceptions that occur within MVC actions, but they're not as flexible as the exception handling middleware. We recommend using the middleware. Use filters only where you need to perform error handling differently based on which MVC action is chosen.
## Model state errors
diff --git a/aspnetcore/fundamentals/error-handling/includes/error-handling8.md b/aspnetcore/fundamentals/error-handling/includes/error-handling8.md
index 30de4445f7d8..c50db2c9149d 100644
--- a/aspnetcore/fundamentals/error-handling/includes/error-handling8.md
+++ b/aspnetcore/fundamentals/error-handling/includes/error-handling8.md
@@ -33,7 +33,7 @@ To configure a custom error handling page for the [`Production` environment](xre
* Re-executes the request in an alternate pipeline using the path indicated. The request isn't re-executed if the response has started. The template-generated code re-executes the request using the `/Error` path.
> [!WARNING]
-> If the alternate pipeline throws an exception of its own, Exception Handling Middleware rethrows the original exception.
+> If the alternate pipeline throws an exception of its own, exception handling middleware rethrows the original exception.
Since this middleware can re-execute the request pipeline:
@@ -111,7 +111,7 @@ By default, an ASP.NET Core app doesn't provide a status code page for HTTP erro
:::code language="csharp" source="~/fundamentals/error-handling/samples/7.x/ErrorHandlingSample/Snippets/Program.cs" id="snippet_UseStatusCodePages" highlight="9":::
-Call `UseStatusCodePages` before request handling middleware. For example, call `UseStatusCodePages` before the Static File Middleware and the Endpoints Middleware.
+Call `UseStatusCodePages` before request handling middleware. For example, call `UseStatusCodePages` before the static file middleware and the endpoints middleware.
When `UseStatusCodePages` isn't used, navigating to a URL without an endpoint returns a browser-dependent error message indicating the endpoint can't be found. When `UseStatusCodePages` is called, the browser returns the following response:
diff --git a/aspnetcore/fundamentals/error-handling/includes/error-handling9.md b/aspnetcore/fundamentals/error-handling/includes/error-handling9.md
index 214ce8566ad7..5d22c2109bd3 100644
--- a/aspnetcore/fundamentals/error-handling/includes/error-handling9.md
+++ b/aspnetcore/fundamentals/error-handling/includes/error-handling9.md
@@ -16,7 +16,7 @@ To configure a custom error handling page for the [`Production` environment](xre
* Re-executes the request in an alternate pipeline using the path indicated. The request isn't re-executed if the response has started. The template-generated code re-executes the request using the `/Error` path.
> [!WARNING]
-> If the alternate pipeline throws an exception of its own, Exception Handling Middleware rethrows the original exception.
+> If the alternate pipeline throws an exception of its own, exception handling middleware rethrows the original exception.
Since this middleware can re-execute the request pipeline:
@@ -98,7 +98,7 @@ By default, an ASP.NET Core app doesn't provide a status code page for HTTP erro
:::code language="csharp" source="~/fundamentals/error-handling/samples/7.x/ErrorHandlingSample/Snippets/Program.cs" id="snippet_UseStatusCodePages" highlight="9":::
-Call `UseStatusCodePages` before request handling middleware. For example, call `UseStatusCodePages` before the Static File Middleware and the Endpoints Middleware.
+Call `UseStatusCodePages` before request handling middleware. For example, call `UseStatusCodePages` before the static file middleware and the endpoints middleware.
When `UseStatusCodePages` isn't used, navigating to a URL without an endpoint returns a browser-dependent error message indicating the endpoint can't be found. When `UseStatusCodePages` is called, the browser returns the following response:
diff --git a/aspnetcore/fundamentals/file-providers.md b/aspnetcore/fundamentals/file-providers.md
index ba6aecb65dc6..38285794aa1f 100644
--- a/aspnetcore/fundamentals/file-providers.md
+++ b/aspnetcore/fundamentals/file-providers.md
@@ -19,7 +19,7 @@ By [Steve Smith](https://ardalis.com/)
ASP.NET Core abstracts file system access through the use of File Providers. File Providers are used throughout the ASP.NET Core framework. For example:
* exposes the app's [content root](xref:fundamentals/index#content-root) and [web root](xref:fundamentals/index#web-root) as `IFileProvider` types.
-* [Static File Middleware](xref:fundamentals/static-files) uses File Providers to locate static files.
+* [Static file middleware](xref:fundamentals/static-files) uses File Providers to locate static files.
* [Razor](xref:mvc/views/razor) uses File Providers to locate pages and views.
* .NET tooling uses File Providers and glob patterns to specify which files should be published.
@@ -173,7 +173,7 @@ The following table provides common examples of glob patterns.
ASP.NET Core abstracts file system access through the use of File Providers. File Providers are used throughout the ASP.NET Core framework:
* exposes the app's [content root](xref:fundamentals/index#content-root) and [web root](xref:fundamentals/index#web-root) as `IFileProvider` types.
-* [Static File Middleware](xref:fundamentals/static-files) uses File Providers to locate static files.
+* [Static file middleware](xref:fundamentals/static-files) uses File Providers to locate static files.
* [Razor](xref:mvc/views/razor) uses File Providers to locate pages and views.
* .NET tooling uses File Providers and glob patterns to specify which files should be published.
diff --git a/aspnetcore/fundamentals/host/generic-host.md b/aspnetcore/fundamentals/host/generic-host.md
index a413e4711b9c..c11ee1961ccf 100644
--- a/aspnetcore/fundamentals/host/generic-host.md
+++ b/aspnetcore/fundamentals/host/generic-host.md
@@ -146,7 +146,7 @@ The .
-* Adds [Host Filtering middleware](xref:fundamentals/servers/kestrel/host-filtering).
+* Adds [host-filtering middleware](xref:fundamentals/servers/kestrel/host-filtering).
* Adds [Forwarded Headers middleware](xref:host-and-deploy/proxy-load-balancer#forwarded-headers) if the `ASPNETCORE_FORWARDEDHEADERS_ENABLED` property is set to `true`.
diff --git a/aspnetcore/fundamentals/index.md b/aspnetcore/fundamentals/index.md
index c45cd514c2e0..ad15b0d05136 100644
--- a/aspnetcore/fundamentals/index.md
+++ b/aspnetcore/fundamentals/index.md
@@ -145,7 +145,7 @@ For more information, see .
Execution environments, such as `Development`, `Staging`, and `Production`, are available in ASP.NET Core. Specify the environment an app is running in by setting the `ASPNETCORE_ENVIRONMENT` environment variable. ASP.NET Core reads that environment variable at app startup and stores the value in an `IWebHostEnvironment` implementation. This implementation is available anywhere in an app via dependency injection (DI).
-The following example configures the exception handler and [HTTP Strict Transport Security Protocol (HSTS)](xref:security/enforcing-ssl#http-strict-transport-security-protocol-hsts) middleware when ***not*** running in the `Development` environment:
+The following example configures the exception handler and [HTTP Strict Transport Security (HSTS) protocol](xref:security/enforcing-ssl#http-strict-transport-security-hsts-protocol) middleware when ***not*** running in the `Development` environment:
:::code language="csharp" source="~/fundamentals/index/samples/9.0/BlazorWebAppMovies/Program.cs" id="snippet_environments" highlight="1":::
diff --git a/aspnetcore/fundamentals/index/includes/index3-7.md b/aspnetcore/fundamentals/index/includes/index3-7.md
index bff15a98f762..fbf7036dfc61 100644
--- a/aspnetcore/fundamentals/index/includes/index3-7.md
+++ b/aspnetcore/fundamentals/index/includes/index3-7.md
@@ -116,7 +116,7 @@ For more information, see .
Execution environments, such as `Development`, `Staging`, and `Production`, are available in ASP.NET Core. Specify the environment an app is running in by setting the `ASPNETCORE_ENVIRONMENT` environment variable. ASP.NET Core reads that environment variable at app startup and stores the value in an `IWebHostEnvironment` implementation. This implementation is available anywhere in an app via dependency injection (DI).
-The following example configures the exception handler and [HTTP Strict Transport Security Protocol (HSTS)](xref:security/enforcing-ssl#http-strict-transport-security-protocol-hsts) middleware when ***not*** running in the `Development` environment:
+The following example configures the exception handler and [HTTP Strict Transport Security (HSTS) protocol](xref:security/enforcing-ssl#http-strict-transport-security-hsts-protocol) middleware when ***not*** running in the `Development` environment:
[!code-csharp[](~/fundamentals/startup/6.0_samples/WebAll/Program.cs?name=snippet&highlight=10-14)]
diff --git a/aspnetcore/fundamentals/index/includes/index8.md b/aspnetcore/fundamentals/index/includes/index8.md
index 4185c3039849..0ec241984fc7 100644
--- a/aspnetcore/fundamentals/index/includes/index8.md
+++ b/aspnetcore/fundamentals/index/includes/index8.md
@@ -118,7 +118,7 @@ For more information, see .
Execution environments, such as `Development`, `Staging`, and `Production`, are available in ASP.NET Core. Specify the environment an app is running in by setting the `ASPNETCORE_ENVIRONMENT` environment variable. ASP.NET Core reads that environment variable at app startup and stores the value in an `IWebHostEnvironment` implementation. This implementation is available anywhere in an app via dependency injection (DI).
-The following example configures the exception handler and [HTTP Strict Transport Security Protocol (HSTS)](xref:security/enforcing-ssl#http-strict-transport-security-protocol-hsts) middleware when ***not*** running in the `Development` environment:
+The following example configures the exception handler and [HTTP Strict Transport Security (HSTS) protocol](xref:security/enforcing-ssl#http-strict-transport-security-hsts-protocol) middleware when ***not*** running in the `Development` environment:
[!code-csharp[](~/fundamentals/startup/6.0_samples/WebAll/Program.cs?name=snippet&highlight=10-14)]
diff --git a/aspnetcore/fundamentals/localization-extensibility.md b/aspnetcore/fundamentals/localization-extensibility.md
index bb41fba1ad20..4fdadbfd5eb8 100644
--- a/aspnetcore/fundamentals/localization-extensibility.md
+++ b/aspnetcore/fundamentals/localization-extensibility.md
@@ -37,7 +37,7 @@ ASP.NET Core localization APIs have four default providers that can determine th
*
*
-The preceding providers are described in detail in the [Localization Middleware](xref:fundamentals/localization) documentation. If the default providers don't meet your needs, build a custom provider using one of the following approaches:
+The preceding providers are described in detail in the [localization middleware](xref:fundamentals/localization) documentation. If the default providers don't meet your needs, build a custom provider using one of the following approaches:
### Use CustomRequestCultureProvider
diff --git a/aspnetcore/fundamentals/localization/includes/localization35.md b/aspnetcore/fundamentals/localization/includes/localization35.md
index badfa25b2a3e..a1e5245f020d 100644
--- a/aspnetcore/fundamentals/localization/includes/localization35.md
+++ b/aspnetcore/fundamentals/localization/includes/localization35.md
@@ -251,7 +251,7 @@ Localization is configured in the `Startup.ConfigureServices` method:
### Localization middleware
-The current culture on a request is set in the localization [Middleware](xref:fundamentals/middleware/index). The localization middleware is enabled in the `Startup.Configure` method. The localization middleware must be configured before any middleware that might check the request culture (for example, `app.UseMvcWithDefaultRoute()`). Localization Middleware must appear after Routing Middleware if using . For more information on middleware order, see .
+The current culture on a request is set in the localization [Middleware](xref:fundamentals/middleware/index). The localization middleware is enabled in the `Startup.Configure` method. The localization middleware must be configured before any middleware that might check the request culture (for example, `app.UseMvcWithDefaultRoute()`). Localization middleware must appear after routing middleware if using . For more information on middleware order, see .
[!code-csharp[](~/fundamentals/localization/sample/3.x/Localization/Startup.cs?name=snippet2)]
diff --git a/aspnetcore/fundamentals/logging/index.md b/aspnetcore/fundamentals/logging/index.md
index 75239357f010..3c6aa8211b8e 100644
--- a/aspnetcore/fundamentals/logging/index.md
+++ b/aspnetcore/fundamentals/logging/index.md
@@ -1466,9 +1466,9 @@ Diagnostics
Host Filtering
-* `Microsoft.AspNetCore.HostFiltering`: Hosts allowed and denied by the host filtering middleware.
-* `Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware`: Logs related to the host filtering middleware, including allowed and denied hosts.
-* `Microsoft.AspNetCore.HostFiltering.HostFilteringOptions`: Logs concerning options for the HostFiltering middleware.
+* `Microsoft.AspNetCore.HostFiltering`: Hosts allowed and denied by the host-filtering middleware.
+* `Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware`: Logs related to the host-filtering middleware, including allowed and denied hosts.
+* `Microsoft.AspNetCore.HostFiltering.HostFilteringOptions`: Logs concerning options for the host-filtering middleware.
Hosting
diff --git a/aspnetcore/fundamentals/middleware/index.md b/aspnetcore/fundamentals/middleware/index.md
index e817daf8801b..57e079d92849 100644
--- a/aspnetcore/fundamentals/middleware/index.md
+++ b/aspnetcore/fundamentals/middleware/index.md
@@ -1,5 +1,5 @@
---
-title: ASP.NET Core Middleware
+title: ASP.NET Core middleware
ai-usage: ai-assisted
author: tdykstra
description: Learn about ASP.NET Core middleware and the request pipeline.
@@ -9,7 +9,7 @@ ms.custom: mvc
ms.date: 06/09/2026
uid: fundamentals/middleware/index
---
-# ASP.NET Core Middleware
+# ASP.NET Core middleware
[!INCLUDE[](~/includes/not-latest-version.md)]
@@ -124,7 +124,7 @@ In the app's console window when the app is run:
> :::no-loc text="Work that doesn't write to the response. (2)":::
> :::no-loc text="Work that doesn't write to the response. (1)":::
-*Short-circuiting* the request pipeline is often desirable because it avoids unnecessary work. For example, [Static File Middleware](xref:fundamentals/static-files) can act as a *terminal middleware* by processing a request for a static file and short-circuiting the rest of the pipeline. Middleware added to the pipeline before the terminal middleware still processes code after their `next.Invoke` statements. If you don't plan to call `next.Invoke` because your goal is to terminate the pipeline, use a [`Run` delegate](#run-delegate) instead of calling the extension method.
+*Short-circuiting* the request pipeline is often desirable because it avoids unnecessary work. For example, [static file middleware](xref:fundamentals/static-files) can act as a *terminal middleware* by processing a request for a static file and short-circuiting the rest of the pipeline. Middleware added to the pipeline before the terminal middleware still processes code after their `next.Invoke` statements. If you don't plan to call `next.Invoke` because your goal is to terminate the pipeline, use a [`Run` delegate](#run-delegate) instead of calling the extension method.
Don't call `next.Invoke` during or after the response is sent to the client. After an