728x90
Open API (Application Programming Interface) 란?
- API는 프로그램의 특정한 부분에 요청해서 그 안에 있는 데이터와 서비스(기능)를 이용할 수 있게 해주는 소프트웨어 인터페이스
- 다양한 데이터를 어디서나 쉽게 이용할 수 있도록 개방된 API이다.
주요 Open API 제공처
- 공공데이터포털 (http://www.data.go.kr/)
- 네이버 Developers 센터 (http://developers.naver.com/)
- 구글 디벨로퍼 (http://developers.google.com/)
- 페이스북 for 디벨로퍼 (http://developers.facebook.com/)
- 카카오톡 디펠로터 (http://developers.kakao.com/)
이 중에서 공공데이터포털은 공공기관으로 시스템에 대한 유지보수가 아쉽다.
네이버는 사설기관이라 API를 해도 이유모를 원인도 발생하지 않고, 깔끔히 프로그램을 진행할 수 있다.
HTTP(Hyper Text Transfer Protocol) 란?
- HTML, Plain text, JSON, XML , 이미지 , 동영상 등 다양한 형태의 정보도 전송하는 프로토콜
- HTTP의 동작 방식은 다음과 같다.
클라이언트에서 서버로 데이터를 요청한다. 그러면 서버가 클라이언트가 원하는 데이터를 제공한다.
위 그림과 같이 클라이언트랑 서버는 단방향통신이라는 것을 알 수 있다.
HTTP Packet
HTTP 통신으로 서버와 클라이언트 사이에 주고 받는 데이터를 말한다.
- Request Header
- 클라이언트가 서버에 요청할 때 존재하는 헤더로 요청한 URL, Method, 브라우저 정보 등이 포함되어 있다.
- Respone Header
- 서버가 클라이언트의 요청에 대한 응답을 할 때 존재하는 헤더로 콘텐츠에 사용된 인코딩, 응답을 생성하기 위해 서버 시스템에서 사용되는 서버 소프트웨어 및 기타 정보 등이 포함되어 있다.
- HTTP Body
- 서버에서 응답시 클라이언트가 요청한 실제 데이터가 포함되어 있다.
- HTML , image, css , javascript, text ...
다음의 그림을 참고하면 이해하기 쉽다!
HTTP 메소드 와 상태코드
HTTP 메소드란?
- 서버에 요청을 보내는 방식
- GET 방식 : URL 에 데이터를 담아 요청 (url'?'다음 부분이라 생각)
- POST 방식 : GET 방식과는 달리 body영역에 데이터를 담아 요청 (body영역에 정보를 담아서 제공)
HTTP 상태 코드(응답)
- 클라이언트가 서버에 요청을 하면, 서버는 요청에 대한 처리 상태를 숫자로 반환하는데 이를 상태 코드라고 한다.
- 2xx: 요청성공(ex. 200)
- 3xx: 요청이 유효하지만 주소가 변경(ex. 301) → 자동으로 변경된 주소로 이동
- 4xx: 클라이언트 오류(ex. 404) 없는 페이지
- 5xx: 서버 오류(ex. 500)
- 밑에서 사이트에서 상세히 오류코드를 확인할 수 있다.
URL 구조 (참고)
다음 글에서는 네이버와 공공데이터의 Open API를 가지고 실습을 해볼 예정이다.
수업은 이해는 하긴했으나 데이터가 어떤식으로 이동되는지에 대한 개념이 아직 부족한 것 같다.
복습을 열심히 하자!
728x90
'AI 공부 > SQL' 카테고리의 다른 글
SQL (having 절과 Join) (0) | 2022.08.16 |
---|---|
SQL (조회하기 실습 및 One-hot Encoding) (0) | 2022.08.12 |
SQL (DDL,DML,DCL) (0) | 2022.08.11 |
SQL (데이터의 이해와 SQL) (0) | 2022.08.11 |
댓글