728x90
✔️ HTTP 프로토콜이란?
HTTP(Hypertext Transfer Protocol)는 인터넷 상에서 데이터를 주고 받기 위해 서버/클라이언트 모델을 따르는 프로토콜이다.
✔️ HTTP 프로토콜의 특징
- TCP/IP 기반에서 동작하는 응용 프로토콜이다.
- 연결 상태를 유지하지 않는 비연결성(connectionless) 프로토콜이다.
- 상태가 없는 무상태(stateless) 프로토콜이다.
- 요청/응답 방식으로 동작한다.
➕ 비연결성(Connectionless)
- 클라이언트와 서버가 한 번 연결을 맺은 후, 클라이언트 요청에 대해 서버가 응답을 마치면 맺었던 연결을 끊는다.
- 장점
- 불특정 다수를 대상으로 하는 서비스에 적합한 방식이다.
- 수십 만 명이 웹 서비스를 사용하더라도 접속 유지는 최소한으로 할 수 있기 때문에 더 많은 유저의 요청을 처리할 수 있다.
- 단점
- 연결을 끊어버리기 때문에 클라이언트의 이전 상태를 알 수 없다.(= Stateless 특성)
- 클라이언트의 이전 상태 정보를 알 수 없으면, 가령 클라이언트가 과거에 로그인을 성공하더라도 로그 정보를 유지할 수 없는 문제점이 있다.
➕ 무상태(Stateless)
- 클라이언트가 이전 요청과 같은 데이터를 원하더라도 다시 서버에 연결을 하여 동일한 요청을 시도해야한다.
- 즉, 연결이 해제됨과 동시에 서버와 클라이언트는 이전에 요청한 결과에 대해서 잊어버린다.
- 쿠키(Cookie), 세션(Session), 토큰(Token) 등의 방식을 통해 무상태 문제점을 해결한다.
✔️ HTTP 프로토콜의 동작 방식
HTTP 프로토콜은 클라이언트(브라우저)와 서버 간의 통신에 사용되며, 요청(request)과 응답(response)으로 구성된다. 이때, HTML 문서 외에도 JSON 데이터나 XML 데이터 등의 정보를 주고 받을 수 있다.
애플리케이션 계층에서 동작하며, TCP/IP를 기반으로 한다.

- 클라이언트
- 데이터를 요청하는 쪽
- 웹 브라우저와 같은 소프트웨어이며, 대표적인 클라이언트 소프트웨어에는 Chrome, Firefox 등이 있다.
- 서버
- 데이터를 제공하는 쪽
- 웹 서버는 보통 표준 포트인 80번 포트로 서비스를 한다.
- 예시
- 클라이언트 프로그램에서 사용자가 회원가입을 요청하게 되면, 서버로 회원 정보를 보내게 되고 서버는 회원 정보를 저장한 후 잘 저장했다고 클라이언트에 응답한다. 이 과정에서 클라이언트와 서버 간의 교류에서 HTTP 프로토콜을 이용한다.
✔️ HTTP 프로토콜의 요청과 응답
➕ Request Method (요청 메소드)
요청의 종류 | |
GET | 자료 조회를 위한 요청 |
POST | 자료의 생성을 요청 |
PUT | 자료의 모든 부분 대체(수정) 요청 |
PATCH | 자료의 일부분에 대해 수정 요청 |
DELETE | 자료의 삭제 요청 |
- request HTTP 메시지 예시
GET /members/100 HTTP/1.1
Host: localhost:8080
➕ Status Code (상태 코드) - Response
응답의 종류(상태 코드) | |
1xx | (Informational) 요청이 수신되어 처리중 |
2xx | (Successful) 요청 정상 처리 |
3xx | (Redirection) 요청을 완료하려면 추가 행동이 필요 |
4xx | (Client Error) 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음 |
5xx | (Server Error) 서버 오류, 서버가 정상 요청을 처리하지 못 함 |
- response HTTP 메시지 예시
HTTP/1.1 200 OK
<html>주문완료</html>
✔️ HTTPS 프로토콜의 등장 배경
HTTP 프로토콜은 Method, Path, Version, Headers, Body 등으로 구성된다.

하지만 HTTP는 암호화가 되지 않은 평문 데이터를 전송하는 프로토콜이기 때문에, 서버와 클라이언트가 주고 받는 메시지를 외부에서 볼 수 있어 보안에 취약하다. 이러한 문제를 해결하기 위해 HTTPS가 등장하게 되었다.
다음 포스팅에서 HTTPS 프로토콜에 대해서 알아보자 !!
#참고 자료
https://mangkyu.tistory.com/98
https://steady-coding.tistory.com/search/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC?page=3
728x90
'CS 지식 > 네트워크' 카테고리의 다른 글
[네트워크] TCP & UDP (0) | 2024.09.01 |
---|---|
[네트워크] TCP/IP 흐름 제어 & 혼잡 제어 (0) | 2024.08.31 |
[네트워크] TCP 3 way handshake & 4 way handshake (0) | 2024.08.30 |
[네트워크] OSI 7 계층 (0) | 2024.08.29 |