728x90
반응형
SMALL
1. REST와 SOAP의 기본 개념
REST
- REST는 데이터를 주고받는 데 가볍고 단순한 방식이에요.
- 보통 HTTP를 통해 요청과 응답을 주고받습니다.
(HTTP는 우리가 웹사이트를 볼 때 사용하는 통신 방식이에요!) - 데이터를 주고받는 형식으로 JSON이나 XML을 주로 사용합니다.
📌 쉽게 이해하기
REST는 택배 체계와 비슷해요! 📦
- 내가 원하는 물건(데이터)을 주소(URL)로 요청하면 택배 기사(서버)가 물건을 가져다줍니다.
- JSON이나 XML은 상자(포장 형태)로 이해하면 됩니다.
SOAP
- SOAP은 데이터를 주고받는 데 더 복잡하고 엄격한 규칙을 사용해요.
- 보통 XML 형식을 사용하고, 보안과 메시지 형식에 많은 규칙이 있습니다.
- REST보다 무겁지만, 은행 시스템 같은 고도 보안이 필요한 곳에서 주로 사용합니다.
📌 쉽게 이해하기
SOAP은 고급 우체국 서비스와 같아요! 🏦📮
- 물건(데이터)을 보내기 전에 모든 서류와 인증 절차를 거쳐야 합니다.
- 보안과 정확성이 중요할 때 적합하지만 시간이 더 걸립니다.
2. REST와 SOAP의 차이점
특징 | REST | SOAP |
---|---|---|
데이터 포맷 | JSON, XML | XML만 사용 |
프로토콜 | HTTP | HTTP, SMTP 등 다양한 프로토콜 |
속도 | 빠르고 가벼움 | 느리고 무거움 |
사용 예시 | 소셜 미디어, 웹 서비스 | 은행, 결제 시스템 |
보안 | 기본 보안 (SSL 등 사용) | 고급 보안 (WS-Security 등) |
3. REST 예시 코드
학생 정보 가져오기 (GET 요청)
-- REST API에서 학생 정보를 요청하는 SQL 쿼리 예시
SELECT *
FROM Students
WHERE StudentID = 1;
-- 학생 ID가 1인 학생 정보를 요청합니다.
동작 설명
SELECT *
는 학생 정보를 모두 가져오는 명령입니다.WHERE StudentID = 1
은 특정 학생(1번 ID) 정보를 요청하는 조건입니다.- 이 요청은 RESTful 서비스에서 GET 요청으로 발송됩니다.
예)GET /students/1
4. SOAP 예시 코드
학생 정보 요청 (SOAP XML 메시지)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:stu="http://students.example.com">
<soapenv:Header/>
<soapenv:Body>
<stu:GetStudent>
<stu:StudentID>1</stu:StudentID>
</stu:GetStudent>
</soapenv:Body>
</soapenv:Envelope>
동작 설명
- SOAP 메시지는 Envelope(봉투)로 데이터를 감쌉니다.
-
는 메시지의 부가 정보를 담고 있고,에가 있습니다.Header
- 여기서는 학생 ID가 1인 정보를 요청하는 내용이 포함됩니다.
- 요청 데이터
Body
- 서버는 XML 형식으로 응답을 돌려줍니다.
5. REST와 SOAP의 작동 과정 비교
📌 REST 요청
- 클라이언트:
GET /students/1
(학생 ID가 1인 정보를 주세요!) - 서버: JSON 형식으로 응답
{ "StudentID": 1, "Name": "Alice", "Age": 22, "Major": "Computer Science" }
📌 SOAP 요청
- 클라이언트: XML 메시지 전송
(학생 ID가 1인 정보를 주세요!) - 서버: XML 형식으로 응답
<soapenv:Envelope> <soapenv:Body> <GetStudentResponse> <StudentID>1</StudentID> <Name>Alice</Name> <Age>22</Age> <Major>Computer Science</Major> </GetStudentResponse> </soapenv:Body> </soapenv:Envelope>
6. 쉽게 외우는 요점
- REST는 빠르고 가볍다! 🚀 (소셜미디어, 웹서비스)
- SOAP은 느리지만 안전하다! 🛡️ (은행, 결제 시스템)
728x90
반응형
SMALL
'네트워크 > API 및 웹 서비스' 카테고리의 다른 글
실생활 비유로 배우는 웹 통신의 큰 그림: 서버와 클라이언트 관계 - 코드카인 티스토리 (0) | 2024.12.23 |
---|---|
[네트워크] 프로세스 간 통신(IPC): 소켓(Socket) 개념과 Java·Python 예제 코드 (0) | 2024.12.18 |