Chrome Dev Summit - 공개 웹 플랫폼 요약

작성자: Greg Simon 및 Eric Seidel

Blink는 Chrome의 오픈소스 렌더링 엔진입니다. Blink팀은 웹을 발전시키고 개발자가 직면한 문제를 해결하고 있습니다.

4월 출시 이후 많은 기능이 개선되었습니다.

가장 먼저 할 일은 필요하지 않은 소스의 절반을 삭제하는 것이었습니다. 아직 작업이 완료되지 않았습니다. Google은 눈 깜짝할 사이에 이 작업을 하지 않습니다. 코드 삭제는 보고에 동의한 Chrome 사용자들로부터 익명으로 보고된 집계 통계를 바탕으로 이루어집니다.

Google은 Chrome의 배송 일정과 마찬가지로 6주마다 새로운 개발자 API를 게시합니다.

Blink에서 포크했을 때 한 가지 큰 변경사항은 인텐트 시스템을 추가하는 것이었습니다. 웹 플랫폼을 변경하기 전에 항상 Blink 개발자에게 기능을 추가하거나 삭제하겠다는 의도를 알리는 공개 공지사항을 보냅니다. 그런 다음 작업을 시작합니다. 코딩합니다! 기능이 확인되고 바로 다음 날 카나리아 빌드에 이미 적용되어 있습니다. 이 기능은 기본적으로 사용 중지되어 있지만 about:flags를 사용하여 사용 설정할 수 있습니다.

그런 다음 공개 메일링 리스트발송 의도를 발표합니다.

chromestatus.com에서 Google에서 준비한 기능, 출시된 기능, 지원 중단될 기능을 확인할 수 있습니다. Chromium 출시 블로그에서 버그 및 트래커 대시보드 링크를 확인할 수도 있습니다.

또 다른 중요한 변경사항은 WebKit 접두사가 삭제된다는 점입니다. 이는 Blink 접두사를 사용하는 것이 아니라 컴파일 시간 플래그뿐만 아니라 런타임 플래그를 사용하기 위한 것입니다.

Android WebView는 큰 과제였지만 HTML5Test는 상황이 나아지고 있음을 보여줍니다. 우리는 모든 곳에 하나의 웹 플랫폼 API 집합을 갖는다는 점에서 데스크톱에 훨씬 더 가깝습니다 (웹 오디오가 이에 대한 좋은 예입니다!).

그러나 소시지 기계는 어떻게 작동합니까? Blink에 대한 모든 변경사항은 30,000회 이상의 테스트를 즉시 실행하며 이후에 추가로 실행되는 Chromium 테스트도 모두 포함됩니다. Google은 24시간 보안 기능을 사용합니다. 수천 개의 봇, 수천 개의 벤치마크 및 시스템을 통해 수백만 개의 깨진 웹페이지를 엔진에 투입해 문제를 예방하고 있습니다. Google은 모바일 속도가 상당히 느리다는 점을 알고 있으며 이를 개선하기 위해 최선을 다하고 있습니다.

새로운 기능

  • 웹 구성요소: 에릭 비델만의 강연을 확인해 보세요.
  • 웹 애니메이션: 가능하면 GPU를 사용하는 복잡하고 동기화된 고성능 애니메이션
  • 부분 레이아웃: 필요한 항목만 컴퓨팅합니다.
  • CSS 그리드
  • 반응형 이미지: srcset or srcN or ?
  • 더 빠른 텍스트 자동 크기 조정 및 일관된 하위 픽셀 글꼴
  • Blink에서 사용하는 그래픽 시스템인 Skia가 Windows에서 GDI에서 DirectWrite로 전환됩니다

여러분의 의견을 들려주세요.

C++를 피해야 할 것 같고 함께 C++를 작성하고 싶다면 모든 코드가 공개되어 있습니다. 아무에게나 알리거나 알릴 필요가 없습니다. 패치를 게시하거나 버그를 신고하기만 하면 됩니다.

Slides: 깜박임

보안

Parisa Tabriz 제공

오늘날 점점 더 많은 사람들이 그 어느 때보다 다양한 장소에서 인터넷에 연결되어 있습니다.

우리는 노트북, 전화기 및 태블릿과 연결되어 있으며 아마도 곧 개인 장치 및 액세서리에 연결되었을 것입니다. 우리는 신뢰할 수 없고 때로는 악의적인 네트워크를 통해 인터넷에 액세스합니다. 삶의 많은 부분이 온라인으로 전환됨에 따라 데이터와 사용자의 데이터를 보호하기 위한 조치를 취해야 합니다.

무엇보다도 개발자는 SSL의 필요성과 실용성을 이해해야 합니다.

SSL이란 무엇인가요? 보안 소켓 레이어의 약자이며 인터넷을 통한 통신 보안을 제공하도록 설계된 암호화 프로토콜입니다. 암호화 및 무결성을 통해 개인 정보를 보호하여 인터넷 연결을 스누핑하거나 조작하는 것을 방지합니다. SSL에는 단점이 있지만 인터넷에서 모든 종류의 데이터 통신 보안을 보장하는 선도적 방법이자 실제로 유일한 방법입니다.

SSL Pulse에 따르면 1년 전에는 SSL 도입이 약 15% 에 불과했지만 지금은 50% 가 넘습니다.

두 가지 약어:

  • TLS: 대부분의 인텐트와 용도에서 SSL과 동일합니다. 정확하게 말하면 SSL 3.1은 TLS로 이름이 변경되었으며 TLS는 IETF 표준 이름입니다. 하지만 상호 교환이 가능합니다.

  • HTTPS: SSL을 통한 HTTP이며 SSL 및 표준 HTTP의 보안 기능을 레이어링한 것입니다. 먼저 클라이언트-서버 핸드셰이크로, 공개/비공개 키 암호화를 사용하여 공유 키를 만듭니다. 이는 SSL 프로토콜의 두 번째 부분에서 통신을 암호화하는 데 사용됩니다.

인터넷상의 네트워킹은 안전하고 즉각적이며 빠르게 느껴질 수 있습니다. 웹사이트와 직접 대화하고 있는 것처럼 느껴집니다. 하지만 실제로는 직접적인 관계가 아닙니다. Google의 통신은 Wi-Fi 라우터, ISP 및 기기와 웹사이트 간의 기타 중간 프록시를 통해 이루어집니다. HTTPS가 없으면 모든 통신이 일반 텍스트로 이루어집니다.

문제는 사용자가 HTTPS를 지정하는 전체 URL을 입력하거나 HTTP를 사용하여 링크를 클릭하는 경우가 거의 없다는 점입니다. 더 나쁜 상황은 중간자 공격을 받고 HTTPS를 HTTP로 대체할 수 있다는 것입니다. 2009년에 도입된 SSLstrip이라는 도구가 바로 이러한 작업을 수행합니다. Firesheep은 2010년부터 공개 Wi-Fi 네트워크에서 쿠키가 전송되는 것을 감지했습니다. 이는 채팅에서 들어보거나 다른 사람의 Facebook 계정에 로그인할 수 있다는 의미입니다.

하지만 SSL은 비교적 저렴하고 빠르고 쉽게 배포할 수 있습니다(ssllabs.com 및 Ilya Grigorik의 고성능 브라우저 네트워킹 참조). 공개 키 고정 기능은 웹사이트 운영자에게 사이트에 대해 실제로 인증서를 발급할 수 있는 인증 기관을 제한할 수 있도록 고안되었습니다.

"올해 (2010년) 1월, Gmail은 기본적으로 모든 업무에서 HTTPS를 사용하도록 전환했습니다. 이를 위해 추가 머신이나 특수 하드웨어를 배포하지 않아도 되었습니다. Google의 프로덕션 프런트엔드 머신에서 SSL은 CPU 로드의 1% 미만, 연결당 메모리의 10KB 미만, 네트워크 오버헤드의 2% 미만을 차지합니다.

이제 그만 읽어도 한 가지만 기억하시면 됩니다. SSL은 더 이상 계산 비용이 많이 들지 않습니다."

오버클러킹 SSL, Adam Langley (Google)

마지막으로 가장 흔히 발견되는 버그는 다음과 같습니다.

  • 혼합 콘텐츠: HTTP와 HTTPS를 사용하는 사이트 사용자는 콘텐츠를 로드하려면 권한 버튼을 클릭해야 하므로 짜증이 날 것입니다. Chrome과 Firefox는 실제로 iframe의 혼합 콘텐츠를 차단합니다. 상대 URL 또는 스키마 기준 URL(예: <style src="//foo.com/style.css">)을 사용하여 HTTPS 페이지에 있는 모든 리소스가 HTTPS에 의해 로드되어야 합니다.
  • 안전하지 않은 쿠키: HTTP 연결을 통해 안전하게 전송됩니다. 쿠키 헤더에 security 속성을 설정하여 이를 방지합니다. 새로운 'Strict Transport Security' 헤더를 사용하여 SSL 전송 보안 (HSTS)을 요구할 수도 있습니다.

테이크어웨이

  • 사용자 데이터의 개인정보 보호와 무결성을 중요하게 생각한다면 SSL을 사용해야 합니다. 보다 빠르고 쉽고 저렴하게 이용하세요.
  • 혼합 콘텐츠 버그 또는 올바른 HTTP 헤더 비트를 설정하지 않는 등의 일반적인 구현 문제를 피하세요.
  • 상대 URL 또는 스키마 상대 URL을 사용합니다.
  • HSTS 및 인증서 고정과 같은 새롭고 멋진 기능을 확인해 보세요.

Slides: SSL을 사용하고 계신가요?

멀티 디바이스 웹용 미디어 API

작성자: Sam Dutton, Jan Linden

웹에 새로운 기기와 플랫폼이 빠르게 늘어남에 따라 오디오, 동영상, 실시간 통신 기술도 급격히 성장하고 있습니다. 온라인 미디어는 우리가 모든 종류의 미디어를 소비하는 방식을 변화시키고 있습니다.

영국 정부의 연구에 따르면 성인의 53% 가 TV를 보면서 휴대기기를 사용하여 미디어를 공유하고 소비하는 '미디어 멀티태스킹'을 합니다. 많은 국가에서 TV 시청이 감소하고 온라인 시청은 증가했습니다. 예를 들어 중국에서는 TV를 시청한 비율이 2009년 70% 에서 2012년 베이징 가구 중 30% 에 불과했습니다. W3C 하이라이트 2013에 따르면 '지난 1년 동안 휴대기기에서 동영상 시청이 2배 증가했습니다. 올해 미국에서 일일 평균 디지털 미디어 시청 시간이 TV 시청 시간을 초과할 것입니다. 시청은 더 이상 수동 행위가 아닙니다. 미국에서는 엔터테인먼트 소비자 중 87%가 TV를 시청하면서 하나 이상의 보조 화면 기기를 사용한다고 답했습니다.' Cisco에 따르면 '동영상은 2017년까지 전 세계 소비자 트래픽의 80~90%에 이를 것입니다'. 1초에 거의 100만 분에 달하는 동영상에 해당합니다.

그렇다면 웹 개발자를 위한 이점은 무엇일까요? 개방형 웹을 위한 미디어 API 생태계: 여러 플랫폼에서 작동하는 표준화된 상호 운용 가능한 기술

테이크어웨이

  • WebRTC는 브라우저에서 실시간 통신을 제공하며 이제 모바일과 데스크톱에서 광범위하게 지원됩니다. 총 12억 개가 넘는 WebRTC 엔드포인트가 이미 있습니다.
  • 웹 오디오는 오디오 합성 및 처리를 위한 정교한 도구를 제공합니다.
  • 웹 오디오와 통합된 웹 MIDI를 사용하면 MIDI 기기와 상호작용할 수 있습니다.
  • 오디오 및 동영상 요소는 현재 모바일 및 데스크톱 브라우저의 85% 이상에서 지원됩니다.
  • 미디어 소스 확장 프로그램은 적응형 스트리밍과 타임 시프팅에 사용할 수 있습니다.
  • EME는 보호된 콘텐츠의 재생을 사용 설정합니다.
  • 스크립트, 자막, 트랙 요소는 자막, 시간이 지정된 메타데이터, 딥 링크, 딥 검색을 지원합니다.

Slides: 멀티 디바이스 웹을 위한 미디어 API