본문 바로가기
목차
WebApp

HTTP method

by ds31x 2026. 7. 28.
728x90
반응형

https://www.collidu.com/presentation-create-read-update-delete

HTTP method
client가
server의 resource에 대해
어떤 작업을 요청하는지를 나타냄.

 

대표적인 method는 다음과 같음.

HTTP method 의미 게시판 딥러닝 모델 서비스
GET 조회 게시글 조회 저장된 추론 결과 조회
POST 생성 또는 처리 요청 새 게시글 작성 이미지를 입력하여 추론 결과 생성
PUT 전체 교체 게시글 전체 수정 추론 결과의 부가 정보 전체 교체
PATCH 일부 수정 게시글 일부 수정 추론 결과의 일부 정보 수정
DELETE 삭제 게시글 삭제 저장된 추론 결과 삭제
HEAD header 정보만 조회 게시글의 존재 여부나 수정 시각 확인 추론 결과의 존재 여부, 크기, 수정 시각 확인

HEAD

GET과 동일하게 resource의 정보를 요청하지만, response body는 받지 않고 header만 확인할 때 사용함.

  • 추론 결과의 실제 내용은 받지 않고,
  • 해당 resource의 존재 여부, 크기, 수정 시각, content type 등을 확인할 수 있음.

GET

GET은 server에 존재하는 resource를 조회할 때 사용함.

  • 일반적으로 server의 상태를 변경하지 않음.

GET은 게시판에서 특정 게시글을 조회하는 경우에 사용됨:

GET /api/posts/101
  • 101번 게시글의 제목, 본문, 작성자 등을 가져옴.

GET은 딥러닝 모델 서비스에서 저장된 추론 결과를 조회하는 경우 사용가능함:

GET /api/predictions/501
{
  "prediction_id": 501,
  "predicted_class": "precancer",
  "confidence": 0.87
}
  • 주의할 점은 GET은 새로운 추론을 실행하는 것이 아님.
  • 이미 생성된 추론 결과를 가져오는 것임.

POST

POST는 새로운 resource를 생성하거나 server에 새로운 처리를 요청할 때 사용함.

POST는 게시판에서 새 게시글을 작성하는 경우 사용됨:

POST /api/posts
Content-Type: application/json
{
  "title": "HTTP method 질문",
  "content": "POST는 언제 사용하는가?"
}
  • 이 경우, server는 전달받은 내용을 이용하여 새로운 게시글을 생성함.

POST는 딥러닝 모델 서비스에서는 이미지를 전송하고, 고정된 모델로 추론을 수행하도록 요청하는데 사용됨:

POST /api/predictions
Content-Type: multipart/form-data
file: tongue_image.jpg

이 경우 server에서는 다음 과정이 수행됨.

이미지 수신
이미지 전처리
딥러닝 모델 추론
추론 결과 생성
결과 반환

응답 예:

{
  "prediction_id": 501,
  "predicted_class": "precancer",
  "confidence": 0.87,
  "probabilities": {
    "cancer": 0.08,
    "precancer": 0.87,
    "benign": 0.04,
    "normal": 0.01
  }
}

즉, POST를 통해,

  • 게시판에서는 새로운 게시글이 생성되고,
  • 딥러닝 모델 서비스에서는 새로운 추론 결과가 생성됨.

PUT

PUT은 기존 resource의 전체 내용을 새로운 내용으로 교체할 때 사용함.

PUT은 게시판에서 게시글 전체를 수정하는 경우 사용됨:

PUT /api/posts/101
Content-Type: application/json
{
  "title": "수정된 제목",
  "content": "수정된 본문",
  "is_public": true
}
  • 101번 게시글의 기존 내용 전체를 새로운 내용으로 교체함.

또한 PUT

  • 딥러닝 모델 서비스에서는 추론 결과 자체를 수정하기보다,
  • 추론 결과에 연결된 부가 정보(metadata)를 전체 교체하는 경우에 사용할 수 있음.
PUT /api/predictions/501/metadata
Content-Type: application/json
{
  "image_name": "tongue_image.jpg",
  "note": "추가 검토 필요",
  "reviewed": true
}
  • 기존 metadata 전체가 요청으로 전달한 내용으로 교체됨.

PATCH

PATCH는 기존 resource의 일부 정보만 수정할 때 사용함.

PATCH는 게시판에서 제목만 수정하는 경우 등에 주로 사용됨:

PATCH /api/posts/101
Content-Type: application/json
{
  "title": "제목만 수정"
}
  • 본문과 다른 정보는 그대로 유지됨.

PATCH는 딥러닝 모델 서비스에서 추론 결과의 확인 여부만 수정하는 경우 등에 사용가능:

PATCH /api/predictions/501
Content-Type: application/json
{
  "reviewed": true
}
  • 추론 class와 probability는 그대로 두고, reviewed 값만 변경함.

참고로, PUTPATCH의 차이는 다음과 같음.

  • PUT : resource 전체 교체
  • PATCH : resource 일부 수정

DELETE

DELETE는 server에 저장된 resource를 삭제할 때 사용함.

DELETE는 게시판에서 게시글을 삭제하는 경우등에 사용됨:

DELETE /api/posts/101

또한 DELETE는 딥러닝 모델 서비스에서 저장된 추론 결과를 삭제하는 경우 사용됨:

DELETE /api/predictions/501
  • 삭제가 성공하고 반환할 내용이 없는 경우에는
  • 다음과 같은 status code 만을 이용할 수도 있음.
204 No Content

정리

  • GET : server에 저장된 resource를 조회할 때 사용함.
    • 게시글 조회
    • 저장된 추론 결과 조회
  • POST : 새로운 resource를 생성하거나 server에 처리를 요청할 때 사용함.
    • 새 게시글 생성
    • 이미지를 입력하여 새로운 추론 결과 생성
  • PUT : 기존 resource 전체를 새로운 내용으로 교체할 때 사용함.
    • 게시글 전체 교체
    • 추론 결과의 부가 정보 전체 교체
  • PATCH : 기존 resource의 일부 내용만 수정할 때 사용함.
    • 게시글 일부 수정
    • 추론 결과의 일부 정보 수정
  • DELETE : server에 저장된 resource를 삭제할 때 사용함.
    • 게시글 삭제
    • 저장된 추론 결과 삭제

같이 보면 좋은 자료들

https://dsaint31.me/mkdocs_site/CE/ch06/ce06_2_03_Internet/#protocol

 

BME

DNS Firewall HTTP Internet TCP/IP WWW Internet Internet은 Network 의 Network를 가리키며, 기존의 WAN들을 전세계적으로 연결한 것이 Internet임. Internet is not actually a physical network; it’s a set of layered protocols. 계층화

dsaint31.me

 

728x90

'WebApp' 카테고리의 다른 글

curl을 이용한 HTTP method 실습  (0) 2026.07.30
REST API  (0) 2026.07.28
[HTTPS] certbot을 통한 nginx에서 HTTPS 설정.  (0) 2023.09.10
[HTTPS] Certification 갱신 : certbot renew  (0) 2023.09.10
[HTTPS] certbot 사용법 : chain 삭제  (0) 2023.09.10