HTTP/2.0을 지원하는지 확인하는 방법 3번째로 curl 명령어가 있다. (과거 포스팅자료에서 잠시 등장한적이 있다)
윈도우를 사용하는 경우에는 curl명령어를 다운받아야한다. 이 글은 윈도우 기준으로 작성한다. (다른 OS라고 크게 다르지 않다)
리눅스, 맥OS는 기본적으로 설치되어있다
파이썬 아나콘다를 설치한 경우 아나콘다에 curl이 포함되어있어서 별도의 다운로드가 필요 없을수도있다.
RFC7540문서에는 HTTP/2.0을 지원하기 위한 조건에 http://, https:// 두가지 모두 지원한다고 나와있다.
하지만, 우리가 사용하는 대부분의 브라우저에서 http://, HTTP/2.0 의 조합을 지원하지 않는다.
현실적으로 HTTP/2.0을 사용하기 위해선 https://로 통신해야 한다고 생각하면된다.
https://로 통신하기 위해선 인증서가 필요하다. 그러므로 curl 명령어를 위한 인증서도 준비되어 있어야한다.
curl, 인증서는 아래 링크를 통한 사이트에서 받을 수 있다.
http://winampplugins.co.uk/curl/
해당 사이트에서 32bit or 64bit 본인에게 맞는것을 다운로드 하고 압축을 풀면 인증서와 curl이 나온다.
두 파일을 C:\Windows\System32안에 넣어주면 된다.
현재 PC에 curl이 설치되어 있는지 확인하기 위해선
1. window + r을 눌러서 실행을 킨다
2. cmd를 입력한다
3. curl -V 를 입력한다 (V는 대문자이다)
다음과 같이 나오면 curl이 다운로드 된 상태이다.
이 curl의 옵션을 이용해서 우리는 HTTP/2.0 지원 여부를 확인할 수 있다.
(버전이 낮은 경우에는 이 옵션이 없을수 있으니 최신 버전으로 설치할것을 권장한다.)
curl -I --http2 URL -> 이 옵션을 통해서 확인이 가능하다.
-I (대문자 i)는 header를 보는 옵션이다.
--http2는 http/2.0으로 통신하기위한 옵션이다. (정확히는 header의 필드값을 추가시켜준다)
URL부분에 우리가 목표로할 사이트의 주소를 넣어주면 된다.
http://nghttp2.org 사이트를 대상으로 위 옵션을 적용해서 실행해보면
다음과 같이 노란박스 안에 HTTP/2로 나온다.
그런데 위에 HTTP/1.1 101 Switching Protocols가 먼저 응답을 했다.
이번엔 https://nghttp2.org로 테스트를 해보면 (아까와 차이점은 http , https의 차이이다)
역시 해당 사이트는 HTTP/2.0을 지원하므로 1.1이 아닌 2.0버전으로 통신하는게 보인다.
하지만 101 스위칭 프로토콜 부분은 보이지 않는다.
이 부분에 대해선 RFC7540문서에서 다음을 참조하기 바란다.
3.2. Starting HTTP/2 for "http" URIs
3.3. Starting HTTP/2 for "https" URIs
'HTTP2.0' 카테고리의 다른 글
HTTP/2.0 기본, 헤더 압축 (0) | 2016.10.16 |
---|---|
#4 http2 지원여부 확인 (keycdn) (0) | 2016.10.16 |
#2 http2 지원여부 확인 (개발자 도구) (0) | 2016.10.09 |
#1 http2 지원여부 확인 (HTTP/2 and SPDY indicator) (0) | 2016.10.09 |
#2. HTTP/1.1에서 HTTP/2.0 (https인 경우) (0) | 2016.09.26 |