웹소켓 - 위키백과, 우리 모두의 백과사전 웹소켓 위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 웹소켓 ( WebSocket ) 은 하나의 TCP 접속에 전이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜이다. 웹소켓 프로토콜은 2011년 IETF에 의해 RFC 6455로 표준화되었으며 웹 IDL의 웹소켓 API는 W3C에 의해 표준화되고 있다. 목차 1 역사 2 브라우저 구현체 3 프로토콜 핸드셰이크 4 프록시 경유 5 같이 보기 6 각주 7 외부 링크 역사 [ 편집 ] 웹소켓은 TCP 기반 소켓 API를 대체할 목적으로 HTML5 사양에서 TCPConnection으로 처음 참조되었다. [ 1 ] 2008년 6월, 일련의 토론이 마이클 카터 ( Michael Carter ) 에 의해 주도되었으며, 웹소켓으로 알려진 최초 버전의 프로토콜이 탄생되었다. [ 2 ] 브라우저 구현체 [ 편집 ] 구현체 상태 프로토콜 초안일 인터넷 익스플로러 파이어폭스 [ 3 ] ( PC ) 파이어폭스 ( 안드로이드 ) 크롬 ( PC, 모바일 ) 사파리 ( 맥, iOS ) 오페라 ( PC, 모바일 ) 안드로이드 브라우저 hixie - 75 2010년 2월 4일 4 5. 0. 0 hix
더 이상 개발 중이 아닌 소프트웨어를 의미 이 글은 통신에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. 원본 주소 " " 분류 : 응용 계층 프로토콜인터넷 용어웹 개발숨은 분류 : 통신에 관한 토막글큰 토막글 문서모든 토막글 문서RFC 매직 링크를 사용하는 문서 둘러보기 메뉴 개인 도구 로그인하지 않음토론기여계정 만들기로그인 이름공간 문서토론 변수 보기 읽기편집역사 보기 더 보기 검색 둘러보기 대문사용자 모임요즘 화제최근 문서 보기임의 문서로도움말기부 도구 여기를 가리키는 문서가리키는 글의 최근 올리기특수 문서 목록고유 링크문서 정보위키데이터 항목이 문서 인용하기 인쇄 / 내보내기 책 만들기PDF로 다운로드인쇄용 판 다른 언어 IndonesiaItaliano 日 本 語 Bahasa 中 文 - - 링크 편집 이 문서는 2019년 2월 26일 ( 화 ) 14 : 18에 마지막으로 편집되었습니다. 모든 문서는 크리에이티브 커먼즈 저작자표시 - 동일조건변경허락 3. 0에 따라 사용할 수 있으며, 추가적인 조건이 적용될 수 있습니다. 자세한 내용은 이용 약관을 참고하십시오. 미국 및 다른 국가에
소켓 각주 [ 편집 ] 내용주 ↑ 가 나 Gecko - based browsers versions 6 - 10 implement the WebSocket object as " MozWebSocket ", [ 5 ] requiring extra code to integrate with existing WebSocket - enabled code. 참조주 ↑ " HTML 5 ". 《 2016년 4월 17일에 확인함. ↑ " [ whatwg ] TCPConnection feedback from Michael Carter on 2008 - 06 - 18 ( whatwg. org from June 2008 ) ". 《 lists. w3. org 》. 2016년 4월 17일에 확인함. ↑ " WebSockets ( support in Firefox ) ". 《 developer. mozilla. org 》. Mozilla Foundation. 2011년 9월 30일. 2011년 12월 10일에 확인함. ↑ " Bug 640003 - WebSockets - upgrade to ietf - 06 ". Mozilla Foundation. 2011년 3월 8일. 2011년 12월 10일에 확인함. ↑ " WebSockets - MD
##aco 어마야 * 아라크네 * 아레나 * 카론 딜로 eww Gazelle 핫자바 * IBM 홈 페이지 리더 * 아이브라우즈 * KidZui 마이크로소프트 엣지 모자이크 * Mothra * 넷포지티브 * 넷서프 페일 문 모바일블링크 기반 안드로이드 브라우저 크로미엄 브레이브 크롬 오페라 모바일 실크 게코 기반 파이어폭스 모바일 MicroB * 미니모 * 프레스토 기반 오페라 미니 삼지창 기반 맥스톤 웹킷 기반 BOLT 돌핀 브라우저 파이어폭스 포 iOS 맥스톤 머큐리 브라우저 S60용 웹 브라우저 Rockmelt 사파리 스틸 기타 블레이저 CM 브라우저 딥피시 * ibisBrowser 인터넷 익스플로러 모바일 * 아이리스 브라우저 * 캉커러 임베디드 마이크로소프트 엣지 넷프론트 노키아 Xpress * Skweezer * 스카이파이어 * 티샤크 * 선더호크 UC 브라우저 비전 WinWAP 스무즈 Wire 브라우저 텔레비전 및 비디오 게임 콘솔게코 기반 Kylo 프레스토 기반 인터넷 채널 웹킷 기반 구글 TV 닌텐도 3DS 인터넷 브라우저 닌텐도 DS 브라우저 넷프론트 스팀 오버레이 Wii U 인터넷 브라우저 기타 MSN TV * 별표 ( * ) 로 된 부분은 더 이상 개발 중이 아닌 소프트웨어를 의미 이 글은 통신에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다
iOS ) 오페라 ( PC, 모바일 ) 안드로이드 브라우저 hixie - 75 2010년 2월 4일 4 5. 0. 0 hixie - 76hybi - 00 2010년 5월 6일2010년 5월 23일 4. 0 ( 비활성화 ) 6 5. 0. 1 11. 00 ( 비활성화 ) 7 hybi - 07 2011년 4월 22일 6 [ 4 ] [ a ] 8 hybi - 10 2011년 7월 11일 7 [ 6 ] [ a ] 7 14 [ 7 ] 13 RFC 6455 2011년 12월 10 [ 8 ] 11 11 16 [ 9 ] 6 12. 10 [ 10 ] 4. 4 프로토콜 핸드셰이크 [ 편집 ] 웹소켓을 연결하기 위해 클라이언트는 웹소켓 핸드셰이크 요청을 보내며, 이렇게 하면 서버는 웹소켓 핸드셰이크 응답을 아래의 예에서 보는 바와 같이 반환한다. [ 11 ] 클라이언트 요청 : GET / chat HTTP / 1. 1 Host : server. example. com Upgrade : websocket Connection : Upgrade Sec - WebSocket - Key : x3JJHMbDL1EzLkh9GBhXDw = = Sec - WebSocket - Protocol
443 ) 를 웹소켓 게이트웨이나 서버와 공유할 수 있게 한다. 웹소켓 프로토콜은 웹소켓과 웹소켓 안전 연결을 나타내기 위해 각각 ws wss : / / 두문자를 정의한다. 이 두 스킴은 HTTP 업그레이드 매커니즘을 사용하여 웹소켓 프로토콜로 업그레이드한다. 일부 프록시 서버는 투명 ( transparent ) 하며 웹소켓과 잘 동작한다. 다른 것들은 웹소켓이 정상 동작하지 못해 연결을 실패한다. 일부의 경우 추가 프록시 구성이 필요할 수 있으며 웹소켓 지원을 위해 특정 프록시 서버의 업그레이드가 필요할 수 있다. 암호화되지 않은 웹소켓 트래픽이 웹소켓을 지원하지 않는 명시적이거나 투명한 프록시 서버를 통해 경유하는 경우 연결이 실패할 가능성이 높다. [ 12 ] 암호화된 웹소켓 연결을 사용하는 경우 웹소켓 보안 연결에 전송 계층 보안 ( TLS ) 을 사용함으로써 브라우저가 명시적인 프록시 서버를 사용하도록 구성될 때 HTTP CONNECT 명령이 발행됨을 보증한다. 같이 보기 [ 편집 ] 네트워크 소켓 각주 [ 편집 ] 내용주 ↑ 가 나 Gecko - based browsers versions 6 -
대 DHTML 매시업 웹 IDL 스크립팅 주제 동적 웹 페이지 오픈 웹 플랫폼 리치 인터넷 애플리케이션 웹 애플리케이션 vdeh웹 브라우저 비교 가벼운 웹 브라우저 역사 목록 유닉스용 연표 시장 점유율 기능 광고 차단 증강 브라우징 북마크 북마크릿 라이브 북마크 스마트 북마크 브라우저 확장 브라우저 보안 브라우저 동기화 비교 쿠키 다운로드 관리자 파비콘 증분 검색 플러그인 프라이버시 모드 탭 유니버설 편집 버튼 웹 표준 Acid 테스트 종속형 시트 HTML HTML5 자바스크립트 MathML OCSP SVG WebGL XHTML 관련 주제 BrowserChoice. eu CRL HTTP HTTPS iLoo 인터넷 스위트 맨 인 더 브라우저 모바일 웹 오프라인 리더 PAC Pwn2Own 리치 인터넷 애플리케이션 사이트 특화 브라우저 SPDY SSL / TLS 웹소켓 위젯 월드 와이드 웹 WPAD XML 데스크톱블링크 기반 크로미엄 브레이브 크롬 드래곤 오페라 슬레이프니르 슬림젯 SR웨어 아이언 UC 브라우저 비발디 얀덱스 브라우저 Sputnik 세이프존 네이버 웨일 게코 기반 AT & T 포고 * 아방트 카미노 * 모질라 파이어폭스 Conkeror GNU 아이스캣 아이스드래곤 스위프트폭스 * Swiftweasel * 텐포폭스 팀버울프 토르 브라우저 워터폭스 XB 브라우저 * Gale
##bkit. org 》. 2011년 12월 10일에 확인함. ↑ " A hot Opera 12. 50 summer - time snapshot ". Opera Developer News. 2012년 8월 3일. 2012년 8월 5일에 원본 문서에서 보존된 문서. 2012년 8월 3일에 확인함. ↑ Ian Fette ; Alexey Melnikov ( December 2011 ). " Protocol Overview ". RFC 6455 The WebSocket Protocol. IETF. sec. 1. 2. RFC 6455.. ↑ Peter Lubbers ( 2010년 3월 16일 ). " How Web Sockets Interact With Proxy Servers ". 《 Infoq. com 》. C4Media Inc. 2011년 12월 10일에 확인함. 외부 링크 [ 편집 ] IETF Hypertext - Bidirectional ( HyBi ) working group vdeh웹 인터페이스서버 사이드프로토콜 HTTP CGI SCGI FCGI AJP WSRP 웹소켓 서버 API C NSAPI C ASAPI C ISAPI COM ASP 자바 서블릿 컨테이너 CLI OWIN ASP. NET
##oundation. 2011년 3월 8일. 2011년 12월 10일에 확인함. ↑ " WebSockets - MDN ". 《 developer. mozilla. org 》. Mozilla Foundation. 2011년 9월 30일. 2011년 12월 10일에 확인함. ↑ " Bug 640003 - WebSockets - upgrade to ietf - 07 ( comment 91 ) ". Mozilla Foundation. 2011년 7월 22일. ↑ " Chromium bug 64470 ". 《 code. google. com 》. Google. 2010년 11월 25일. 2011년 12월 10일에 확인함. ↑ " WebSockets in Windows Consumer Preview ". 《 IE Engineering Team 》. Microsoft. 2012년 3월 19일. 2012년 7월 23일에 확인함. ↑ " WebKit Changeset 97247 : WebSocket : Update WebSocket protocol to hybi - 17 ". 《 trac. webkit. org 》. 2011년 12월 10일에 확인함. ↑ " A hot Opera 12. 50 sum
C NSAPI C ASAPI C ISAPI COM ASP 자바 서블릿 컨테이너 CLI OWIN ASP. NET 핸들러 파이썬 WSGI 루비 랙 자바스크립트 JSGI 펄 PSGI 루아 WSAPI 포틀릿 컨테이너 아파치 모듈 mod jk mod - lisp mod - mono mod - parrot mod perl mod - php mod - proxy mod python mod wsgi mod ruby Phusion Passenger 주제 웹 리소스 대 웹 서비스 공개 API 웹 애플리케이션 서버 비교 스크립트 클라이언트 사이드브라우저 API C NPAPI LiveConnect XPConnect C NPRuntime C PPAPI NaCl 액티브X BHO XBAP 웹어셈블리 웹 APIW3C 오디오 캔버스 CORS DOM DOM 이벤트 EME 파일 Geolocation IndexedDB MSE SSE SVG 비디오 WebRTC 웹소켓 웹 메시징 웹 스토리지 웹 워커 XMLHttpRequest 크로노스 WebCL WebGL 기타 Gears 웹 SQL 데이터베이스 ( 과거명 W3C ) 주제 Ajax 대 DHTML 매시업 웹 IDL 스크립팅 주제 동적 웹 페이지 오픈 웹 플랫폼 리치 인터넷 애플리케이션 웹 애플리케이션 vdeh
웹소켓(WebSocket)은 하나의 TCP 접속에 전이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜이다. 웹소켓 프로토콜은 2011년 IETF에 의해 RFC 6455로 표준화되었으며 웹 IDL의 웹소켓 API는 W3C에 의해 표준화되고 있다. 웹소켓은 HTTP와 구별된다. 두 프로토콜 모두 OSI 모델의 제7계층에 위치해 있으며 제4계층의 TCP에 의존한다. 이들에 차이가 있으나 "RFC 6455"에 따르면 웹소켓은 HTTP 포트 80과 443 위에 동작하도록 설계되었으며 HTTP 프록시 및 중간 층을 지원하도록 설계되었으므로 HTTP 프로토콜과 호환이 된다. 호환을 달성하기 위해 웹소켓 핸드셰이크는 HTTP 업그레이드 헤더를 사용하여 HTTP 프로토콜에서 웹소켓 프로토콜로 변경한다. 웹소켓 프로토콜은 HTTP 폴링과 같은 반이중방식에 비해 더 낮은 부하를 사용하여 웹 브라우저(또는 다른 클라이언트 애플리케이션)과 웹 서버 간의 통신을 가능케 하며, 서버와의 실시간 데이터 전송을 용이케 한다. 이는 먼저 클라이언트에 의해 요청을 받는 방식이 아닌, 서버가 내용을 클라이언트에 보내는 표준화된 방식을 제공함으로써, 또 연결이 유지된 상태에서 메시지들을 오갈 수 있게 허용함으로써 가능하게 되었다. 이러한 방식으로 양방향 대화 방식은 클라이언트와 서버 간에 발생할 수 있다. 통신은 TCP 포트 80(TLS 암호화 연결의 경우 443)를 통해 수행되며 방화벽을 통해 웹이 아닌 인터넷 연결을 차단하는 일부 환경에 도움이 된다. 단순 양방향 브라우저-서버 통신은 코멧 등의 스톱갭(stopgap) 기술을 사용하는 비표준 방식으로 수행된다. 구글 크롬, 마이크로소프트 에지, 인터넷 익스플로러, 파이어폭스, 사파리, 오페라 등 대부분의 브라우저가 이 프로토콜을 지원한다.