10.29 TIL HTTP 프로토콜

JangUT·2024년 10월 29일

HTTP Message 구조 : Start Line -> Header -> Empty Line -> Message Body

  1. StarLine

HTTP Method

요청의 의도를 가진 GET, POST, PUT, PATCH, DELETE 등이 있다.

Create - POST

Read - GET

Update - PUT(전체) , PATCH(일부)

Delete - DELETE

path

HTTP Request가 전송되는 대상, 절대 경로

Query String (= Query Parameter) 에 해당하는 값도 포함한다.

HTTP Version 명시

HTTP Version을 나타낸다.

  1. Header :

    field-name 은 대소문자를 구분을 하지 않는다.

    임의의 Header를 추가할 수 있다.

    요청의 추가 정보들을 가지고 있다.

  1. Empty Line :

    공백 한줄 필수 값 !

  1. Message Body

    실제 전송하는 데이터가 담겨 있는 부분

    요청 시 GET의 경우 Message Body가 지원되지 않는 경우가 많아 권장하지 않는다.

HTTP Method

주요 Method에 대해 알아보겠습니다.

POST : 리소스 생성

주로 회원가입, 게시글 작성 등에 사용된다.

요청 데이터를 처리하는 방식에 정해진것은 없다.

Message Body를 통해 요청 데이터를 전달한다.

GET : 리소스 조회

  1. Query String 미포함하는 경우

    GET의 경우 Message Body가 지원되지 않는 경우가 많아 권장하지 않는다.

  2. Query String 포함하는 경우

    서버에 추가적인 데이터를 전송해야 한다면, Message Body가 아닌 Query String or Query Parameter를 사용한다.

PUT : 리소스 덮어쓰기

기존 리소스가 존재하는 경우에는 기존 Resource는 대체된 Resource로 덮어씌워진다.

기존 리소스가 존재하고 일부만 변경하는 경우에는 완전히 덮어쓰기가 된다.

기존 리소스가 없는 경우 신규 Resource 저장된다.

PATCH : 리소스 부분 수정

기존 Resource에서 부분 수정된 Resource 변경된다.

DELETE : 리소스 삭제

기존 Resource 제거되서 리소스가 삭제된다.

profile
평범한 개발자

0개의 댓글