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 |
댓글