Go 1.27의 net/http.Transport는 HTTP/1 응답 본문을 닫을 때 남은 데이터를 비동기로 최대 256KiB 또는 50ms까지 읽어 연결 재사용을 시도한다. 이전에는 상태 코드만 확인하거나 JSON 뒤 개행을 남기면 연결을 버릴 수 있었다. 공식 예제의 100회 요청은 약 710ms에서 150ms로 줄었지만 특정 환경의 측정이다. 구현 논의도 큰 본문과 느린 스트림을 위한 한도를 설명한다. 개발자는 본문을 계속 닫아야 하며 이 최적화가 모든 요청의 재사용이나 동일한 속도 향상을 보장하지는 않는다.
Tech로 돌아가기
Tech
Go 1.27, 응답 본문을 닫을 때 HTTP 연결 재사용 개선
남은 본문을 무제한으로 읽는 대신 바이트와 시간 한도를 적용하며, HTTP/2에는 같은 문제가 없다.