1. XMPP 란?
- The Extensible Messaging and Presence Protocol의 약자로 말 그대로 확장가능한 메시징과 상태를 위한 규격이다. XML을 기반으로하는 메시징 지향 미들웨어용 통신 프로토콜로 보면된다. 간단하게 대입하면 구글톡에서의 유저의 상태(온라인/자리비움/오프라인)와 유저간의 양방향 채팅을 할때 통신에 사용되는 것으로 이해 하면 된다. 원래는 Jabber라는 이름으로 개발되어 오다가 XMPP로 국제 인터넷 표준화 기구에서 규정하였다.
2. XMPP Protocol
- 넷상의 두 지점간의 통신 규격을 정의한 것으로 user@server.com/mobile 과 같은 이메일 형식으로 각각의 지점이 표현되고 양 지점간의 메시징, 상태값들이 실시간으로 전달이 가능하게 하는 규격이다. 이론상으로는 위와 같은 지점의 표현은 서버별로 무한대로 생성이 가능한 규격으로 설명이 가능하다.
3. IM?만을 위한 Protocol
- 인스턴스 메시징을 특화된 서비스 처럼 보이지만 Presence값도 구독이라는 과정을 통하여 나를 구독하는 모든 지점을 향하여 브로드캐스팅에 사용되면 큰 활용면을 가지고 있는 셈이다.
4. XMPP 아키텍텍쳐
- 주로 3가지로 설명된다. Server, Client, Gateway
(출처) http://www.xmpp.co.kr/?q=node/72
a. Server
. DNS에 의한 호스트이름 또는 IP로 나타내진다.
. XMPP Service를 제공하는 Server Software List (http://xmpp.org/xmpp-software/servers/)
b. Client
. 서버와 호스트이름과 ID를 이용한 계정을 가진다.
. 사용가능한 무료 Client (http://xmpp.org/xmpp-software/clients/)
c. Gateway
. Client 와 같이 특정 서버에 연결되고 Gateway를 통하여 다른 네트워크 또는 다른 프로토콜의 IM Protocal과 연결할수 있게 한다.
5. 더 읽어 볼 거리
- jQuery-XMPP-plugin https://github.com/maxpowel/jQuery-XMPP-plugin
- node-xmpp https://github.com/node-xmpp/node-xmpp
[참고링크]
'Development > Background Knowledge' 카테고리의 다른 글
[AWS] EC2에 있는 Ubuntu 서버에 FTP Server 설치 하기 (2) | 2014.02.12 |
---|---|
[AWS] EC2 Instance에 key-pair 없이 로그인 하기(Ubuntu) (0) | 2014.02.11 |
[번역] THE COMPLETE GUIDE TO CENTERING A DIV (0) | 2014.02.04 |
SSL 프로토콜 (0) | 2014.01.26 |
SSL이란? (1) | 2014.01.25 |