![Azure DevOps 서버 2020 및 http/2](https://rvso.com/image/768912/Azure%20DevOps%20%EC%84%9C%EB%B2%84%202020%20%EB%B0%8F%20http%2F2.png)
http를 설정했어요에스Azure DevOps Server 2020.0.1에서 IIS가 http/2를 통해 웹 사이트를 제공하기를 원합니다. Chromium 기반 브라우저(Chrome, Edge)로 웹사이트를 탐색할 때 모든 콘텐츠는 http/1.1을 통해 제공됩니다. Firefox로 탐색할 때 웹사이트의 정적 콘텐츠는 http/2를 통해 제공되고 API 생성 콘텐츠는 http/1.1을 통해 제공됩니다.
언급된 모든 브라우저의 모든 콘텐츠가 http/2를 통해 제공되기를 원합니다. 그게 가능합니까?
OS는 윈도우 서버 2016입니다.
답변1
모든 IIS 기능이 HTTP/2에 활성화되어 있는 것은 아니므로 때로는 브라우저가 HTTP 1.1을 통해서만 연결할 수 있습니다. Microsoft는 시나리오를 다음과 같이 문서화합니다.이것,
HTTP/2가 지원되지 않는 경우는 언제입니까?
어떤 경우에는 HTTP/2를 다른 기능과 함께 사용할 수 없습니다. 이러한 상황에서 Windows는 HTTP/1.1로 대체되어 트랜잭션을 계속합니다. 여기에는 핸드셰이크 중에 HTTP/1.1을 협상하거나 클라이언트에 HTTP/1.1 연결을 통해 재시도하도록 지시하는 오류 코드를 보내는 것이 포함될 수 있습니다.
- Windows 인증(NTLM/Kerberos/Negotiate)은 HTTP/2에서 지원되지 않습니다. 이 경우 IIS는 HTTP/1.1로 대체됩니다.
- 일반 텍스트 - 위에서 언급한 것처럼 IIS는 현재 TLS를 통한 HTTP/2만 지원합니다. 이번에도 IIS는 HTTP/1.1로 대체됩니다.
- 대역폭 조절 - IIS에는 대역폭을 제한하는 기능이 있습니다(Inetmgr의 작업 창 구성에서 '제한' 사이트 선택). 이는 HTTP/1.1에 적용되지만 HTTP/2에는 적용되지 않습니다(오류나 대역폭 제한 없이 진행됩니다).
답변2
이것이 "Chrome이 http/1.1 퀘스트를 사용하는 이유"에서 찾은 내용입니다. 크롬이 http/1.1로 돌아가는 것은 알려진 버그인 것 같습니다.
https://bugs.chromium.org/p/chromium/issues/detail?id=832586