웹 서비스와 관련 프로토콜
웹 서비스
웹 서비스란, 클라이언트의 컴퓨터 내부 메모리가 아닌 네트워크 상에서 서로 다른 컴퓨터간의 상호작용을 위한 소프트웨어 시스템을 뜻 한다. 분산 시스템이러한 컴퓨터간의 상호작용을 위한 프로토콜&스택으로 HTTP(S), SOAP, SMTP, WSDL UDDI, XML, SSL등이 있다. 추가로 웹의 작동원리는 다음과 같다.
HTTP(Hyper-Text Transfer Protocol)
http란, HTML파일, 이미지, 동영상, 텍스트 등 다양한 데이터를 전송할 수 있도록 만든 프로토콜이다. stateless, connectionless로 각 프로토콜 요청간의 비연결성, 무상태성이 특징이다. 더 자세한 내용은 HTTP 글에서 다루도록 하겠다.
SOAP(Simple Object Access Protocol)
SOAP이란, HTTP, HTTPS, SMTP등을 통해서 XML 기반의 메시지를 네트워크 상에서 교환하는 프로토콜을 뜻 한다. XML을 근간으로 헤더와 바디를 조합하는 디자인 패턴으로 설계되어 있다. 헤더에는 선택사항이나 보안, 트랜잭션 정보를 하는 메타 정보를 가지며, 바디 부분에는 주요한 정보들이 담겨져 있다. 분산 환경에 적합하고 플랫폼과 프로그래밍 언어가 독립적이라는 장점이 있으며, REST에 비하여 상대적으로 무겁고, 구조가 복잡하다는 단점이 있다.
XML(EXtensible Markup Language)
XML이란, HTML과 비슷한 문자 기반의 마크업 언어로 데이터를 저장하고 전달할 목적으로 만들어진 언어이다. 웹 서비스 프로토콜을 전송할 때 사용된다.
SMTP(Simple Mail Transfer Protocol)
SMTP란, 이메일을 보내기 위한 프로토콜로 '간이 전자 우편 전송 프로토콜'이라고 부른다. TCP 포트는 25번으로 모든 문자가 7bit 아스키 코드로 되어야한다는 규정이 되어있다.
UDDI(Universal Description, Descovery Intergration)
기업이나 단체, 개인이 자신들의 서비스 내용을 인터넷 상에서 등록할 수 있도록 해주는 XLML 기반의 등록처이다. 이 등록처에 WSDL이라는 웹 서비스 기술문서로 서비스 제공 장소, 서비스 메시지 포맷, 프로토콜을 기술해서 등록한다.