HTTP에 대한 간략한 정리

Dorr·2022년 4월 12일
0

네트워크

목록 보기
2/2

HTTP란 무엇인가?

HyperText Transfer Protocol의 약자로서 HTML과 같은 하이퍼 미디어를 리소스를 전송하기 위한 응용계층 프로토콜


HTTP의 특징

1. 클라이언트 - 서버 프로토콜

  • 리소스를 제공하는 쪽이 서버, 리소스를 제공 받는 쪽이 클라이언트로 클라이언트와 서버의 역할을 명확히 구분
  • 클라이언트로 부터 요청이 송신되고 그 결과가 서버로 부터 응담되어 돌아오는 요청 - 응답의 구조, 따라서 요청없이 응답이 발생하는 경우는 없다.

2. 무상태 프로토콜

  • 클라이언트 서버간 요청에 대하여 어따한 데이터로 유지, 기억하지 않음을 의미
  • 각각의 요청을 이전요청과 독립적인 트랜잭션으로 취급
  • 웹 기술의 진보에따라 상태를 기억하는 것을 보완하기 위해 쿠키, 세션 기술이 둥장

3. URI를 이용한 리소스의 식별

  • Uniform Resource Identifiers 를 통한 인터넷상의 리소스의 위치를 호출
  • 클라이언트가 요청을 보낼떄마다 URI가 반드시 포함

4. HTTP 메서드로 서버에 임무 부여

  • 요청 시에 서버가 주어진 리소스에 수행하기 원하는 행동을 규정 및 요구
  • 가져올 리소스의 내용은 지정된 리소스를 서버가 해석한 결과
  • 대표적으로 GET, POST, PUT, DELETE, PATCH 들이 존재 (이외에도 OPTION, TRACE 등이 있다.)

5. 메시지를 통한 정보의 교환

  • 헤더와 바디로 구분되는 메세지를 통해 정보를 교환
  • 클라이언트와 서버가 처리 지침등의 정보가 대부분 헤더에 담겨있다.

HTTP 요청 메서드

  • 클라이언트가 서버가 주어진 리소스에 수행하기 원하는 행동을 요청시에 담은 동사

GET

  • URI로 식별된 리소스를 요청하는 메서드로서 해당 리소스를 서버가 해석한 결과를 반환

POST

  • 특정 리소스에 엔티티를 전송할떄 사용하는 메서드
  • 요청 헤본무의 유형은 Content-Type 헤더로 표시

PUT

  • 요청에 포함된 엔티티를 리퀘스트 URI에 보존하기를 원하는 메서드
  • 요청 리소스의 모든 현재 표시를 요청 payload로 변환

DELETE

  • 요청 URI에 해당하는 리소스의 삭제를 요구하는 메서드

PATCH

  • 요청 리소스의 부분만을 수정하는데 사용하는 메서드
POST vs PATCH vs PUT

멱등성 - 한벙 수행하나 여러번 수행하나 같은 결과를 나타낸다면 멱등성이 있는 것, 즉 부수효과가 없음을 의미

put은 멱등성이 있으나 post와 patch는 멱등성이 존재하지 않는다.
post- 리소스에 페이로드를 추가
put- 리소스를 페이로드로 교체
patch - 리소스에 페이로드에 해당하는 부분을 수정


HTTP 응답 상태 코드

HTTP 응답이 성공적으로 이루어졌는지 나타내는 코드로서 5개의 그룹으로 구분

  • 100 ~ 199 (정보 제공 응답)
  • 200 ~ 299 (성공 응답)
  • 300 ~ 399 (리다이렉트 응답)
  • 400 ~ 499 (클라이언트 에러 응답)
  • 500 ~ 599 (서버 에러 응답)

0개의 댓글