<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>전지적 개발자 시점</title>
    <link>https://http2.tistory.com/</link>
    <description>HTTP/2.0</description>
    <language>ko</language>
    <pubDate>Thu, 20 Aug 2026 03:11:29 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>GET /admin</managingEditor>
    <image>
      <title>전지적 개발자 시점</title>
      <url>https://t1.daumcdn.net/cfile/tistory/254D183A580AE1CC30</url>
      <link>https://http2.tistory.com</link>
    </image>
    <item>
      <title>python 2, 3 동시에 사용하기 (Windows)</title>
      <link>https://http2.tistory.com/19</link>
      <description>&lt;p&gt;글쓴이는 python 3.5를 매우매우 잘 사용하는중에 python 2.7버전도 사용할 필요성을 느껴서 (글 작성일 기준 OpenCV는 python 2.7까지만 지원) python 2.7과 python 3.5버전을 둘 다 사용하는 방법에 대해서 포스팅하려합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;저는 기존 local에 python 3.5버전이 먼저 설치되어 있었고 CMD에서 &quot;python&quot;을 입력할 경우 다음과 같이 출력됩니다.&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1024px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/271A5C34588DD6453D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F271A5C34588DD6453D&quot; width=&quot;1024&quot; height=&quot;138&quot; filename=&quot;test.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;python 3.5.2버전이 설치되어 있다고 나오네요.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;글쓴이가 원하는것은&lt;/p&gt;&lt;p&gt;&lt;b&gt;&quot;python&quot;&lt;/b&gt; 명령어를 이용해서 &lt;b&gt;python 3 버전을 사용&lt;/b&gt;하고,&lt;/p&gt;&lt;p&gt;&lt;b&gt;&quot;python2&quot;&lt;/b&gt; 명령어를 이용해서 &lt;b&gt;python 2 버전을 사용&lt;/b&gt;하는것 입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;다음과같이 말이죠.&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1024px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/223D4233588DD72F18&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F223D4233588DD72F18&quot; width=&quot;1024&quot; height=&quot;206&quot; filename=&quot;test.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;먼저 시스템엔 python3이 설치되어있다고 가정하겠습니다. &lt;span style=&quot;font-size: 10pt;&quot;&gt;(물론 환경변수도 설정되어 있어야 CMD창에서 python을 입력시 python 3가 실행되겠죠?)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;그리고 python.org에서 python 2.7버전도 설치합니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;설치 과정은 그냥 '다음', '다음' 쭉 누르면서 설치합니다. (기본 경로는 C:\python27입니다)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;아마 다른 블로그에서 python 2 버전 설치하는걸 보신분은 중간에 &quot;add to python.exe~~&quot; 이렇게 환경변수를 자동으로 추가해주는 옵션을 활성화 시키고 다운받으라고 가이드를 하는 블로그도 있지만, 여기선 그냥 무시하고 넘어감니다.&lt;/p&gt;&lt;table class=&quot;txc-table&quot; width=&quot;988&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; style=&quot;border:none;border-collapse:collapse;;font-family:&quot; 맑은=&quot;&quot; 고딕&quot;,=&quot;&quot; sans-serif;font-size:16px&quot;=&quot;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;width: 988px; height: 106px; border-width: 1px; border-style: solid; border-color: rgb(204, 204, 204);&quot;&gt;&lt;p&gt;=&amp;gt; 왜냐하면, 현재 로컬에서는 python 3가 설치되어 있기 때문에&amp;nbsp;CMD창에서 &quot;python&quot;입력 시 python 3.5가 실행이 됩니다.&lt;/p&gt;&lt;p&gt;=&amp;gt; 만약, python 3가 설치되어 있지 않다면!!! 위 &quot;add to python.exe~~&quot; 옵션을 활성화 시키고 다운받는다면 &quot;python&quot;명령어 입력시 python 2가 실행됩니다.&lt;/p&gt;&lt;p&gt;==&amp;gt; 두개의 python버전이&amp;nbsp;&lt;b&gt;같은 명령어로 실행&lt;/b&gt;을 시키기 때문에 하나 이상의 명령어를 변경해줘야합니다.&lt;/p&gt;&lt;p&gt;그러니 그냥 python 2는 환경변수로 추가하지 않습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;만약 python 3, python 2 모두 환경변수에 추가되어 있다면, 환경변수에서 값이 먼저 나오는게 우선순위를 가집니다.&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이제 로컬에는 python 3, python 2가 다 설치되어 있습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그런데 아직 CMD에서 &quot;python2&quot; 입력 시 아무것도 실행되지 않습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이 부분은 심볼릭 링크를 통해서 해결합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;CMD에서 다음과 같이 입력합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;table class=&quot;txc-table&quot; width=&quot;988&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; style=&quot;border:none;border-collapse:collapse;;font-family:&quot; 맑은=&quot;&quot; 고딕&quot;,=&quot;&quot; sans-serif;font-size:16px&quot;=&quot;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;width:988;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;border-left:1px solid #ccc;;&quot;&gt;&lt;p&gt;mklink C:\Windows\python2.exe C:\python27\python.exe&amp;nbsp;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;위 명령어는&lt;/p&gt;&lt;p&gt;&lt;b&gt;mklink&lt;/b&gt; : 링크를 만들건데&lt;/p&gt;&lt;p&gt;&lt;b&gt;C:\Windows\python2.exe&lt;/b&gt; : &amp;nbsp;여기다가 만들거야&lt;/p&gt;&lt;p&gt;&lt;b&gt;C:\python27\python.exe&lt;/b&gt; : 이 파일의 링크를&lt;/p&gt;&lt;p&gt;라고 이해하시면 되겠습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;가운데 python2.exe라고 되는 부분이 CMD에서의 명령어입니다. &lt;span style=&quot;font-size: 10pt;&quot;&gt;(해당부분을 &quot;py2.exe&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;라고 변경하면 CMD에서 py2라고 입력해서 실행이 되겠죠??)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;여기까지 하셨다면 python을 입력해서 3버전을, python2를 입력해서 2버전을 실행 할 수 있습니다.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;그리고 또 하나. &lt;b&gt;pip&lt;/b&gt;가 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;기본 pip명령어는 python 3버전에서 사용하고 있을겁니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그리고 python 2에서 사용하는 pip는 C:\python27\Scripts에 위치합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그럼 다음과 같은 위치로 이동해보면&lt;/p&gt;&lt;p&gt;C:\python27\Scripts&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;폴더안에 pip.exe, pip2.exe, pip2.7.exe 등이 존재합니다.&lt;/p&gt;&lt;p&gt;&quot;python2&quot;라고 입력해서 python 2가 실행되는데 pip도 pip2로 입력을 하면 실행되게 하면 좋겠네요.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이 부분은 환경변수로 직접 가서 추가시켜줍니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;1. 윈도우키 + R을 누르면 실행창이 나옵니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2. &quot;sysdm.cpl&quot;을 입력합니다. (시스템 속성이 뜰겁니다)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;3. &quot;고급&quot;텝으로 이동합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;4. 하단 &quot;환경 변수&quot;를 클릭합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 385px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/23050035588DDF6232&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F23050035588DDF6232&quot; width=&quot;300&quot; height=&quot;385&quot; filename=&quot;test.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 385px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;5. &quot;Path&quot;라는 변수를 찾고 &quot;편집&quot;을 누릅니다.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;6. &quot;새로 만들기&quot;를 클릭해서 &quot;c:\python27\Scripts&quot;를 입력합니다.&lt;/p&gt;&lt;p&gt;(새로 만들기를 통해서 입력할경우 환경변수 가장 하단에 위치할것입니다. 여기서 &quot;c:\python27\Scripts&quot; 값을 상단에 위치시킬&amp;nbsp;경우 pip명령어가 python 2 버전의 pip로 실행될것입니다.)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;7. 확인을 누르고 종료합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이제 CMD에서 다음과 같은 결과를 확인 할 수 있을것입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1024px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/270DC53D588DE1430B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F270DC53D588DE1430B&quot; width=&quot;1024&quot; height=&quot;137&quot; filename=&quot;test.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;이제 pip2 명령어를 통해서 python 2버전의 패키지를 다운받을 수 있습니다.&lt;/p&gt;</description>
      <category>etc.</category>
      <category>python2</category>
      <category>Python3</category>
      <category>windows python2</category>
      <category>windows python3</category>
      <author>GET /admin</author>
      <guid isPermaLink="true">https://http2.tistory.com/19</guid>
      <comments>https://http2.tistory.com/19#entry19comment</comments>
      <pubDate>Sun, 29 Jan 2017 21:34:21 +0900</pubDate>
    </item>
    <item>
      <title>Python2.7에서 OpenCV 설치하기 (Windows)</title>
      <link>https://http2.tistory.com/18</link>
      <description>&lt;p&gt;이 글은 &lt;b&gt;Windows&lt;/b&gt; 환경에서 &lt;b&gt;Python 2.7.x&lt;/b&gt;버전의 환경에서 &lt;b&gt;OpenCV를 설치하는 방법&lt;/b&gt;에 대해서 &lt;b&gt;매우 간단히&lt;/b&gt; 서술합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;OpenCV를 사용하기 위해서는 다음과 같은 두가지 패키지가 필요합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;1. Numpy&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;2. Matplotlib&lt;/b&gt; &lt;span style=&quot;font-size: 8pt;&quot;&gt;(이 패키지는 옵션입니다. 하지만, OpenCV를 사용함에 있어서&lt;/span&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;&amp;nbsp;필수적으로 사용될것이므로 다운받는걸 추천합니다)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;위 두 패키지는 pip명령어를 통해서 쉽게 다운받을 수 있습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이제 &lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;OpenCV&lt;/span&gt;&lt;/b&gt;를 다운받아야합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://opencv.org/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://opencv.org/&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1024px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2117EF44588CB98134&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2117EF44588CB98134&quot; width=&quot;1024&quot; height=&quot;510&quot; filename=&quot;temp.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;위 사이트로 이동해서 Windows용 OpenCV를 설치합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;설치하면 .exe 파일이 생기는데 해당 파일 더블 클릭해서 압축을 풀어주면 됩니다. (그냥 다음, 다음 쭉 누르시면 됩니다)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그러면 &quot;opencv&quot; 라는 폴더가 생깁니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;opencv폴더에서 다음과 같은 경로로 이동합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;opencv\build\python\2.7\x86&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;(설치하는 PC가 64bit라고한다해도 32bit로 설치해야합니다.&lt;/p&gt;&lt;p&gt;왜냐하면, Numpy 패키지가 공식적으론 64bit는 없고 32bit만 존재하기 때문입니다.)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;해당 위치까지 접근하면 다음과 같은 파일이 있습니다.&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 974px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/213D9740588CBB0630&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F213D9740588CBB0630&quot; width=&quot;974&quot; height=&quot;310&quot; filename=&quot;temp.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;해당 파일을 복사해서 본인의 python2.7경로로 이동하고, 다음과 같은 폴더에 접근합니다.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Python27 -&amp;gt; Lib -&amp;gt;site-packages&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;(글쓴이 같은 경우 python27을 디폴트값에 설치를 했기때문에 아래와 같은 경로에 존재합니다.&lt;/p&gt;&lt;p&gt;&lt;b&gt;C:\Python27\Lib\site-packages&lt;/b&gt; )&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;복사한 파일을 이 경로에 그대로 붙여넣기하면 됩니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그리고 python을 열어서&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;다음과 같은 코드를 실행해보면,&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;import cv2&lt;/p&gt;&lt;p&gt;print cv2.__version__&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1024px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/27468B42588CBCB128&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F27468B42588CBCB128&quot; width=&quot;1024&quot; height=&quot;128&quot; filename=&quot;temp.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;OpenCV가 잘 설치된것을 확인 할 수 있습니다.&lt;/p&gt;</description>
      <category>etc.</category>
      <category>OpenCV</category>
      <category>opencv python</category>
      <category>Python</category>
      <category>python2.7</category>
      <category>python27</category>
      <category>windows</category>
      <author>GET /admin</author>
      <guid isPermaLink="true">https://http2.tistory.com/18</guid>
      <comments>https://http2.tistory.com/18#entry18comment</comments>
      <pubDate>Sun, 29 Jan 2017 00:52:48 +0900</pubDate>
    </item>
    <item>
      <title>스피커 출력을 마이크 입력으로</title>
      <link>https://http2.tistory.com/17</link>
      <description>&lt;p&gt;아마도 인터넷 개인방송을 보신분들은 방송 진행자가 &lt;b&gt;마이크로 말하는 목소리&lt;/b&gt;와 방송을 진행하는 &lt;b&gt;PC에서 나오는 노래? 게임소리?&lt;/b&gt; 같은걸 들어보신적 있을겁니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;후자의 경우가 스피커로 출력되야할 부분을 다시 입력으로 넣는 방법입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;아마 가장 대중적인 방법은 &quot;&lt;b&gt;STEREO MIX&lt;/b&gt;&quot;를 이용한 방법으로 윈도우 우측 하단에 스피커를 우클릭해서... 녹음장치 들어가서 블라블라...&lt;/p&gt;&lt;p&gt;뭐 이런방법일거에요. (이건 인터넷에 스테레오믹스 치면 나와요)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그리고 또 하나의 방법이자 이 포스팅에서 다룰건&lt;/p&gt;&lt;p&gt;&lt;b&gt;Virtual Audio Cable.&lt;/b&gt;&lt;/p&gt;&lt;p&gt;이 방법은 STEREO MIX가 없을경우 사용하시면 됩니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;STEREO MIX가 없는경우는 두가지로 나뉩니다. 드라이버가 구식이거나 없는경우와 현재 제가 사용하는 labtop처럼 H/W에서 지원하지 않는경우입니다..뭐 다른경우도 있을수있고요... &lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93);&quot;&gt;(현재 글쓴이는 Thonkpad X1 carbon 3gen모델을 사용중입니다.)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;제 labtop 모델은 사운드카드 드라이버를 다시 깔고 업그레이드하고 지지고 볶아도 STEREO MIX가 안나옵니다. H/W에서 지원하지 않거든요.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그래서 Virtual Audio Cable을 사용합니다.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://software.muzychenko.net/eng/vac.htm&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://software.muzychenko.net/eng/vac.htm&lt;/a&gt;&lt;/p&gt;&lt;p&gt;이 사이트에 접속하시면 아래로 내려가시면 Download있습니다.&lt;/p&gt;&lt;p&gt;다운로드 받고 안에 setup파일 본인 pc 비트수에 맞춰서 다운받으시고&lt;/p&gt;&lt;p&gt;우측 하단에 &quot;스피커/헤드폰&quot;을 우클릭하고 녹음장치 들어가보시면 아래 사진같이 나올겁니다.&lt;/p&gt;&lt;p&gt;저기 line1을 사용함으로 두고, 상단 탭에서 재생으로 이동해서 같은 line1을 사용함으로 하면 PC에 출력이 입력으로 들어오게됩니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;물론 사용 안할때는 아래 사진처럼 사용안함으로 해주시고요.&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 663px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2119344D5844F3DD0F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2119344D5844F3DD0F&quot; width=&quot;663&quot; height=&quot;847&quot; filename=&quot;mic.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이걸 이용하면 아래 링크 글에 적어놓은 Google WEB speech API를 PC 사운드 출력으로 테스트할수 있습니다.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://http2.tistory.com/16&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://http2.tistory.com/16&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;여기서 2번째 Web speech API사이트가서 마이크 클릭하고 YOUTUBE나 인강같은거 실행시키면 해당 동영상 사운드를 입력받아 Text로 출력해줍니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;-끝-&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;</description>
      <category>etc.</category>
      <category>stereo mix</category>
      <category>thinkpad x1 carbon</category>
      <category>virtual audio cable</category>
      <category>X1</category>
      <category>x1 carbon</category>
      <author>GET /admin</author>
      <guid isPermaLink="true">https://http2.tistory.com/17</guid>
      <comments>https://http2.tistory.com/17#entry17comment</comments>
      <pubDate>Mon, 5 Dec 2016 14:03:52 +0900</pubDate>
    </item>
    <item>
      <title>STT 맛보기</title>
      <link>https://http2.tistory.com/16</link>
      <description>&lt;p&gt;&lt;b&gt;STT&lt;/b&gt;는 Speech To Text의 약자로, ASR(&lt;span style=&quot;color: rgb(84, 84, 84); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, arial, sans-serif; font-size: small;&quot;&gt;Automatic Speech Recognition&lt;/span&gt;)라고도 부릅니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;사람이 음성으로 말을하면 그것을 듣고 Text로 결과를 보여줍니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이 반대는 TTS로 Text to Speech의 약자로, Text를 컴퓨터가 읽는것이라고 생각하면됩니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;글쓴이가 아는 STT를 서비스를 하는곳은 구글, IBM, 네이버?, 삼성의 갤럭시... MS 오피스도 지원이 됩니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;구글, 네이버, 갤럭시는 한국어를 지원하고,,,, IBM은 아직까진 한국어를 지원하지 않습니다.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;글로만 배우니 1도 모르겠다....나도 해보고싶다....지금 당장.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;&lt;b&gt;1.&lt;/b&gt;&lt;/span&gt; 가장 쉽게 접하는 방법은 만약 본인의 핸드폰이 갤럭시라면 &quot;음성녹음&quot; 앱으로 들어가서 &quot;음성 메모&quot;를하면 녹음하고있는걸 Text로 만들어줍니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;&lt;b&gt;2.&lt;/b&gt;&lt;/span&gt; 구글에서 서비스하는 &lt;b&gt;Web Speech API&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.google.com/intl/en/chrome/demos/speech.html&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://www.google.com/intl/en/chrome/demos/speech.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;위 링크는 해당 서비스 경로.(크롬에서 실행하세요) 한국어를 선택하고 블라블라 말하면 Text로 변환해준다. 이 역시도 5분이 지나면 자동으로 마이크 버튼이 비활성화 되면서 꺼집니다.&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1024px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2441674E5844EB771D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2441674E5844EB771D&quot; width=&quot;1024&quot; height=&quot;430&quot; filename=&quot;web.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;3.&lt;/span&gt;&lt;/b&gt; 역시 구글...에서 서비스하는 Cloud Speech API.&lt;/p&gt;&lt;p&gt;DEMO로 30초까지 간략한 내용을 변환해볼수있습니다.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://cloud.google.com/speech/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://cloud.google.com/speech/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1024px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/267A6A495844EBFA02&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F267A6A495844EBFA02&quot; width=&quot;1024&quot; height=&quot;576&quot; filename=&quot;te.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;-끝-&lt;/span&gt;&lt;/p&gt;</description>
      <category>STT (Speech To Text)</category>
      <category>ASR</category>
      <category>automatic speech recognition</category>
      <category>speech api</category>
      <category>Speech To Text</category>
      <category>STT</category>
      <category>test to speech</category>
      <category>TTS</category>
      <author>GET /admin</author>
      <guid isPermaLink="true">https://http2.tistory.com/16</guid>
      <comments>https://http2.tistory.com/16#entry16comment</comments>
      <pubDate>Mon, 5 Dec 2016 13:35:51 +0900</pubDate>
    </item>
    <item>
      <title>#2 HTTP/1.1 vs HTTP/2.0</title>
      <link>https://http2.tistory.com/15</link>
      <description>&lt;p&gt;어제 HTTP/1.1과 HTTP/2.0을 핑덤을 이용해서 비교하는 포스팅을 했다. (어제 포스팅 :&amp;nbsp;&lt;a href=&quot;http://http2.tistory.com/14&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://http2.tistory.com/14&lt;/a&gt;)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;HTTP/2.0의 load time이 더 빠른 결과를 보여주긴 했지만, 어떠한 경우에는(사이트 규모가 작은경우) 그 차이를 체감하기 어려웠고,&amp;nbsp;page size, request 숫자의 차이 등으로 &lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;100%&lt;/span&gt;&lt;/b&gt; 같은 환경에서 테스트해본것은 아니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(140, 140, 140);&quot;&gt;HTTP/2.0이 빠르다는건 알겠는데 조금 찝찝한부분이있긴하다...&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그래서 어제의 포스팅보다 조금 더 확신을 가질만한 사이트를 가져왔다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;(매달 데이터가 부족한 스마트폰 사용자는 이 포스팅만 봐도 충분하니 접속하는걸 권하진 않는다)&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a href=&quot;http://www.httpvshttps.com/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://www.httpvshttps.com/&lt;/a&gt; &lt;/b&gt;&amp;lt;- 이 사이트이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;또한, 브라우저에서 HTTP/2.0을 지원하지 않을수도있다(대부분의 브라우저가 지원하긴 하지만,,)&lt;/p&gt;&lt;p&gt;브라우저가 HTTP/2.0의 지원하는지는&amp;nbsp;&lt;a href=&quot;http://caniuse.com/#search=http2&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://caniuse.com/#search=http2&lt;/a&gt; 여기서 확인하기 바란다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;먼저 위 사이트를 들어가면 0.62MB의 이미지 파일을 불러오면서 시간을 체크한다.&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1024px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/256DBB4E5808C5D933&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F256DBB4E5808C5D933&quot; width=&quot;1024&quot; height=&quot;576&quot; filename=&quot;1.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt; font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;HTTP/1.1&lt;/span&gt;&lt;/b&gt;의 경우 14.7초. (여러번 시도해도 12~14초정도 나온다)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;다음은 &lt;span style=&quot;font-size: 14pt; font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&lt;b&gt;HTTP/2.0&lt;/b&gt;&lt;/span&gt;이다.&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1024px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2117FE3B5808C71924&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2117FE3B5808C71924&quot; width=&quot;1024&quot; height=&quot;576&quot; filename=&quot;2.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;1.7초로 큰 차이를 보인다. (여러번 테스트한 결과&amp;nbsp;1~ 3초정도로 나온다,,, 이렇게 차이나도 되나 싶을정도로 빠르다;;)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;HTTP와 HTTPS라고 나와서 HTTP/2.0으로 통신하는건지 확인해봤는데&amp;nbsp;&lt;span style=&quot;color: rgb(38, 38, 38); font-family: &amp;quot;Open Sans&amp;quot;, arial, sans-serif; font-size: 13.3333px; font-weight: bold; white-space: nowrap;&quot;&gt;HTTP/2 and SPDY indicato&lt;/span&gt;&lt;span style=&quot;color: rgb(38, 38, 38); font-family: &amp;quot;Open Sans&amp;quot;, arial, sans-serif; font-size: 13.3333px; font-weight: bold; white-space: nowrap;&quot;&gt;r&lt;/span&gt;에 파란불이 들어오는것을 확인했다. -&amp;gt; HTTP/2.0으로 통신하는게 맞다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이 사이트 말고도 HTTP/1.1과 HTTP/2.0을 비교하는 다른 사이트도 있는것 같은데...&lt;/p&gt;&lt;p&gt;어떠한 이유에선지 404 not found로 뜬다.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://loadimpact.com/http2-vs-http1.1-performance&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://loadimpact.com/http2-vs-http1.1-performance&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://loadimpact.com/http2old&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://loadimpact.com/http2old&lt;/a&gt;&lt;/p&gt;&lt;p&gt;위 주소에서 찾았는데 현재 서비스는 하지 않는것같다.&lt;/p&gt;</description>
      <category>HTTP2.0</category>
      <category>http test</category>
      <category>http/1.1</category>
      <category>http/2.0</category>
      <category>HTTP1.1</category>
      <category>http2</category>
      <category>http2.0</category>
      <category>httpvshttps</category>
      <author>GET /admin</author>
      <guid isPermaLink="true">https://http2.tistory.com/15</guid>
      <comments>https://http2.tistory.com/15#entry15comment</comments>
      <pubDate>Thu, 20 Oct 2016 22:42:29 +0900</pubDate>
    </item>
    <item>
      <title>#1 HTTP/1.1 vs HTTP/2.0</title>
      <link>https://http2.tistory.com/14</link>
      <description>&lt;p&gt;지금까지 HTTP/2.0에대한 공부를하면서 이론적으로는 HTTP/1.1보다 더 빠르다는것을 배웠는데&lt;/p&gt;&lt;p&gt;실제 테스트에서도 같은 결과가 나오는지 궁금해서 실제로 1.1 버전과 2.0버전을 지원하는 사이트를 대상으로 테스트를 해봤다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;웹사이트의 성능을 측정을 도와주는 사이트는 대략적으로 이렇다.&lt;/p&gt;&lt;p&gt;1.&amp;nbsp;&lt;a href=&quot;https://tools.pingdom.com/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://tools.pingdom.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;2.&amp;nbsp;&lt;a href=&quot;https://www.webpagetest.org/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://www.webpagetest.org/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;3.&amp;nbsp;&lt;a href=&quot;https://developers.google.com/speed/pagespeed/insights/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://developers.google.com/speed/pagespeed/insights/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;4.&amp;nbsp;&lt;a href=&quot;https://gtmetrix.com/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://gtmetrix.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그리고 HTTP/1.1과 HTTP/2.0을 지원해주는 사이트를 찾아야한다. (HTTP/2.0을 지원하는 사이트는 HTTP/1.1을 거치고 2.0으로 넘어가기 때문에 HTTP/1.1을 지원한다)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;일단 잘 알고있는 nghttp2.org사이트가 두 버전 모두를 지원한다.&lt;/p&gt;&lt;p&gt;http://nghttp2.org로 접속하면 HTTP/1.1이고&lt;/p&gt;&lt;p&gt;https://nghttp2.org로 접속하면 HTTP/2.0이다. (클라이언트에서 https로 접속하고 다음에 http로 접속하면 cache때문인지&amp;nbsp;https로 접속이 된다.)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 18pt;&quot;&gt;HTTP/1.1&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;다음은 핑덤 + http://nghttp2.org의 결과이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1024px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/22555D395806E5800F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F22555D395806E5800F&quot; width=&quot;1024&quot; height=&quot;295&quot; filename=&quot;http.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 18pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 18pt;&quot;&gt;HTTP/2.0&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;그리고 핑덤 + https://nghttp2.org의 결과이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1024px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/252CEE335806E5F415&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F252CEE335806E5F415&quot; width=&quot;1024&quot; height=&quot;295&quot; filename=&quot;2.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;사이트 크기가 작아서 그런지 큰 차이는 없다.&lt;/p&gt;&lt;p&gt;(사실 이 포스팅을 하는 이유가 어제까지만해도 HTTP/2.0이 로딩속도가 2.3초정도로...1.1버전보다 느렸다. 이상하게 지금 해보니까 비슷하네;;)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;조금 더 큰 규모의 사이트를 찾아보면 (보통 쇼핑몰 사이트가 사진이 많아서 규모가 크다)&lt;/p&gt;&lt;p&gt;다음은 알렉사 TOP500에서 찾은 사이트다.&lt;/p&gt;&lt;p&gt;1.&amp;nbsp;&lt;a href=&quot;https://www.aliexpress.com/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://www.aliexpress.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;2.&amp;nbsp;&lt;a href=&quot;https://www.aliexpress.com/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://www.aliexpress.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그리고 다음은 핑덤 + 위 사이트이다.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 18pt;&quot;&gt;HTTP/1.1&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 18pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1024px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/215EF74A5806E8C312&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F215EF74A5806E8C312&quot; width=&quot;1024&quot; height=&quot;296&quot; filename=&quot;http.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 18pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 18pt;&quot;&gt;HTTP/2.0&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 18pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1024px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/24754F345806EA3732&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F24754F345806EA3732&quot; width=&quot;1024&quot; height=&quot;295&quot; filename=&quot;2.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;HTTP/2.0이 속도면에서 많이 빠르다. 사이즈는 더 커졌다...? 리퀘스트도 조금 다르다...&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;테스트 지역을 달라스로 변경하고 다시 테스트 해보면&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 18pt;&quot;&gt;HTTP/1.1&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 18pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1024px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/262186335806EC3634&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F262186335806EC3634&quot; width=&quot;1024&quot; height=&quot;296&quot; filename=&quot;http.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 18pt;&quot;&gt;HTTP/2.0&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 18pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1024px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/253995365806EC6031&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F253995365806EC6031&quot; width=&quot;1024&quot; height=&quot;294&quot; filename=&quot;2.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;리퀘스트도 조금 다르고 사이즈는 아까와 다르게 작아졌다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;속도면에서 &quot;HTTP/2.0이 HTTP/1.1보다&amp;nbsp;더 빠르다&quot; 정도만 신뢰하면 될것같다.&lt;/p&gt;</description>
      <category>HTTP2.0</category>
      <category>http 2</category>
      <category>http/1.1</category>
      <category>HTTP/2</category>
      <category>http/2.0</category>
      <category>HTTP1.1</category>
      <category>http2</category>
      <category>http2.0</category>
      <category>SPEED</category>
      <author>GET /admin</author>
      <guid isPermaLink="true">https://http2.tistory.com/14</guid>
      <comments>https://http2.tistory.com/14#entry14comment</comments>
      <pubDate>Wed, 19 Oct 2016 12:48:44 +0900</pubDate>
    </item>
    <item>
      <title>HTTP/2.0 기본, 헤더 압축</title>
      <link>https://http2.tistory.com/13</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 14pt; font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;HTTP/2.0&lt;/span&gt;의 기본 목표는 요청과 응답 &lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;멀티플렉싱&lt;/span&gt;&lt;/b&gt;을 통하여 레이턴시를 줄이고,&lt;/p&gt;&lt;p&gt;HTTP header필드를 압축하여 프로토콜 &lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;오버헤드를 최소화&lt;/span&gt;&lt;/b&gt;하며,&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;요청 우선순위&lt;/span&gt;&lt;/b&gt;와 &lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;서버푸시기능&lt;/span&gt;&lt;/b&gt;을 지원하는것이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;HTTP/2.0에는 &lt;b&gt;frame&lt;/b&gt;이라는게 존재한다.&lt;/p&gt;&lt;p&gt;frame이란 http/2.0 통신에서 사용되는 가장작은 단위를 말하며,&lt;/p&gt;&lt;p&gt;frame 2개가 합처지면 &lt;b&gt;stream&lt;/b&gt;이다. 예를들면 header frame, data frame 이 두개를 하나의 stream으로 부를 수 있다.&lt;/p&gt;&lt;p&gt;( HTTP/1.1에서&amp;nbsp; head of line blocking문제를 HTTP/2.0에서는 frame, stream으로 해결했다)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 838px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/242D1F4158036B5C28&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F242D1F4158036B5C28&quot; width=&quot;838&quot; height=&quot;566&quot; filename=&quot;1.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;사진을보면&amp;nbsp;클라이언트가 서버에게 HEADERS frame을 보낸다. (해당 요청은 &lt;b&gt;GET요청&lt;/b&gt;이라서 HEADERS frame만 존재한다)&lt;/p&gt;&lt;p&gt;그리고 괄호안에 &lt;b&gt;stream1&lt;/b&gt;이라고 나와있는데 이것은 스트림id값을 나타낸 부분이다.&lt;/p&gt;&lt;p&gt;클라이언트가 만든 스트림에 대한 id값은 1,3,5...로 홀수이고&lt;/p&gt;&lt;p&gt;서버가 만든 스트림은 2,4,6...으로 짝수가 된다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;위 경우는 클라이언트가 스트림id 1번에 대한 응답이기 때문에 서버는 스트림id 1번으로 HEADERS frame + DATA frame = 하나의 스트림으로 응답을 했다. header에는 HTTP 상태코드, 버전, 서버 등의 정보가 있고 data프레임에는 아마 우리가 ctrl+u를 누르면 보이는 소스가 있을것이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그리고 HEADERS frame에서 보면 'user-agent:' 으로 표시가 된 부분이 있고 ':path:'처럼 ':' 이 표시가 앞뒤로 있는게 있는데&lt;/p&gt;&lt;p&gt;user-agent는 HTTP/1.1, HTTP/2.0에서 쓰는 필드이고 ':'이 표시가 앞뒤로 있는것은 HTTP/2.0에서만 쓰는 필드이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;다음은 naver로&amp;nbsp;GET 요청을 캡처한 화면이다.&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1024px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2713944558036F081D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2713944558036F081D&quot; width=&quot;1024&quot; height=&quot;150&quot; filename=&quot;2.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;HTTP/1.1에서 메타데이터는 단순한 text이고 크기는 500~800바이트정도이다. (만약 쿠키가 포함된 경우 킬로바이트까지 올라간다)&lt;/p&gt;&lt;p&gt;지금처럼 naver를 요청한 상태에서&amp;nbsp;또 다른 요청을 하게되면 아마 헤더는 크게 변함이 없을것이다.&lt;/p&gt;&lt;p&gt;중복된 필드가 존재할것이고 (대표적으로 User-agent) HTTP/1.1에서는 이런 중복된 데이터를 다시 보낸다.&lt;/p&gt;&lt;p&gt;하지만&amp;nbsp;&lt;b&gt;HTTP/2.0에서는 중복전송하지 않는 방식으로 header를 압축&lt;/b&gt;한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;다음은 HTTP/2.0에서 요청화면이다.&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 831px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/217B0E3F580371A51A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F217B0E3F580371A51A&quot; width=&quot;831&quot; height=&quot;441&quot; filename=&quot;3.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;첫번째 요청에서는 6개의&amp;nbsp;필드를&amp;nbsp;보냈고, 두번째 요청에서는 중복되는 5개는 제외하고 1개의 필드만을 전송했다.&lt;/p&gt;&lt;p&gt;이렇게 HTTP/2.0은 중복헤더 데이터를 전송하지 않으므로 매 요청마다 오버헤드를 크게 줄일 수 있다.&lt;/p&gt;&lt;p&gt;같은 요청을 폴링하는 경우는 헤더가 변한게 없으므로 헤더 오버헤드는 0바이트이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이렇게 헤더 중복을 제거하고, 과거 포스팅한 Huffman coding방식으로 또 한번 압축을 진행한다.&lt;/p&gt;&lt;p&gt;이런 방식으로 HTTP/2.0에서는 header필드를 압축하여 프로토콜 오버헤드를 줄일 수 있다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;헤더 압축에 대해서&amp;nbsp;자세한 사항은 RFC7541 문서를 참고하기 바란다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>HTTP2.0</category>
      <category>header compression</category>
      <category>http/1.1</category>
      <category>http/2.0</category>
      <category>HTTP1.1</category>
      <category>http2</category>
      <category>헤더 압축</category>
      <author>GET /admin</author>
      <guid isPermaLink="true">https://http2.tistory.com/13</guid>
      <comments>https://http2.tistory.com/13#entry13comment</comments>
      <pubDate>Sun, 16 Oct 2016 21:42:38 +0900</pubDate>
    </item>
    <item>
      <title>#4 http2 지원여부 확인 (keycdn)</title>
      <link>https://http2.tistory.com/12</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;Ubuntu Condensed&amp;quot;, &amp;quot;Noto Sans Korean&amp;quot;; font-size: 12pt;&quot;&gt;HTTP/2.0을 지원하는지 확인하는 방법 4번째로 &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Ubuntu Condensed&amp;quot;, &amp;quot;Noto Sans Korean&amp;quot;; font-size: 16px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;keycdn.com&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt; 사이트를 이용하는 방법이 있다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://tools.keycdn.com/http2-test&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://tools.keycdn.com/http2-test&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;위 링크로 이동하면 다음과 같은 화면이 나온다.&lt;/p&gt;&lt;p&gt;URL에 원하는 &lt;b&gt;사이트를 입력&lt;/b&gt;하고 &lt;b&gt;test버튼&lt;/b&gt;을 누르면 해당 URL이 HTTP/2.0을 지원하는지 나온다.&lt;/p&gt;&lt;p&gt;하단 부분에는 최근에 검색한 리스트가 나온다.&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1024px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/255B474858031EB92C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F255B474858031EB92C&quot; width=&quot;1024&quot; height=&quot;576&quot; filename=&quot;1.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>HTTP2.0</category>
      <category>http/2.0</category>
      <category>http2</category>
      <category>keycdn</category>
      <author>GET /admin</author>
      <guid isPermaLink="true">https://http2.tistory.com/12</guid>
      <comments>https://http2.tistory.com/12#entry12comment</comments>
      <pubDate>Sun, 16 Oct 2016 15:33:00 +0900</pubDate>
    </item>
    <item>
      <title>#3 http2 지원여부 확인 (curl)</title>
      <link>https://http2.tistory.com/11</link>
      <description>&lt;p&gt;HTTP/2.0을 지원하는지 확인하는 방법 3번째로 &lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;curl&lt;/span&gt;&lt;/b&gt; 명령어가 있다. &lt;span style=&quot;font-size: 8pt;&quot;&gt;(과거 포스팅자료에서 잠시 등장한적이 있다)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;윈도우를 사용하는 경우에는 curl명령어를 다운받아야한다. 이 글은 윈도우 기준으로 작성한다. (다른 OS라고 크게 다르지 않다)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;리눅스, 맥OS는 기본적으로 설치되어있다&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;&amp;nbsp; &amp;nbsp; 파이썬 아나콘다를 설치한 경우 아나콘다에&amp;nbsp;curl이 포함되어있어서 별도의 다운로드가 필요 없을수도있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;RFC7540문서에는 HTTP/2.0을 지원하기 위한 조건에 http://,&amp;nbsp;https:// 두가지 모두 지원한다고 나와있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;하지만, 우리가 사용하는 대부분의 브라우저에서 http://, HTTP/2.0 의 조합을 지원하지 않는다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;현실적으로 HTTP/2.0을 사용하기 위해선 https://로 통신해야 한다고 생각하면된다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;https://로 통신하기 위해선 &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt; color: rgb(0, 0, 0);&quot;&gt;인증서&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;가 필요하다. 그러므로 curl 명령어를 위한 인증서도 준비되어 있어야한다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;curl, 인증서는 아래 링크를 통한 사이트에서 받을 수 있다.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://winampplugins.co.uk/curl/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://winampplugins.co.uk/curl/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;해당 사이트에서 32bit or 64bit 본인에게 맞는것을 다운로드 하고 압축을 풀면 인증서와 curl이 나온다.&lt;/p&gt;&lt;p&gt;두 파일을 C:\Windows\System32안에 넣어주면 된다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;현재 PC에 curl이 설치되어 있는지 확인하기 위해선&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; 1. window + r을 눌러서 실행을 킨다&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; 2. cmd를 입력한다&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; 3. curl -V 를 입력한다 (V는 대문자이다)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;다음과 같이 나오면 curl이 다운로드 된 상태이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 700px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/232DCE50580114FF34&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F232DCE50580114FF34&quot; width=&quot;700&quot; height=&quot;218&quot; filename=&quot;1.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;이 curl의 옵션을 이용해서 우리는 HTTP/2.0 지원 여부를 확인할 수 있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;(버전이 낮은 경우에는 이 옵션이 없을수 있으니 최신 버전으로 설치할것을 권장한다.)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:18pt;&quot;&gt;&lt;b&gt;curl -I --http2 URL&amp;nbsp;&lt;/b&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;b&gt;&lt;/b&gt;-&amp;gt; 이 옵션을 통해서 확인이 가능하다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:10pt;&quot;&gt;&amp;nbsp; &amp;nbsp; -I (대문자 i)는 header를 보는 옵션이다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:10pt;&quot;&gt;&amp;nbsp; &amp;nbsp; --http2는 http/2.0으로 통신하기위한 옵션이다. (정확히는 header의 필드값을 추가시켜준다)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:10pt;&quot;&gt;&amp;nbsp; &amp;nbsp; URL부분에 우리가 목표로할 사이트의 주소를 넣어주면 된다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;http://nghttp2.org 사이트를 대상으로 위 옵션을 적용해서 실행해보면&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 900px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/236D4A48580116E404&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F236D4A48580116E404&quot; width=&quot;900&quot; height=&quot;563&quot; filename=&quot;1.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;다음과 같이 &lt;span style=&quot;color: rgb(0, 0, 0); background-color: rgb(255, 228, 0);&quot;&gt;노란박스&lt;/span&gt; 안에 &lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;HTTP/2&lt;/span&gt;&lt;/b&gt;로 나온다.&lt;/p&gt;&lt;p&gt;그런데 위에 &lt;b&gt;HTTP/1.1 101 Switching Protocols&lt;/b&gt;가 먼저 응답을 했다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이번엔 &lt;b&gt;https://nghttp2.org&lt;/b&gt;로 테스트를 해보면 (아까와 차이점은 http , http&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;s&lt;/span&gt;&lt;/b&gt;의 차이이다)&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 900px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2413174E5801181D1E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2413174E5801181D1E&quot; width=&quot;900&quot; height=&quot;563&quot; filename=&quot;1.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;역시 해당 사이트는 HTTP/2.0을 지원하므로 1.1이 아닌 2.0버전으로 통신하는게 보인다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;하지만 101 스위칭 프로토콜 부분은 보이지 않는다.&lt;/p&gt;&lt;p&gt;이 부분에 대해선 RFC7540문서에서 다음을 참조하기 바란다.&lt;/p&gt;&lt;p&gt;3.2. &amp;nbsp;Starting HTTP/2 for &quot;http&quot; URIs&lt;/p&gt;&lt;p&gt;3.3. &amp;nbsp;Starting HTTP/2 for &quot;https&quot; URIs&lt;/p&gt;</description>
      <category>HTTP2.0</category>
      <author>GET /admin</author>
      <guid isPermaLink="true">https://http2.tistory.com/11</guid>
      <comments>https://http2.tistory.com/11#entry11comment</comments>
      <pubDate>Sat, 15 Oct 2016 03:00:27 +0900</pubDate>
    </item>
    <item>
      <title>#2 http2 지원여부 확인 (개발자 도구)</title>
      <link>https://http2.tistory.com/10</link>
      <description>&lt;p&gt;http2로 통신하는 여부를 확인하는 또 다른 방법은 개발자 도구를 이용하는것이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;F12를 통해서 개발자 도구를 실행시키면 Network 탭을 누르고 새로고침을 하면 다음과같은 창이 뜨는데&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;여기서 &lt;span style=&quot;color: rgb(255, 187, 0);&quot;&gt;&lt;b&gt;주황박스&lt;/b&gt;&lt;/span&gt; 위치를 우클릭하고 &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;&lt;b&gt;빨간 박스&lt;/b&gt;&lt;/span&gt;를 클릭하면 프로토콜을 볼 수 있다&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 782px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/235B793B57FA3E5202&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F235B793B57FA3E5202&quot; width=&quot;782&quot; height=&quot;352&quot; filename=&quot;f12.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;google은 SPDY를 사용하고있는걸 확인 할 수 있다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 860px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/235F6A3A57FA3EFC34&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F235F6A3A57FA3EFC34&quot; width=&quot;860&quot; height=&quot;336&quot; filename=&quot;check.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>HTTP2.0</category>
      <category>HTTP1.1</category>
      <category>http2</category>
      <category>Protocol</category>
      <category>SPDY</category>
      <category>개발자 도구</category>
      <author>GET /admin</author>
      <guid isPermaLink="true">https://http2.tistory.com/10</guid>
      <comments>https://http2.tistory.com/10#entry10comment</comments>
      <pubDate>Sun, 9 Oct 2016 21:58:40 +0900</pubDate>
    </item>
  </channel>
</rss>