HTML5 웹소켓 프로그래밍(acorn+PACKT 시리즈)
안전하고 확장 가능한 실시간 웹 애플리케이션 개발
[HTML5 웹소켓 프로그래밍]은 실제로 동작하는 채팅 예제 응용프로그램 작성을 통해 웹소켓의 기능을 상세하게 설명하고 현대적인 웹 응용프로그램을 만드는 전체 과정을 안내하며, 보안 레이어를 추가하고 구형 브라우저를 위한 추가적인 폴백 기능을 제공하는 과정을 배울 수 있도록 구성한 책이다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
HTML5 웹소켓(WebSocket)은 서버와 클라이언트 사이에서 전이중 양방향 통신을 제공하여 실시간 웹 응용프로그램이 가능하게 해준다. 이 책에서는 실제로 동작하는 채팅 예제 응용프로그램 작성을 통해 웹소켓의 기능을 상세하게 설명하고 현대적인 웹 응용프로그램을 만드는 전체 과정을 안내해준다. 또한 보안 레이어를 추가하고 구형 브라우저를 위한 추가적인 폴백 기능을 제공하는 과정을 차례차례 배울 수 있다. 이 책은 프론트엔드 웹 개발자들이 안전하고 확장 가능한 실시간 웹 응용프로그램을 개발하고 배포할 수 있도록 도움을 줄 것이다.
★ 이 책에서 다루는 내용 ★
■ 웹소켓 API의 개념과 우수성
■ 원격 서버에 연결하는 웹소켓 클라이언트와 다른 클라이언트로의 메시지 전송 구현
■ 기존의 기술과 지식을 사용한 웹소켓 서버의 구성
■ 모바일과 태블릿 기기용 네이티브 웹소켓 클라이언트의 구현
■ HTML5 웹소켓을 지원하지 않는 구버전 브라우저의 지원
■ 가능한 위험요소의 인지와 안전한 웹 응용프로그램의 구현
■ JSON을 사용한 복잡한 메시지의 구성
★ 이 책의 대상 독자 ★
이 책은 고성능의 실시간 웹 응용프로그램 구축을 원하는 모든 사람을 위한 책이다. 프론트엔드 웹 개발(HTML / XHTML, 자바스크립트)에 익숙하다면 이 책을 이해하는 데 큰 도움이 된다.
★ 이 책의 구성 ★
1장, '웹소켓 소개'에서는 웹소켓 프로토콜을 요점 위주로 간략하게 소개하고 웹의 양방향 통신 필요성에 대해 설명한다. 그리고 영감을 제공해주는 몇몇 실제 사례들을 소개한다.
2장, '웹소켓 API'에서는 웹소켓 API의 기본 개념을 소개하고 웹소켓 클라이언트 응용프로그램을 구현한다.
3장, '서버 구성'에서는 효과적으로 진정한 양방향 통신을 지원할 수 있게 서버 측의 주요 기능을 구현한다.
4장, '데이터 전송: 송신, 수신, 디코딩'에서는 웹소켓으로 텍스트, 이미지, 멀티미디어 등 다양한 유형의 데이터를 처리하는 방법을 설명한다.
5장, '보안'에서는 웹소켓 응용프로그램 실행 시 발생할 수 있는 몇 가지 일반적인 보안 위험에 대해 알아보고 시스템 안정성을 보장하는 방법을 제공한다.
6장, '에러 처리와 폴백'에서는 오류가 발생했을 때 처리하는 방법과 구형 브라우저에서 웹소켓 동작을 어떻게 에뮬레이션 할 수 있는지에 대한 해답을 제시한다.
7장, '모바일과 태블릿'에서는 웹소켓 기능을 모바일 세계로 확장해 아이폰이나 아이패드에서 웹소켓 앱을 네이티브로 실행하는 방법을 알아본다.
부록에서는 흥미로운 논쟁 기사를 포함한 몇 가지 추가 리소스를 제공한다.
★ 저자 서문 ★
이 책은 양방향 통신의 진정한 힘을 소개하고, 새로운 HTML5 웹소켓 API로 양방향 통신을 구현하는 방법을 보여준다. 서버와 클라이언트를 구성하여 다양한 형식의 데이터를 전송하고, 전체 시스템을 보호하는 방법을 배울 수 있다.
웹소켓의 세계로 안내해 주는 이 책에서는, 웹소켓 API 소개를 시작으로, 모든 유형의 기기에서 동작하는 다기능 웹 응용프로그램을 구축할 수 있도록 유용한 실제 사례와 함께 자세히 설명한다. 쉬운 메커니즘을 적용하여 서로에게 메시지를 전송할 수 있는 웹 클라이언트와 웹 서버를 구성하는 방법을 배울 수 있다. 또한 적은 노력으로 이미지와 비디오 같은 다양한 데이터 형식을 전송하는 방법도 알게 될 것이다. 마지막으로, 더 많은 고객을 확보할 수 있도록 구형 브라우저를 위한 추가적인 폴백 기술과 솔루션을 제시한다.
이 책에서는 다양한 브라우저와 기기 사이에서 실시간 데이터를 전송하는 고성능 웹 응용프로그램의 구현에 필요한 단계별 레퍼런스를 제공한다.
★ 옮긴이의 말 ★
웹소켓은 폴링이나 스트리밍 등 기존의 클라이언트 서버 간 통신의 한계를 극복해주는 새로운 양방향 통신 방법으로 실시간 응용프로그램 개발에 필수적인 기술이다. 비교적 쉬운 기술임에도 불구하고, 이를 처음 접하는 개발자들이 기존의 HTML5 입문 도서에 나와 있는 수준의 설명으로 완벽하게 이해하고 실제 개발로 연결시키기에 부족할 수밖에 없었다. 그런 의미에서 웹소켓 기술만을 다루는 이 책은 프론트엔드 개발자들에게 가뭄의 단비와 같은 양서가 될 것으로 기대된다. 얄팍하지만 필요한 알짜배기 정보들은 모두 담고 있다. 옆에 두고 편안한 마음으로 읽다 보면 어느덧 책 한 권을 독파하는 기쁨을 맛볼 수 있을 것이다.
최근에는 HTML5의 열기가 살짝 시들해져 보인다. 하지만 이는 HTML5에 대한 지나친 기대와 관심 때문이 아니었나 생각된다. HTML5만 있다고 모든 문제가 마법같이 해결될 수는 없다. HTML5는 좋은 도구 중 하나일 뿐이다. 여기에 어떤 재료를 덧붙이고 아이디어를 가미해 얼마나 좋은 제품을 만들어 내느냐는 결국 개발자들의 몫이다. 웹소켓이 바로 그 중요한 재료 중 하나가 될 것이다.
꽤 많은 노력을 기울였지만, 저자의 의도를 충분히 전달하지 못하거나 잘못 번역된 부분이 있을 수 있다. 잘못된 부분이나 책의 내용과 관련한 어떠한 질문이나 의견을 보내주시면 소중히 다루겠다.
목차
목차
__웹소켓 이전 세상
____폴링
____롱 폴링
____스트리밍
____포스트백과 AJAX
__HTML5의 등장
__웹소켓 프로토콜
____URL
____브라우저 지원
____누가 웹소켓을 사용하는가
__모바일?
__미래는 이미 시작됐다
__무엇을 만들 것인가
__요약
2장 웹소켓 API
__HTML5의 기초
____마크업
____스타일링
____로직
__채팅 응용프로그램
__API 개요
____지원 브라우저
____웹소켓 오브젝트
____이벤트
______onopen
______onmessage
______onclose
______onerror
____동작
______send( )
______close( )
____속성
____전체 예제
______index.html
______chat.js
____서버
__요약
3장 서버 구성
__소켓 서버가 필요한 이유
__서버 설정
____적합한 기술 선택
______C/C++
______자바
______.NET
______PHP
______소제목 : 파이썬(Python)
______루비(Ruby)
______자바스크립트
____개발 환경 설정
__웹 서버 연결
____웹소켓 서버 인스턴스 생성
____Open
____Close
____Message
____Send
____다른 메소드
__전체 소스 코드
__요약
4장 데이터 전송: 송신, 수신, 디코딩
__웹소켓으로 전송할 수 있는 데이터 종류
____문자열
______JSON
______XML
____ArrayBuffer
____Blobs
______비디오 스트림
__전체 통합
____JSON을 이용한 닉네임과 메시지 전송
____서버에 이미지 전송
__요약
5장 보안
__웹소켓 헤더
__일반적인 공격
____서비스 거부
____맨 인 더 미들
____XSS
__웹소켓 기본 방어 메커니즘
____SSH/TLS
____클라이언트 서버 마스킹
__보안 도구 상자
____피들러
____와이어샤크
____브라우저 개발자 도구
____ZAP
__요약
6장 에러 처리와 폴백
__에러 처리
____네트워크 가용성 확인
__폴백 솔루션
____자바스크립트 폴리필
______인기 있는 폴리필
____브라우저 플러그인
__요약
7장 모바일과 태블릿
__왜 모바일이 중요한가
____네이티브 모바일 앱 vs 모바일 웹 사이트
____전제 조건
____SDK 설치
____모바일 브라우저에서 기존 코드 테스트하기
__네이티브로 가기
____프로젝트 만들기
____웹소켓 아이폰 앱 만들기
__아이패드용 앱 작성
__요약
__자원
____온라인 소스
____기사
__소스 코드
____시스템 요구 사항
____연락
부록 참고자료
저자
저자
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

