웹크롤링을 하면서 웹사이트에 정보를 요청하고 받는 과정을 배우면서 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://www.youtube.com/watch?v=iOueE9AXDQQ
'Python > Crawling' 카테고리의 다른 글
[Python웹크롤링] Selenium과 Webdriver를 이용한 브라우저 자동 검색 (0) | 2020.01.30 |
---|---|
[Python웹크롤링] Selenium을 이용해 사람인 채용정보 크롤링 (0) | 2020.01.28 |
[Python웹크롤링] Session 활성화와 Cookie 전송 받기 (0) | 2020.01.12 |
[Python웹크롤링] 웹크롤링시 User-Agent의 사용 (0) | 2020.01.09 |
[Python웹크롤링] requests 와 lxml 을 사용한 스크래핑 (0) | 2020.01.08 |