3. API
01
약어 단어 의미
A Application 작업을 하는 소프트웨어
P Programming 애플리케이션에서 작업을 하도록 하는 프로그램
I Interface 프로그램이 작동하게 끔 전달하는 부분
API란?
Ex) -Application 멜론(음악재생 어플리케이션)
-Programming 멜론은 음악을 틀기 위해서 음악 재생 프로그램을 사용한다
멜론은 음악을 찾기 위해서 검색 프로그램을 사용한다
-Interface 멜론에서 누를 수 있는 음악재생 버튼
멜론에서 사용할 수 있는 검색창
4. 웹 API와 HTTP
02
API의 작동방식
컴퓨터
휴대폰 프로그램
요청(Request)
응답(Response)
-모든 웹 서비스는 API
-모든 API가 웹 서비스는 아니다
웹 서비스는 HTTP로 요청과 응답을 받는다
HTTP: HyperText Transfer Protocol
5. 웹 API와 HTTP
02
HTTP REQUEST RESPONSE
Start line HTTP Method, Request Target,
HTTP Version
HTTP version, status code, status text
Headers 추가적인 정보, key: value형식
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers
요청과 동일하지만 응답에만 사용되는 값
존재
body 실제 메시지, 내용, 모든 Body가
값을 가지고 있지는 않다
요청과 동일
GET /search HTTP/1.1
Start line
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Type: application/json
Content-Length: 257
Host: google.com
User-Agent: HTTPie/0.9.3
Headers
Body
{
"imp_uid": "imp_1234567890",
"merchant_uid": "order_id_8237352",
"status": "paid"
}
6. SOAP와 REST API
03
SOAP
- Simple Object Access Protocol
- 어떤 심플한 규칙에 따라서 객체에 접근하는 방법
- 규칙은 HTTP 요청/응답에 따른다
- WSDL(Web Services Description Language)를 사용
Start Line: POST WSDL HTTP version
Header Line: Content-Type: text/xml
Body: WSDL을 사용해서 형성된 XML
7. SOAP와 REST API
03
SOAP와 REST의 비교
REST는 SOAP에 비해서 단순하고 쉽다
REST가 SOAP와 차별화되는 혁신적인 차이?
HTTP StartLine의 HTTP Method의 적극적인 활용
대표적인 HTTP Method
GET - READ
POST - CREATE
PUT - UPDATE
DELETE - DELETE
SOAP는 WSDL을 따를 뿐이지만 REST는 프로그램이 무엇을 할 지 결정할 수 있다
8. 03 SOAP와 REST API
REST
- Representational State Transfer
- 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일
- 리소스에 HTTP URI를 부여하며 HTTP Method를 통해 CRUD 작업을 수행
- 로이 필딩이 정의
구글검색:
우크라이나
구글서버
GET
/search
?q=우크라이나
실제 리소스가 아니라
기록 상태(state)의
표현(representation)
이 반환
9. REST API Crawlling
04
크롤링(Crawlling)이란?
- Web상에 존재하는 데이터를 자동화하여 가져오는 행위
REST API는 리소스에 URI를 부여하여 간단하게 접근할 수 있는 만큼 이를 활용하면 크롤
링을 쉽게 할 수 있다
크롤러
REST
API
GET / 규칙적인 URI 변조 및
반복 요청
반환데이터 수집
DB/CSV/JSON