본문 바로가기
Archive

[18] Request

by livemehere 2022. 4. 3.

Request의 구성

URL ?

Uniform Resource Locator 의 약자입니다.

리소스가 어디에 있는지, 고유한 값을 나타냅니다.

그림과 같이 해석할 수 있습니다.

대표적 Method 종류

일반적인 status코드 응답방식

GET

  • 200 : 데이터를 반환할때
  • 401 : 권한이 없을때
  • 403 : 특정한 권한이 없을때(admin)
  • 404 : 요청을 잘못 했을때
  • 405 : 해당 method를 지원하지 않을때

POST

  • 201 : created 생성
  • 401 : 권한이 없을때
  • 403 : 특정한 권한이 없을때(admin)
  • 404 : 요청을 잘못 했을때
  • 409 : conflict, 만들고자 하는 리소스가 이미 있어서 충돌이 날때

PUI, DELETE, PATCH

  • 200 : OK
  • 204 : 성공적인 삭제를 알림
  • 403 : 특정한 권한이 없을때(admin)
  • 404 : 요청을 잘못 했을때
  • 405 : 해당 method를 지원하지 않을때

서버의 데이터를 읽기만 하는 Method

  • GET
  • HEAD
  • OPTIONS
  • TRACE

사용자가 얼마나 많은 요청을해도 서버의 데이터는 변경되지 않습니다.

서버의 데이터를 변경하는 Method

  • POST
  • PUT
  • DELETE
  • PATCH

그밖의 좋은 관습

GET

  • body는 비어있어야 한다(특정 URL을 지정해서 데이터를 받기때문)
  • response에는 body로 데이터를 채워주어야한다.
  • safe하다.(서버의 데이터를 변경하지 않고, 읽기만 하기때문)
  • Idempotent(멱등하다) yes

동일한 요청을 수많이,빠르게 해도 그 수에 상관없이 항상 서버를 동일한 상태로 유지할 수 있고, 그 요청들이 같은 효과를 지닐때 멱등성을 가졌다고 합니다.

  • cache가 가능

HEAD

  • safe
  • Idempotent yes

POST

  • not safe
  • Idempotent X
  • cache는 부분적으로 가능

PUT

  • not safe
  • Idempotent yes
  • cache 불가능

요청을 아무리 많이해도 동일한 내용으로 업데이트 되기 때문에 Idempotent하지만, 서버의 데이터를 변경하기 때문에 safe하지는 않다.

PATCH

  • not safe
  • Idempotent X

부분적으로 업데이트하기 때문에 Idempotent하지 않다.

반응형

'Archive' 카테고리의 다른 글

[20] node의 http모듈을 사용해서 서버 만들어보기  (0) 2022.04.03
[19] Header  (0) 2022.04.03
[17] status code  (0) 2022.04.03
[16] HTTP  (0) 2022.04.03
[15] node로 자동화 스크립트 만들기  (0) 2022.04.01