네트워킹을 위한 런타임 구성 옵션Run-time configuration options for networking

HTTP/2 프로토콜HTTP/2 protocol

  • HTTP/2 프로토콜 지원을 사용할지 여부를 구성합니다.Configures whether support for the HTTP/2 protocol is enabled.

  • .NET Core 3.0에서 도입되었습니다.Introduced in .NET Core 3.0.

  • .NET Core 3.0만 해당: 이 설정을 생략하면 HTTP/2 프로토콜에 대한 지원을 사용할 수 없습니다..NET Core 3.0 only: If you omit this setting, support for the HTTP/2 protocol is disabled. 이는 값을 false로 설정하는 것과 같습니다.This is equivalent to setting the value to false.

  • .NET Core 3.1 및 .NET 5 이상: 이 설정을 생략하면 HTTP/2 프로토콜에 대한 지원을 사용할 수 있습니다..NET Core 3.1 and .NET 5+: If you omit this setting, support for the HTTP/2 protocol is enabled. 이는 값을 true로 설정하는 것과 같습니다.This is equivalent to setting the value to true.

설정 이름Setting name Values
runtimeconfig.jsonruntimeconfig.json System.Net.Http.SocketsHttpHandler.Http2Support false - 사용 안 함false - disabled
true - 사용true - enabled
환경 변수Environment variable DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2SUPPORT 0 - 사용 안 함0 - disabled
1 - 사용1 - enabled

UseSocketsHttpHandlerUseSocketsHttpHandler

설정 이름Setting name Values
runtimeconfig.jsonruntimeconfig.json System.Net.Http.UseSocketsHttpHandler true - SocketsHttpHandler를 사용하도록 설정true - enables the use of SocketsHttpHandler
false - Windows의 경우 WinHttpHandler를 사용하고 Linux의 경우 libcurl을 사용할 수 있습니다.false - enables the use of WinHttpHandler on Windows or libcurl on Linux
환경 변수Environment variable DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER 1 - SocketsHttpHandler를 사용하도록 설정1 - enables the use of SocketsHttpHandler
0 - Windows의 경우 WinHttpHandler를 사용하고 Linux의 경우 libcurl을 사용할 수 있습니다.0 - enables the use of WinHttpHandler on Windows or libcurl on Linux

참고

.NET 5부터 System.Net.Http.UseSocketsHttpHandler 설정을 더 이상 사용할 수 없습니다.Starting in .NET 5, the System.Net.Http.UseSocketsHttpHandler setting is no longer available.

Latin1 헤더(.NET Core 3.1만 해당)Latin1 headers (.NET Core 3.1 only)

  • 이 스위치를 사용하면 HTTP 헤더 유효성 검사를 완화할 수 있으므로 SocketsHttpHandler가 헤더에서 ISO-8859-1(Latin-1)로 인코딩된 문자를 보낼 수 있습니다.This switch allows relaxing the HTTP header validation, enabling SocketsHttpHandler to send ISO-8859-1 (Latin-1) encoded characters in headers.

  • 이 설정을 생략하면 ASCII가 아닌 문자를 보내려고 하면 HttpRequestException이 발생합니다.If you omit this setting, an attempt to send a non-ASCII character will result in HttpRequestException. 이는 값을 false로 설정하는 것과 같습니다.This is equivalent to setting the value to false.

설정 이름Setting name Values
runtimeconfig.jsonruntimeconfig.json System.Net.Http.SocketsHttpHandler.AllowLatin1Headers false - 사용 안 함false - disabled
true - 사용true - enabled
환경 변수Environment variable DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_ALLOWLATIN1HEADERS 0 - 사용 안 함0 - disabled
1 - 사용1 - enabled

참고

이 옵션은 이전 또는 이후 버전이 아니라 버전 3.1.9 이후 .NET Core 3.1에서만 사용할 수 있습니다.This option is only available in .NET Core 3.1 since version 3.1.9, and not in previous or later versions. .NET 5에서는 RequestHeaderEncodingSelector를 사용하는 것이 좋습니다.In .NET 5 we recommend using RequestHeaderEncodingSelector.