IT's Fun2016.03.31 09:00

지난 몇 년간 웹(Web) 세상에는 두가지 큰 변화가 있었습니다. 이미 대중화되어 널리 사용되고 있는 HTML5 가 첫번째이고, 아직 제한적으로만 사용되고 있는 HTTP/2 가 다른 한가지 입니다. HTTP/2 는 정말 오랫동안 변화가 없었던 HTTP 프로토콜의 새로운 스펙으로 기존 버전이 가지고 있었던 근본적인 변화를 통해 급격하게 바뀌어 온 웹 환경에 맞는 성능과 보안을 제공하는데 주안점이 맞추어져 있습니다.


HTML5 의 경우 서버 사이드에서의 변화보다는 렌더링 된 HTML 마크업을 각 브라우저들이 어떻게 이해하고 표현할 것인지가 이슈였습니다. 때문에 여러 브라우저들이 HTML5 의 스펙을 어떻게 구현했는지, 그리고 어떻게 렌더링 하는지, 그 과정에서의 속도 차이는 어떠한지와 같은 것들이 화두였습니다. 반면 HTTP/2 는 브라우저뿐만 아니라 맞은편에 서있는 서버 역시 프로토콜의 스펙을 준수하고 구현해야 하기 때문에 HTML5 보다 조금 더 상황이 복잡한 편입니다. 





HTTP/2 는 알려진 것처럼 구글이 만든 SPDY 프로토콜에 그 기원을 두고 있습니다. 구글의 경우 크롬 브라우저에 SPDY, HTTP/2 스펙을 먼저 구현하고 자사의 서비스에 적용함으로써 프로토콜를 개선해 왔습니다. 이후 대부분의 브라우저들 역시 시점의 차이는 있지만 HTTP/2 를 현재는 대부분 지원하고 있습니다. (관련글 : http://ondemand.tistory.com/224) 웹 서버측 역시 다소 느리기는 했지만 주요한 제품들이 현재 HTTP/2 스펙을 지원하기 시작했기 때문에 HTTP/2 에 대한 환경은 어느정도 무르익었다는 생각이 듭니다.


문제는 웹 서비스 환경에서 더이상 선택재가 아니라 필수재가된 컨텐츠 전송 네트워크(CDN, Content Delivery Network)입니다. 컨텐츠 전송 네트워크는 클라이언트와 서버 중간에 위치하여 정적인 컨텐츠의 캐시, 동적인 컨텐츠의 가속 등의 기능 제공을 통해 웹 서비스를 보다 쾌적하게 제공할 수 있도록 해주는 서비스입니다. "중간에 위치한다"는 특성 때문에 제 아무리 기술이 발달하여 클라이언트와 서버가 최신 스펙을 준수한다 하더라고 컨텐츠 전송 네트워크가 이를 지원하지 못하면 기술의 혜택을 받지 못하게 되는 것입니다.





아카마이는 어제 기술 커뮤니티에 공개한 포스팅을 통해 주요한 상품을 이용중인 고객들에게 HTTP/2 기능이 기본적으로 제공된다는 공지를 했습니다. 간단한 스위치를 기능을 통해 HTTP/2 기능을 활성화 하거나 비활성화 할 수 있기 때문에 손쉬운 서비스 적용이 가능하고 원본 서버가 HTTP/2 에 대한 대응이 되어 있지 않더라도 사용자와 컨텐츠 전송 네트워크 구간에서 HTTP/2 프로토콜을 활용함으로써 유연한 인프라의 운영이 가능해졌습니다. 


HTTP/2 의 적용 관련하여 컨텐츠 전송 네트워크 사업자들의 움직임을 살펴보면 자체적인 서버 기술을 이용하는 기업들의 대응이 빠른편이고 오픈 소스나 상용 서버를 이용하여 HTTP/2 적용을 준비하는 곳들은 대응이 다소 느린 편입니다. 대표적인 예로 Varnish 를 기반 기술로 사용하는 기업들의 경우 아직까지 Varnish 가 HTTP/2 에 대한 대응이 되지 않고 있어 서비스로 제공하지 못하고 있습니다. 이런 상황은 HTTP/2 를 넘어서 근본적인 기술력이 사업의 시의성에 미칠 수 있는 영향을 보여주는 사례가 될 수도 있겠습니다.


아카마이 기술 커뮤니티에서 HTTP/2 공식 지원 포스팅 살펴보기 [바로가기]

아카마이 HTTP/2 공식 데모사이트 살펴보기 [바로가기]



저작자 표시 비영리
신고
Posted by 노피디
IT's Fun2016.03.16 11:16

인터넷에서 발생하는 정보의 유통, 트랜잭션을 SSL/TLS 기술을 이용하여 안전하게 전송하고자 하는 운동인 렛츠인크립트(Let's Encrypt)를 통해 발급된 서버 인증서가 1백만개를 돌파했습니다. 렛츠인크립트가 지난 3월 8일 공식 블로그를 통해 공개한 정보에 따르면 지금까지 렛츠인크립트를 통해서 1백만개 이상의 인증서가 발급되었으며 이를 통해 보안된 통신을 제공하고 있는 도메인은 240만개에 이른다고 합니다. 렛츠인크립트 운동이 시작된지 16개월만에 이룬 쾌거입니다.


인터넷 서비스에서 SSL/TLS 기술이 사용된 것은 꽤 오랜 역사를 가지고 있습니다. 하지만 인증서를 발급받기 위해서는 비용과 절차 측면에서 어려운 부분이 많았고 보안에 대한 인식 역시 생각만큼 성숙되어 있지 않아 중요한 정보들이 암호화되지 않은 채널을 통해 평문으로 전송되는 경우가 많았습니다. 렛츠인크립트는 인증서 발급에 대한 비용 부담 없이 도메인 단위의 인증 절차를 통해 간편하게 인증서를 이용할 수 있도록 프로세스를 개선함과 동시에 각 브라우저에 탑재된 루트 인증기관과의 크로스 사이닝(Cross Signing)을 통해 현대적인 대부분의 브라우저에서 인터넷 보안이 보장된 상태로 이용할 수 있도록 해주고 있습니다.




렛츠인크립트의 이런 활동은 HTTP 프로토콜이 새로운 버전인 2.0 (일반적으로 HTTP/2 혹은 H2 로 불리웁니다) 으로 진화하면서 요구하고 있는 보안된 채널로의 데이터를 송수신 해야 한다는 조건을 만족시키는 과정에도 큰 역할을 할 것으로 기대됩니다. 물론 표준이 여전히 조금씩 변화하고 있고 근래에 암호화 되지 않은 상태에서의 전송 규약 역시 준비되고 있긴 하지만 (참고글 : http://ondemand.tistory.com/224 - HTTP/2 에서 TLS 지원은 필수일까?) 대부분의 브라우저가 HTTP/2 의 경우 암호화 전송을 기본으로 하고 있다는 점을 감안하면 서버 측에서의 인증서 준비는 이제 필수라 하겠습니다. 


렛츠인크립트의 백만번째 인증서 발급 축하 포스팅 전문 살펴보기 [바로가기]




저작자 표시 비영리
신고
Posted by 노피디
IT's Fun2015.12.21 08:34

인터넷은 진화하고 있습니다. 그 중에서도 가장 널리 사용되고 있는 웹(WWW, World Wide Web) 기술은 느리지만 지속적인 변화를 해오고 있습니다. 한동안 큰 변화가 없었던 웹과 관련된 기술들은 근래의 HTML5 나 CSS3 와 같은 표현 계층에서의 큰 변화가 이루어졌고 프로토콜 자체에 대해서는 HTTP/2 라는 새로운 버전이 등장하면서 기반 기술 역시큰 변화가 진행되고 있습니다. 이런 확정된 커다란 변화들 이외에도 IETF (Internet Enginnering Task Force) 에서는 지속적으로 표준에 포함되어야 할 기술들을 검토하고 정의하고 있는데요, 오늘 소개해 드리는 새로운 에러코드(HTTP Error Status Code)도 그들 중 하나입니다.


IETF 의 문서들의 변화를 지속적으로 확인하고 점검하는 것이 쉬운 일은 아닙니다만 이런 정보를 보다 쉽게 추적할 수 있도록 제공되고 있는 데이터트레커(Datatracker) 웹 사이트를 이용하면 보다 쉽게 변화를 관찰할 수 있습니다. 데이터트레커에 지난주 17일 날짜로 등록된 새로운 정보에 따르면 HTTP 의 클라이언트 단에서의 에러를 나타내는 4xx 대역의 에러 코드에 451 Unavailable For Legal Reasons 라는 에러코드가 인터넷 드레프트에 제안되었습니다





인터넷 상에서 4xx 대역의 에러중 가장 유명한 것은 아마도 404 Not Found 일 것입니다. 웹 사이트에서 제공되고 있지 않은 리소스에 대하여 자료를 요청한 경우 해당 자료가 존재하지 않는다는 의미로 이 에러를 회신 받게 됩니다. 그 다음으로 자주 만나는 에러코드는 403 Forbidden 일텐데요, 이 에러코드는 리소스에 대하여 열람할 권한이 없어나 제한되었을 경우 만나는 에러입니다. 그동안 많은 기업이나 서비스들에서 리소스에 대한 접근 제한에 대하여 포괄적으로 403을 이용해 왔는데요 이들 중에는 단순히 권한 문제가 아닌 정부나 수사기관 등에 의하여 제공을 중단할 것을 명령받은 리소스에 대한 요청 역시 포함됩니다.





흔히 인터넷 검열(Internet Censorship)이라고 알려진 활동들이 많은 국가, 수사기관에서 진행되고 있습니다. 검열의 대상 중에는 성인물, 포르노물과 같은 사회적인 공감대가 있는 컨텐츠도 있지만 국가가 추구하는 방향, 정치적인 노선과 맞지 않는다는 이유로 차단되는 컨텐츠들도 많습니다. 이런 경우 정보를 제공하는 사업자나 ISP 에서는 요청에 의해 컨텐츠를 차단하게 되고 -일부 국가는 정부에 의해서 차단됩니다만...- 보통 리소스를 삭제하거나 (404) 임의적으로 차단 (403) 하는것이 대부분이었습니다.





새로운 에러코드 451 은 403 에러의 연장선상에서 준비되는 에러코드로 법적인 이유로 인해 컨텐츠, 리소스에 대한 접근이 차단되었다는 의미로 활용되게 됩니다. 이미 관련 업계에서는 451 에러코드를 사용하는 경우가 더러 있는 것으로 알려져 있고 위키피디아에도 이미 451 에러코드에 대한 정보가 등재되어 있습니다. 4xx 대의 에러코드가 초반대에 대부분 몰려 있는데 갑작스레 451 번으로 뛰어오른 이유는 위키피디아에 설명된 것처럼 책이 더이상 허용되지 않은 시대를 그린 "화씨 451 (Fahrenheit 451)" 이라는 소설에서 비롯된 것으로 알려져 있습니다.


인터넷 표준의 변화를 보고 있으면 시대의 흐름을 반영하는 요소들이 종종 발견됩니다. 어떤 사실의 좋고 나쁨을 떠나서 그러한 변화를 기술에 표현되는 과정만 본다면 기술과 현실이 동떨어지지많은 않았다는 생각이 듭니다. 새로운 에러코드로 제정중인 451 Unavailable For Legal Reasons 를 가능한 만나지 않을 수 있는 세상과 인터넷 세계를 바래봅니다!


IETF Datatracker 에서 451 에러코드에 대한 문서 자세히 살펴보기 [바로가기]

위키피디아에 등재된 451 에러코드에 대한 내용 살펴보기 [바로가기]



저작자 표시 비영리
신고
Posted by 노피디

티스토리 툴바