(WEB) 웹 크롤링 약속, REST API 란

김현수·2023년 1월 2일
0

WEB

목록 보기
3/19

🤨 REST API 란?

웹 크롤링 하면서 정보를 요청하고 받는 과정을 개발자들끼리의 약속

HTTP 를 사용하여 통신중 더 체계적인 관리를 위한 통일된 메서드
HTTP 를 사용하는 통신에서 클라이언트가 서버에서 요청할때 사용하는 메서드

URI 를 통해 자원(리소스=URL) 지정
HTTP 메서드 : 자원에 대한 행위(HTTP Method) 표현

여기서 잠깐!
	URI 는 특정 리소스를 식별하는 통합 자원 식별자이다.
    URL 은 웹 주소라 하며, 리소스가 어디 있는지 알려주기 위한 규약이다.

▶️ API 란?

프로그램 사이를 연결하는 매개체

▶️ REST API 의 주요기능, CRUD

CREATE (생성, POST)
READ (조회, GET)
UPDATE (수정, PUT)
DELETE (삭제, DELETE)


▶️ 자원은 리소스

자원은 객체
(이름을 지닐 수 있는 모든 정보 개념적 대상)

URI 를 통해 자원 식별
(=> "/user/1" 라는 URI 식별자)

▶️ 요소

리소스 + 메서드 + 메시지

	Alex인 사용자를 생성한다.
   {"Alex" 는 리소스}
   {"생성한다" 는 메서드}
   {"Alex인 사용자를" 은 메시지}

HTTP POST , http://myweb/users/
{
  "users": {
  "name":"terry"
  }
}

=> HTTP POST 는 메서드
=> URL 이 리소스
=> 사용자에 대한 내용 은 메시지

🌳 장단점

(장)
HTTP 프로토콜의 인프라를 그대로 사용하기 때문에 별도의 인프라 구축 필요 X
모든 플랫폼에서 사용 가능
의도를 쉽게 파악 가능
서버와 클라이언트의 역할 명확
서비스 디자인에서 생길 문제를 최소화

(단)
표준 존재 X
사용 가능한 메서드 4가지 밖에 없다
구형 브라우저가 아직 제대로 지원 X

DJango 에서 Rest API

pip install djangorestframework

django_app/settings.py 에서
INSTALLED_APPS = [
...
'rest_framework',
...
]

cmd 에서 CRUD

curl -X GET http:/127.0.0.1:8000/모델명/?format=json

curl -X POST -H http://127.0.0.1:8000/모델명/{"id":0120,"name":"Alex"}

....

profile
일단 한다

0개의 댓글