Rest란
REST란, 웹 상의 여러 리소스를 URI 형태로 표현하고 이 리소스에 대한 행위를 HTTP Method로 정의하는 방식이다.
REST의 요소는 크게 Method, Resource, Message로 구성된다.
예를 들어,
이름이 이재정인 사용자를 조회할게요. 라는 HTTP 요청이 있으면
'조회할게요' 부분이 Method, '사용자' 부분이 Resource, '이름이 이재정인 사용자' 부분이 Message이다.
'조회한다'의 행위이기 때문에 이 예시에선 GET Method를 사용할 것이고, http://localhost:8080/users/이재정 <- 과
같은 URI 형태로 사용될 것이다.
현재 tistory 블로그를 기준으로 아래 예시를 참고하면 이해가 될 것이다.
Python 카테고리 클릭 시
https://public-cloud.tistory.com/category/Python
Python 카테고리 내에서 Programmers 클릭 시
https://public-cloud.tistory.com/category/Python/Programmers
Python 카테고리 내에서 Django를 클릭 시
https://public-cloud.tistory.com/category/Python/Django
Rest API란
Rest 기반의 API를 웹에서 구현한 것
HTTP Method
POST: 생성
GET: 조회
PUT: 수정
DELETE: 삭제
curl 명령어
- apiKey를 URI에 담아서 전송해줘야 한다.
curl -X POST "[your Server ip]?apiKey={[your API Key]}" -H "accept: application/json;charset=UTF-8" -H "Content-Type: applicat
ion/json;charset=UTF-8" -d "{ \"np_idx\": 0, \"np_name\": \"Test-Tag\", \"np_desc\"
: \"Test Tag\", \"np_periodtype\": 0, \"np_period\": \"string\", \"np_periodexpire\"
: \"string\", \"np_adminroles\": \"\", \"np_color\": \"349fee\", \"np_static\": 0}"
Local -> Server로 curl 명령어 전송
✅http.request.method == post로 필터링 시 안 보이는 이유는 TLS로 암호화되기 때문에
Server -> Local로 packet 전송
- 서버에서 local로 200(ok)의 response 패킷을 보내준다.
- tcpdump -eni eth0 port 80 필터링으로 후 pcap 파일로 확인