2016-08-12 3 views
2

대부분의 브라우저는 페이지를로드하는 데 http/2를 지원하지만 이는 XmlHttpRequest를 사용하여 API 호출을 할 때 활용할 수 있다는 것을 알고 있습니까?자바 스크립트에서 API 호출을 만들려면 HTTP/2를 사용하십시오.

더 구체적으로 내 질문은 XmlHttpRequest를 사용하여 데이터를 가져 오기 위해 2 통화를하면 둘 다 동일한 TCP 연결을 사용할 수 있습니까? 내가 읽은 문서 중 XmlHttpRequest에 대한 http2 지원에 대한 설명이 없거나 명시 적으로 http2 연결을 열 수있는 방법이 무엇인지 명시하지 않은 경우이 호출을 활용하여 연결을 닫습니다.

java의 okHttp, jetty 및 기타 라이브러리는이를 지원하는 클라이언트 라이브러리를 제공합니다. 하지만 자바 스크립트 지원은 명확하지 않습니다.

답변

5

브라우저와 서버가 모두 HTTP/2를 지원하면 XHR을 포함하여 브라우저의 모든 호출에 사용됩니다. 이 기능을 사용하려면 자바 스크립트에서 특별한 작업을 수행 할 필요가 없습니다. 이것은 HTTP/2가 구현 된 방식에 대한 훌륭한 점 중 하나입니다.

당신이 연결을 다시 사용하려는 당신이 오픈 개최되는 방법 연결을 보장하기 위해 요청하는 경우 다음 http/2 spec는 말한다 :

HTTP/2 연결이 지속됩니다. 최상의 성능을 위해 이 서버와 더 이상의 통신이 필요하지 않을 때까지 클라이언트가 연결을 닫지 않을 것이라고 은 예상합니다. (예 : 사용자가 특정 웹 페이지에서 이동할 때) 또는 서버가 닫힐 때까지 연결.

...

서버는 한 가능한 오픈 연결을 유지하는 것이 좋습니다하지만 필요한 경우 유휴 연결을 종료하는 것이 허용된다.

+0

브라우저가 tcp 연결을 영원히 열어 두지 않는다고 생각합니다. tcp 연결을 언제 열고 닫아야하는지 어떻게 알 수 있습니까? 그게 내가 그 지원을 의심하는 이유입니다. –

+0

이론을 뒷받침하는 문서가 있다면 도움이 될 것입니다. 나는 어떤 것도 발견 할 수 없었다. –

+0

내가 찾은 세부 정보를 포함하도록 답변을 업데이트했습니다. http/1.1 연결에서 keep-alives와 어떻게 작동하는지에 대해 어떻게 다른지 확신 할 수는 없지만, 왜 당신이 묻고있는 질문에 대한 후속 조치라고 묻는 지 정확히 알지 못합니까? –