HTTP Protocol

Nahyeon.In·2024년 5월 23일
0

What is HTTP?

HTTP(HyperText Transfer Protocol)은 웹상에서 데이터를 교환하기 위해 사용되는 communication protocol 이다. client-server model 로 작동한다. 즉, client가 요청을 보내고 server가 요청에 대한 응답을 한다.

Client는 HTTP를 사용하여 자원을 요청하고 이 요청은 TCP/IP protocol을 통해 Server에 전송된다. Server역시 HTTP를 사용하여 요청에 대한 응답을 보내고 이 응답은 TCP/IP protocol을 통해 Client에 도달한다.

📤 HTTP Request

HTTP 요청은 웹 브라우저와 같은 인터넷 통신 플랫폼이 웹사이트를 로드하는 데 필요한 정보를 요청하는 방식이다.

What is in an HTTP Request?

  1. HTTP version type
  2. a URL
  3. an HTTP method
  4. HTTP request headers
  5. Optional HTTP body

What is a URL?

네트워크 상에서 특정 자원에 대한 주소.

Types of HTTP Methods

  • GET: resource 조회
  • PUT: resource를 대체(replace). 해당 resource가 없으면 생성.
  • PATCH: resource를 부분적으로 수정.
  • POST: 요청 데이터를 처리. 주로 데이터를 생성하고 업데이트.
  • DELETE: 특정 resource를 삭제하는 메서드
  • HEAD: HEAD 요청의 URL이 HTTP GET 메서드로 요청되었을 때 반환될 헤더를 요청. 주로 캐쉬된 데이터가 최신의 것인지 확인하기 위해 사용됨.
    참고) https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/HEAD
  • OPTIONS: 특정 URL이나 서버에 대한 허용된 통신 옵션을 요청.

What is are HTTP request headers?

HTTP header는 모든 HTTP 요청에 포함된다(HTTP 요청을 보낼 때 항상 헤더가 존재한다). Header에는 핵심정보 (사용하는 브라우저, 요청되는 데이터, 서버정보, 캐시, etc)가 포함되어 있다.

What is in an HTTP request body?

HTTP 요청의 body에는 웹서버에 전송되는 정보가 포함되어 있다.

📨 HTTP Response

HTTP 응답은 Client가 HTTP 요청에 대한 응답으로 Server로부터 받은 것이다.

What is in an HTTP response?

  1. an HTTP status code
  2. HTTP response headers
  3. optional HTTP body

What’s an HTTP status code?

HTTP 상태 코드는 HTTP 요청이 성공적으로 완료되었는지 여부를 나타낸다.

  • 1XX Informational
    요청을 받았고, 프로세스를 계속하는 것을 나타냄.
  • 2XX
    요청이 성공적으로 받아들여졌고 이해되었으며, 수락됨.
  • 3XX
    요청완료를 위해 추가 조치가 필요
  • 4XX
    클라이언트 관련 오류. 클라이언트가 오류를 발생시킨 것으로 보임.
  • 5XX
    서버가 유효한 요청에 대해 충족 실패.

What are HTTP response headers?

응답 헤더는 응답 본문에 보내지는 데이터의 언어와 형식과 같은 중요한 정보를 전달한다.

What is in an HTTP response body?

성공적인 HTTP 응답은 일반적으로 요청된 정보를 포함하는 본문을 가지고 있다.

Key features of HTTP

  • Stateless
    Client가 Server로 보내는 각 요청은 독립적이다. Server는 Client의 상태를 저장하지 않는다.
    즉, State 는 Client 측에서 보관하기 때문에 Client가 아무 Server나 호출할 수 있다. 이로인해 수평확장(scale out)에 유리하다.
  • Connectionless
    HTTP의 각 요청과 응답은 이전 요청과 응답과 독립적이다. 서버가 요청을 처리하고 응답을 보낸 후에는 연결이 닫힌다.
    이로인해 Server의 자원을 효율적으로 관리할 수 있으며 수많은 Client의 요청에 대응할 수 있다.

English version
What is HTTP


📂 Reference
HTTP request methods
What is HTTP?
HTTP-메서드-종류-통신-과정

0개의 댓글