실습

Open API

dalovee 2022. 8. 18. 10:04
728x90

Open API

  • 사용자가 쉽게 사용할 수 있게 함수나 메소드 만들어주는것도 하나의 api라고 함
  • url 요청문을 통해서 웹서버에 요청을 보내 데이터를 받아오는 걸 open api라고 함

 

  • 크롤링을 하려면 서버에 많이 부담이 되기 때문에 open api를 통해 데이터를 제공함
    -> 그걸 받아서 자유롭게 활용하면 됨

 

Open API 제공처

 

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