본문 바로가기
AI 공부/SQL

SQL (Open API와 HTTP)

by AI Sonny 2022. 8. 18.
728x90

Open API (Application Programming Interface) 란?

  • API는 프로그램의 특정한 부분에 요청해서 그 안에 있는 데이터와 서비스(기능)를 이용할 수 있게 해주는 소프트웨어 인터페이스
  • 다양한 데이터를 어디서나 쉽게 이용할 수 있도록 개방된 API이다.

 

주요 Open API 제공처

이 중에서 공공데이터포털은 공공기관으로 시스템에 대한 유지보수가 아쉽다.

 

네이버는 사설기관이라 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)
  • 밑에서 사이트에서 상세히 오류코드를 확인할 수 있다.
 

HTTP 상태 코드 - HTTP | MDN

HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려줍니다. 응답은 5개의 그룹으로 나누어집니다: 정보를 제공하는 응답, 성공적인 응답, 리다이렉트, 클라이언트 에러, 그리고

developer.mozilla.org

 

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

댓글