HTTP 란?

김민준·2025년 5월 8일

HTTP(HyperText Transfer Protocol)란

HPPT는 텍스트 기반의 통신 규약으로 인터넷에서 주고받을 수 있는 프로토콜이다.
Tip. protocol : 프로토콜은 컴퓨터 내부에서, 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙


HTTP 동작방식

클라이언트(Client) - 서버에서 요청을 보내는 리소스 사용자 ex) 웹 브라우저, 모바일 애플리케이션, IoT등
서버(Server) - 클라이언트에게 요청에 대한 응답을 제공하는 리소스 관리자

클라이언트(사용자)가 브라우저를 통하여 어떠한 서비스를 url을 통해 요청(request)을 하면 서버에서 해당 요청사항에 맞는 결과를 사용자에게 응답(response)하는 형태입니다.

HTTP 요청 Method

  • POST - 리소스를 생성하거나 컨트롤러를 샐행하는데 사용합니다.
  • GET - 정보를 조회하기 위해 URL(URI) 형식으로 웹서버 리소스(데이터)를 요청합니다.
  • PUT - 리소스를 업데이트(수정)하는데 사용되며 항상 리소스 식별 정보를 포함해야 합니다.
    (자원의 전체교체, 자원교체 시 모든 필드가 필요)
  • PATCH - 리소스를 업데이트(수정)하는데 사용되며 항상 리소스 식별 정보를 포함해야 합니다.
    (자원의 부분교체, 자원교체시 일부 필드가 필요)
  • DELETE - 특정 리소스를 제거하는데 사용합니다.
  • HEAD - 특정 리소스를 GET메서드로 요청했을 때 돌아올 헤더를 요청합니다.
  • OPTIONS - 목표 리소스와의 통신 옵션을 설명하기 위해 사용됩니다.(특정 엔드포인트가 어떤 메소드를 허용하는지 알고자 할때 사용)
  • TRACE - 메시지가 프락시를 거쳐 서버에 도달하는 과정을 추적합니다.

아직 사용해본건 POST,GET,PUT,PATCH,DELETE인데 PUT,PATCH는 뭐가 다른지는 아직 모르겠고 좀더 알아봐야할것같다 내생각엔 PATCH는 부분교체니까 속도면에서나 메모리사용면에서 뛰어날꺼라고 예상하고있긴하다 DELETE아래 들은 아직 사용해본적이없음


HTTP 메시지

HTTP 메시지는 서버와 클라이언트 간에 데이터가 교환되는 방식입니다. 메세지 타입은 요청(request), 응답(response) 두가지가 있습니다.

  • 요청(request) - 클라이언트가 서버로 전달해서 서버의 액션이 일어나게끔 하는 메시지

  • Method - 클라이언트가 수행하고자 하는동작(GET,POST,PUT,DELETE 등)을 지칭합니다.
  • Path - 가져오려는 리소스의 경로를 말합니다.
  • Version of the Protocol - HTTP 포로토콜의 버전을 말합니다.
  • Headers - 서버에 대한 추가 정보를 전달합니다

  • Version of the protocal - HTTP 포로토콜의 버전을 말합니다.
  • Status Code - 요청에 대한 성공 여부 및 결과에대한 상태를 나타내는 코드입니다.
  • Status Message - 상태 코드에 대한 설명을 나타내는 상태 메시지 입니다.
  • Headers - 서버에 대한 추가 정보를 전달합니다.

응답에 대한 상태코드(Status Code) 분류

전체 범위정의된 범위분류
100~199100–101정보
200~299200–206성공
300~399300–305리다이렉션
400~499400–415클라이언트 에러
500~599500–505서버 에러

많이 써본건 200 OK, 201 CREATED, 401 Unauthorized, 403 Forbidden, 404 NOT FOUND
등 써봤다 401(인증이 안됐을때 ex) 로그인),403(권한없음),404(ID가없거나 삭제된 기록일때)은 예외처리쪽에서 많이썼고
201은 보통 회원생성이나 물건생성,가게생성쪽에서 썼었다

0개의 댓글