상세 컨텐츠

본문 제목

[네트워크] HTTP 요청 방식 GET, POST, PUT, DELETE

네트워크

by 정성윤TV 2025. 3. 29. 20:49

본문

HTTP 요청 방식 (Method)

HTTP는 클라이언트가 서버에 무엇을 요청하는지를 표현하기 위해 다양한 요청 메서드를 제공한다.
가장 많이 사용되는 메서드는 GET, POST, PUT, DELETE 등이다.


2-1. 주요 HTTP 요청 방식 요약

GET 데이터 조회 (읽기) 게시글 목록 조회, 검색
POST 데이터 생성 회원가입, 로그인
PUT 데이터 전체 수정 게시글 전체 내용 변경
PATCH 데이터 일부 수정 게시글 제목만 수정
DELETE 데이터 삭제 게시글 삭제
OPTIONS 지원하는 메서드 확인 사전 요청 처리 (CORS 등)
HEAD 응답 헤더만 요청 리소스 존재 여부 확인용

2-2. GET 방식

  • 데이터를 URL 뒤에 붙여서 전송 (쿼리스트링 방식)
  • 주소창에 노출됨 → 보안에 취약
  • 캐싱 가능 / 즐겨찾기 가능
  • 주로 데이터 조회 용도

ex) GET /search?query=apple HTTP/1.1

 

2-3. POST 방식

  • 데이터를 바디에 담아 전송
  • 주소창에 보이지 않음 → 보안 상대적으로 우수
  • 대용량 데이터 전송 가능
  • 서버가 아직 실별하지 않은 새 리소스 생성
  • 회원가입, 로그인, 결제 등 주로 사용

ex) POST /register HTTP/1.1 Content-Type: application/x-www-form-urlencoded username=kim&password=1234

2-4. PUT 방식

    • 리소스 전체를 수정하거나 새로 생성할 때 사용 (파일을 덮어씌우기 처럼 수정 한다!!)
    • 리소스가 있으면 대체
    • 리소스가 없으면 생성
    • 같은 데이터를 여러 번 전송해도 동일한 결과 (멱등성)
    • 보통 특정 id에 해당하는 데이터를 전부 갱신
    • 클라이언트가 리소스를 식별

ex) PUT /users/1 HTTP/1.1 Content-Type: application/json { "name": "Kim", "email": "kim@example.com" }

  •  

주의 하자!!

2-6. PATCH 방식

  • 리소스의 일부만 수정할 때 사용
  • 전체 데이터가 아닌 변경할 항목만 전송
  • PUT보다 효율적

ex) PATCH /users/1 HTTP/1.1 Content-Type: application/json { "email": "new@example.com" }

일부만 변경~

2-6. DELETE 방식

  • 지정된 리소스를 삭제할 때 사용
  • 요청 시 바디 없이 URI로 리소스를 식별

ex) DELETE /users/1 HTTP/1.1

 

2-7. OPTIONS 방식 

  • 특정 리소스가 지원하는 HTTP 메서드를 조회
  • 브라우저가 CORS 사전 요청(Preflight) 시 사용
  • 실제로 데이터를 처리하진 않음

2-8. HEAD 방식

  • 응답 헤더만 받고, 바디는 받지 않음
  • 리소스의 존재 여부 확인, 상태 확인용으로 사용
  • GET과 비슷하되, 본문을 제외

 참고: 멱등성(Idempotent)이란?

같은 요청을 여러 번 보내더라도 결과가 동일한 것!!! 1000번을 쏴도 똑같아야 한다!!