[Network] HTTP Method와 멱등성

2025. 3. 19. 11:26·공부하기/Network

🌀 HTTP가 뭔가요?

HTTP stands for 'Hyper Text Transfer Protocol'
  • 어플리케이션 계층에서 데이터를 주고받기 위해 사용하는 프로토콜이다.
  • 전송 계층 프로토콜으로 TCP를 사용한다.

🌀 HTTP Method에 대해 설명해 주세요.

  • HTTP 요청이 주어진 리소스에 수행하길 원하는 행동을 나타낸다.
  • 주로 사용하는 메서드로는 ``GET``, ``POST``, ``PUT``, ``DELETE``, ``PATCH``가 있다.

💬 GET과 POST의 차이는 무엇인가요?

  • GET 요청은 데이터를 받기를 원하는 요청
  • POST 요청은 데이터를 서버로 제출하는 요청

💬 POST, PUT, PATCH의 차이는 무엇인가요?

  • 세 메서드 모두 데이터를 서버로 제출하는 요청 메서드이다.
  • POST는 데이터의 제출 그 자체를 의미한다.
    • 새로운 리소스를 생성한다는 의미를 주로 가진다.
    • 필요에 따라 Body를 포함하고자 하는 요청을 POST로 보내기도 한다.
  • PUT과 PATCH는 서버에 저장된 데이터의 변경의 의미를 포함한다.
    • PUT은 기존 데이터를 제출한 데이터로 덮어쓰는 작업을 의미한다. (전체 변경)
    • PATCH는 기존 데이터의 일부를 변경하는 작업을 의미한다.

💬 HTTP Method의 멱등성에 대해 설명해 주세요.

멱등하다: 첫 번째 수행 이후 여러 차례 수행해도 결과를 변경시키지 않는 작업 또는 기능의 속성
예를 들어 어떤 숫자에 1을 곱하는 연산은 여러 번 수행해도 처음 1을 곱한 것과 같은 숫자가 되기 때문에 멱등하다.
  • 같은 요청을 여러 번 보내더라도 서버의 상태가 한 번 요청했을 때와 동일한 상태로 유지되는 성질을 의미한다.
메서드 멱등성 설명
GET O 같은 요청을 여러 번 보내도 결과가 동일하다.
PUT O 사용자 정보를 덮어쓰기 때문에 같은 요청을 여러 번 보내도 결과가 변하지 않는다.
DELETE O 같은 요청을 여러 번 보내도 리소스는 한 번만 삭제된다.
POST X 요청할 때마다 새로운 리소스가 생성되어 같은 데이터가 중복 저장될 수 있다.
PATCH X 단순 데이터 수정이라면 멱등성을 가질 수 있으나, 부분 데이터의 값을 증가시키는 요청의 경우 멱등이 아니게 되는 경우가 존재한다.
  • 안정성, 데이터 일관성을 확보하기 위해 항상 멱등성을 고려하여야 한다.
  • 멱등성을 가지는 method(GET)의 경우 캐싱을 고려하는 등으로 서버 부하를 줄이는 방법을 고려해볼 수 있다.

🔗 Reference

  • Tech Interview
  • HTTP란 무엇입니까?
  • 멱등성이 뭔가요?
저작자표시 비영리 변경금지 (새창열림)

'공부하기 > Network' 카테고리의 다른 글

[Network] HTTP 응답 상태 코드  (0) 2025.03.20
[Network] 쿠키와 세션  (0) 2025.03.18
'공부하기/Network' 카테고리의 다른 글
  • [Network] HTTP 응답 상태 코드
  • [Network] 쿠키와 세션
다섯자두
다섯자두
All I need is 💻 , ☕️ and a dash of luck
  • 다섯자두
    subbni
    다섯자두
  • 전체
    오늘
    어제
    • 전체 글 (89)
      • 개발 이야기 (0)
      • 만들어보기 (17)
        • FromBookToBook (5)
        • Spring (5)
        • Node.js & React (3)
        • TroubleShooting (4)
      • 공부하기 (72)
        • Network (3)
        • Cloud (1)
        • Database (5)
        • Java (13)
        • Javascript (0)
        • Spring (9)
        • React (18)
        • Algorithm (8)
        • 자료구조 (7)
        • ETC (8)
      • 회고 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • velog
  • 공지사항

  • 인기 글

  • 태그

    mysql
    최단거리
    redis
    Express
    network
    Til
    Database
    서명알고리즘
    springboot
    오블완
    재시도 로직
    SQS
    실시간 데이터 전송 기술
    로그인
    aws
    자료구조
    java
    SQL
    SSE
    pdf 자동 다운로드
    Spring
    알고리즘
    JPA
    알림 기능
    outbox 패턴
    티스토리챌린지
    HTTP
    프로젝트
    pdf 프리뷰 실패
    outbox
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
다섯자두
[Network] HTTP Method와 멱등성
상단으로

티스토리툴바