본문 바로가기

Python/Crawling

[Python웹크롤링] REST API에 대한 이해

반응형

웹크롤링을 하면서 웹사이트에 정보를 요청하고 받는 과정을 배우면서 REST API에 대해서 공부를 좀 하게 되었다. 그런데 사실 어려운 개념이기도 한 것 같고 여러 블로그의 글을 찾아보다가 너무 모르겠어서 유투브에 깊게는 아니지만 얕게라도 쉽게 설명해 놓은 영상을 찾았고 추가적으로 조대협님의 블로그의 글을 참고하며 얕게나마 개념을 설명하고 유투브 영상 링크를 걸어 놓기로 하겠다.

REST의 유래

REST는 웹의 본래 우수성을 100% 활용하지못하고 판단하여 웹의 장점을 최대한 활용할 수 있는 네트워크 기반의 아키텍쳐 즉 개발자들끼리의 약속(?)같은 형식을 만들었는데 그것이 REST(Representational Safe Transfer) 이다.

 

REST의 요소

REST = 리소스 + 메소드 + 메세지  이렇게 3가지 요소로 구성된다. 예를 들어 '이름이 john인 사용자를 생성한다' 라는 호출이 있을 때, '사용자' = 리소스 , '생성한다' = 메서드, '이름이 john인 사용자' = 메세지가 된다. 이를 REST형태로 표현해본다면 

HTTP POST , http://myweb/users/

{  

   "users":{  

      "name":"terry"

   }

}

위와 같은 형태가 된다. 여기서 HTTP POST는 메서드가 되고, URL이 리소스가 되면 사용자에 대한 내용(메세지)는 JSON 문서를 이용해 표현된다.

HTTP 메소드

HTTP 메소드에 관해서는 밑의 표와 같이 표현할 수 있으며 CRUD(Create, Read, Update, Delete) 에 상응한다.

Post Create
Get Read(=Select)
Put Update
Delete Delete

 

즉, Post 방식은 만들어내는 기능을하고 Get은 읽는(조회하는) 기능을하고 Put은 업데이트하며 Delete는 말그대로 삭제하는 기능을 한다. 


https://bcho.tistory.com/953

 

REST API의 이해와 설계-#1 개념 소개

REST API의 이해와 설계 #1-개념 소개 REST는 웹의 창시자(HTTP) 중의 한 사람인 Roy Fielding의 2000년 논문에 의해서 소개되었다. 현재의 아키텍쳐가 웹의 본래 설계의 우수성을 많이 사용하지 못하고 있다고 판..

bcho.tistory.com

https://www.youtube.com/watch?v=iOueE9AXDQQ

 

반응형