EarlyData
Fiber용 Early Data 미들웨어는 TLS 1.3의 early data("0-RTT") 기능을 지원합니다.
RFC 8446을 인용하면, 클라이언트와 서버가 PSK를 공유할 때 TLS 1.3은 클라이언트가 요청 속도를 높이기 위해 첫 번째 플라이트("early data")에서 데이터를 보낼 수 있도록 허용하여 일반적인 1-RTT 요청을 0-RTT 요청으로 효과적으로 줄입니다.
이 미들웨어를 사용하기 전에 클라이언트의 거짓 HTTP 요청 헤더를 신뢰하지 않도록 fiber의 EnableTrustedProxyCheck
구성 옵션을 활성화해야 합니다.
또한 리버스 프록시(예: nginx, ssl_early_data on;
으로 간단히 수행)에서 early data 지원을 활성화하면 요청을 재생할 수 있습니다. 계속하기 전에 다음 문서를 참조하십시오:
기본적으로 이 미들웨어는 안전한 HTTP 요청 메서드에 대해서만 early data 요청을 허용하고 그렇지 않으면 요청을 거부합니다. 즉, 핸들러를 실행하기 전에 요청을 중단합니다. 이 동작은 AllowEarlyData
구성 옵션으로 제어할 수 있습니다.
안전한 HTTP 메서드(GET
, HEAD
, OPTIONS
, TRACE
)는 서버의 상태를 수정해서는 안 됩니다.
Signatures
Examples
Fiber 웹 프레임워크의 일부인 미들웨어 패키지를 가져옵니다.
Fiber 앱을 초기화한 후 다음과 같은 방법을 사용할 수 있습니다:
Config
Next
func(*fiber.Ctx) bool
Next는 true를 반환할 때 이 미들웨어를 건너뛰는 함수를 정의합니다.
nil
IsEarlyData
func(*fiber.Ctx) bool
IsEarlyData는 요청이 early-data 요청인지 여부를 반환합니다.
"Early-Data" 헤더가 "1"과 같은지 확인하는 함수
AllowEarlyData
func(*fiber.Ctx) bool
AllowEarlyData는 early-data 요청을 허용할지 거부할지 여부를 반환합니다.
안전하지 않은 경우 거부하고 안전한 메서드는 허용하는 함수
Error
error
early-data 요청이 거부되는 경우 Error가 반환됩니다.
fiber.ErrTooEarly
Default Config
Constants
Last updated