ABOUT

성능과 운영 안정성을 함께 끌어올리는 개발자입니다.

92% Positional Error Reduction
79% p95 Latency Improvement
90%+ Long Tasks Reduction

2022.02 · 한국장학재단

우수 멘티

한국장학재단 사회 리더 대학생 멘토링 IT

2022.10 · 동작구청

우수 인재상

동작구청 우수 SW 인재

2025.05 · (주) 그랩

프로그래밍 우수상

(주) 그랩 우수 프로그램 개발

2025.05 · AWSKRUG

AWS한국사용자모임 발표

AI agent 스크립트 튜닝 관련 발표

ComputerScience

Development

Engineering

Trouble Shooting

GUESTBOOK

첫 마음부터
함께 나누는 온기

방명록 작성하러 가기

SUBSCRIBE

최신소식을
편하게 만나보세요.

종류

 

정의

클라이언트가 서버에 요청하는 방식

클라이언트가 서버에 어떤 동작을 요청할지를 나타내는 방식입니다.

RESTful API 설계의 핵심 요소 중 하나로, 각 메서드는 특정 목적에 맞게 사용됩니다.

서버의 상태를 변경하지 않는지(안정성), 동일 요청을 여러 번 보내도 결과가 같은지(멱등성) 고려해야 합니다.

GET - 조회 ( 안전, 멱등 )

서버의 리소스를 조회합니다.
 

GET

GET 메서드 정의서버로부터 리소스를 조회할 때 사용되는 메서드입니다. 요청 시 본문이 없고, 데이터를 변경하지 않습니다.특징💬 멱등성 보장: 몇 번 호출해도 결과가 같음📦 URL에 파라미터

develop-enchantment.tistory.com

 

POST - 생성 ( 비안전, 비멱등 )

서버에 데이터를 전송하여 리소스를 생성합니다.
 

POST

종류정의리소스를 생성하거나 서버에 데이터를 전송하는 메서드POST는 클라이언트가 서버에 데이터를 전송하여 새로운 리소스를 생성하거나 서버 측 처리를 요청할 때 사용됩니다.일반적으로

develop-enchantment.tistory.com

PUT - 전체 수정 ( 멱등 )

지정된 리소스를 전체 대체합니다.
 

PUT

종류 정의리소스를 생성하거나 완전히 대체하는 데 사용되는 메서드PUT은 클라이언트가 서버에 지정한 리소스를 완전히 덮어쓰기하거나 새 리소스를 생성할 때 사용됩니다.요청 본문에 포함된

develop-enchantment.tistory.com

DELETE - 삭제( 멱등 )

지정된 리소스를 삭제합니다.
 

DELETE

종류 정의리소스를 삭제할 때 사용하는 메서드DELETE는 클라이언트가 서버의 특정 리소스를 삭제하도록 요청할 때 사용됩니다.RESTful API에서는 CRUD의 Delete 작업에 해당합니다.특징리소스를 제거

develop-enchantment.tistory.com

HEAD - 메타 정보 조회 (안전, 멱등)

응답 본문 없이 헤더만 반환합니다.
 

HEAD

종류정의리소스의 헤더 정보만 조회하는 HTTP 메서드HEAD는 서버에 리소스를 요청할 때 본문 없이 응답 헤더 정보만 반환합니다.다운로드 여부, 캐시 유효성 검사, 존재 확인 등에서 유용하게 사

develop-enchantment.tistory.com

 

OPTIONS - 지원 메서드 확인 (안전, 멱등)

서버가 해당 리소스에서 지원하는 메서드를 반환합니다. CORS(교차 출처 리소스 공유) 요청 시 사전 확인용으로 사용됩니다.

  • 안전성(Safe): O
  • 멱등성(Idempotent): O
  • 사용 예: CORS 프리플라이트 요청

TRACE - 경로 반사 (보안상 비권장)

요청을 그대로 서버에 반사하여 네트워크 경로를 추적하는 용도입니다. 보안 취약점 노출 위험이 있어 대부분의 서버에서는 비활성화되어 있습니다.

  • 안전성(Safe): O
  • 멱등성(Idempotent): O
  • 사용 예: 디버깅 용도 (실제 사용 거의 없음)

CONNECT - 터널링 (HTTPS 등 특수 목적)

프록시 서버를 통해 SSL 터널을 설정하는 데 사용됩니다. 클라이언트와 서버 간에 암호화된 연결이 필요할 때 사용됩니다.

  • 안전성(Safe): X
  • 멱등성(Idempotent): X
  • 사용 예: HTTPS 프록시 요청

정의

Idempotent & Safe 메서드 구분
HTTP 메서드는 클라이언트가 서버에 어떤 동작을 요청할지를 나타내는 방식입니다. RESTful API 설계의 핵심 요소 중 하나로, 각 메서드는 특정 목적에 맞게 사용됩니다.
 

Idempotent & Safe 메서드 구분

  • 안전(Safe): 서버의 상태를 변경하지 않음 (예: GET, HEAD, OPTIONS)
  • 멱등(Idempotent): 동일 요청을 여러 번 보내도 결과가 같음 (예: GET, PUT, DELETE, HEAD, OPTIONS)
  • 비멱등: 요청이 서버 상태를 변경하거나, 여러 번 실행 시 결과가 달라짐 (예: POST, PATCH)

 

사용 예제 코드 (JavaScript - fetch)

// GET 요청
fetch('/api/users')
  .then(res => res.json())
  .then(data => console.log(data));

// POST 요청
fetch('/api/users', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ name: 'Alice', age: 30 })
});

// PUT 요청
fetch('/api/users/1', {
  method: 'PUT',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ name: 'Alice', age: 31 })
});

 

 

728x90