SOAP(Simple Object Access Protocol)은 XML 언어를 이용하여 분산환경에서의 정보 교환을 해주는 프로토콜이다. HTTP, HTTPS, SMTP를 통하여 XML 기반의 메시지가 네트워크에서 교환된다. 언어/OS와 독립적이고, 물리적으로 인접하지 않은 서버에 정보를 요청하고 요청에 대한 응답 값을 확인할 수 있다.
SOAP 메시지 구조
- Envelope : 모든 SOAP 메시지의 루트 요소이며 header, body를 포함.
- header : 필수적이지 않은 항목으로 SOAP 노드로만 처리될 애플리케이션 관련 정보를 전달하는데 사용.
- body : 필수적인 항목으로 메시지의 최종 수신인을 대상으로 하는 정보를 포함.
- falut : SOAP body의 하위 요소이며 오류 보고에 사용.
장점
- 프록시와 방화벽에 구애받지 않고 쉽게 통신 가능.
- 플랫폼 및 프로그래밍 언어에 독립적.
- 간단하고 확장 가능.
- 멀티파트 MIME 구조를 사용하여 첨부를 통합하는 SOAP XML 메시지를 지원.
- 분산 컴퓨팅 환경을 다루기 위해 설계.
- 에러 처리에 대한 내용이 기본적으로 내장.
단점
- 다른 기술과 비교해서 상대적으로 느리지만 네트워크 속도의 발전과 성능 최적화 기술의 발전으로 많은 부분 해결됨.
- REST 연동에 비해 복잡하고 무거움.
- 개발이 어렵고, 툴이 필요함.
'Web Hacking > 이론적인 내용' 카테고리의 다른 글
Command Injection이란? (0) | 2017.09.29 |
---|---|
파일 업로드 취약점이란? (0) | 2017.09.22 |
파일 다운로드 취약점이란? (0) | 2017.09.15 |
CSRF(Cross Site Request Forgery)란? (0) | 2017.09.08 |
XSS란? (2) | 2017.09.01 |