실습
Open API
dalovee
2022. 8. 18. 10:04
728x90
Open API
- 사용자가 쉽게 사용할 수 있게 함수나 메소드 만들어주는것도 하나의 api라고 함
- url 요청문을 통해서 웹서버에 요청을 보내 데이터를 받아오는 걸 open api라고 함
- 크롤링을 하려면 서버에 많이 부담이 되기 때문에 open 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/)
HTTP(Hyper Text Transfer Protocol)
- 문서와 문서 사이를 참조를 통해 이동하는 문서를 하이퍼 텍스트 문서라고 함
- 프로토콜 : 서로 다른 시스템간의 통신을 하기 위한 약속, 통신규약
✅ 추가 공부 : osi 7계층 공부
HTTP 통신 방식
- client는 요청할 수 있지만 server는 요청할 수 없음, 단방향 통신
- HTTP 방식으로 서버에 요청을 보내고 그에 맞는 데이터를 서버가 제공을 해줌(json 형식)
HTTP Packet
- 서버와 클라이언트 사이에 주고 받는 데이터
- Header : 요청에 대한 정보, 메타 정보
- Request Header : URL, Method, 브라우저 정보 등 포함
- Response Header : 콘텐츠에 사용된 인코딩, 서버 소프트웨어 및 기타 정보 등 포함
- Body : 실제 데이터, 이미지, json파일 등...
웹사이트에서 F12 누르면 개발자들을 위한 도구를 볼 수 있음
- Network탭
all : 요청 받은 모든 파일들을 볼 수 있다. - Doc탭
user-agent : 내 컴퓨터 정보가 담겨 있음 그렇기 때문에 다운받을때 자동적으로 window인지 알 수 있음
Header 부분에 대해서 조금 더 살펴보자면,
- HTTP 메소드
- 서버에 요청을 보내는 방식
- GET 방식 : URL을 통해서 데이터를 담아 요청하는 방식
https://news.naver.com/main/main.naver?mode=LSD&mid=shm&sid1=100(쿼리부분) - POST 방식 : Body 영역에 데이터를 담아 요청하는 방식
- 이거 외에도 방식이 다양함(put, ..)
- HTTP 상태코드(응답코드)
- 클라이언트가 서버에 요청을 하면 서버는 요청에 대한 처리 상태를 숫자로 반환해서 보여줌
- 2xx : 요청성공(ex. 200)
- 3xx : 요청이 유효하지만 주소가 변경(ex.301)
- 자동으로 변경된 주소로 이동
- 4xx : 클라이언트 오류(ex. 404)
- 5xx : 서버오류(ex. 500)
참고자료 : https://developer.mozilla.org/ko/docs/Web/HTTP/Status
HTTP 상태 코드 - HTTP | MDN
HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려줍니다. 응답은 5개의 그룹으로 나누어집니다: 정보를 제공하는 응답, 성공적인 응답, 리다이렉트, 클라이언트 에러, 그리고
developer.mozilla.org
URL 구조
- PORT 번호
- HTTP : 80포트를 사용함
- HTTPS : 443 포트를 사용함 - 보안문제 때문에 HTTPS를 많이 사용함(HTTP+SSL)
- 생략가능
728x90