본문 바로가기
Network

HTTP란?

by eoruadl 2023. 2. 18.

HTTP(HyperText Transfer Protocol)

인터넷에서 데이터를 주고받을 수 있는 프로토콜로 일종의 통신 규약이다.

웹 클라이언트와 서버 간의 통신을 하기 위한 약속이라 할 수 있다.

 

HTTP의 동작 방식

클라이언트가 브라우저를 통해서 원하는 서비스를 url과 같은 방식을 통해 요청(Request)을 서버로 보내면

해당 요청사항에 맞는 결과를 클라이언트에게 응답(Response)하는 형태로 동작한다.

 

HTTP의 특징

  • HTTP 메시지는 HTTP서버와 클라이언트에 의해 해석된다.
  • TCP/IP를 이용하는 응용 프로토콜이다.
  • HTTP는 연결상태를 유지하지 않는 비연결성 프로토콜이다.(이러한 단점을 해결하기 위해 Cookie와 Session이 등장)
  • HTTP는 비연결성 프로토콜이라 요청 / 응답 방식으로 동작한다.

 

Request (요청)

요청을 보낼 때는 요청에 대한 정보를 담아 서버로 보낸다. 이러한 정보가 담긴 메시지를 HTTP 메시지라고 한다.

HTTP 요청 메서드

  • GET : 특정 리소스를 받기 위한 요청이다. 따라서, 리소스의 생성, 수정 및 삭제 등에 사용하면 안된다.
  • POST : 리소스를 생성하거나 컨트롤러를 실행하는데 사용한다.
  • PUT : 변경 가능한 리소스를 업데이트하는데 사용한다.
  • PATCH : 변경 가능한 리소스를 부분 업데이트하는데 사용한다.
  • DELETE : 특정 리소스를 제거하는데 사용한다.

내 블로그의 홈페이지의 요청 헤더를 보자.

  • 첫번째 줄 (시작줄) : 요청 메서드를 시작으로 그 다음 Path, 그 다음으로 프로토콜의 종류와 버전이 나온다.
  • 두번째 줄 이후 (헤더) : 두번째 줄부터는 헤더이며 요청에 대한 정보를 담고 있다. 헤더의 종류는 다양하다.
  • 본문 (헤더 다음 줄) : 본문은 요청을 할 때 함께 보낼 데이터를 담는 부분이다.

 

Response (응답)

서버가 요청에 대한 답변을 담아 클라이언트에게 보내는 것을 응답이라고 한다.

 

방금 요청에 대한 응답을 보자.

  • 첫번째 줄 (시작줄) : 프로토콜의 종류와 버전, HTTP 상태 코드, HTTP 상태 메시지 순으로 나타난다.
  • 두번째 줄 이후 (헤더) : 응답에 대한 정보를 담고 있다.
  • 본문 (헤더 다음 줄) : 응답에는 보통 본문이 있고 응답 메시지에 요청한 데이터를 담아서 보낸다. 응답 메시지에 HTML이 담겨있으며 브라우저는 이 HTML을 렌더링한다.

'Network' 카테고리의 다른 글

CORS에 대한 이해  (0) 2023.02.25
RESTful API  (0) 2023.02.23
URI URL URN  (0) 2023.02.21
HTTP 상태코드  (0) 2023.02.19

댓글