📌HTTP (Hyper Text Transfer Protocol)
- 웹 상에서 주고받는 데이터 전송에 대한 여러 규칙이며, 서버-클라이언트 구조에서 사용되는 프로토콜이다.
서버-클라이언트 프로토콜 중 하나이므로, HTTP 역시 요청(Request)과 응답(Response)을 주고받는 메커니즘을 기본으로 한다. - HTTP는 Stateless 형식의 프로토콜이다. 즉, 서버가 클라이언트의 정보를 관리하지 않는다. 따라서 서버의 부하가 덜하고, 정보 전달이 빠를 수 있다. 다만, 채팅과 같은 서비스에는 어울리지 않을 것이다.
- HTTP 프로토콜의 특징은 비연결성(Connectionless)과 무상태(Stateless)로 설명된다.
👉 무상태 프로토콜 (Stateless)
무상태 프로토콜은 웹 서버가 웹 클라이언트의 상태 정보를 유지하지 않는 것을 의미하며, 상태 정보는 브라우저가 서버에게 요청을 전달하면서 함께 전달한 데이터를 의미한다. HTTP는 기본적으로 상태 정보를 유지하지 않기 때문에 상태 정보 유지가 필요한 작업에서 쿠키(Cookie)나 세션(Session)을 이용하여 상태를 유지한다.
👉 비연결성 (Connectionless)
비연결성은 브라우저가 서버에 요청하는 순간 잠깐 서버와 연결됐다가 서버로부터 응답이 전송된 후 곧바로 연결이 끊기는 것을 의미한다. 웹 환경상 다수의 브라우저가 서버와 통신하기 때문에 만약 브라우저와 서버가 지속적으로 연결된 상태를 유지한다면 다른 브라우저와 연결하는데 문제가 생길 수 있다.
📌 프로토콜 (Protocol)
- 웹에서 클라이언트인 브라우저와 서버가 통신할 때 사용하는 통신 규약이다. HTTP의 구조를 이해하는 것은 웹 애플리케이션의 동작 원리를 이해하는 데 있어 가장 중요하다.
👉 프로토콜 기본 요소
1. 구문 : 전송하고자 하는 데이터 형식, 부호화, 신호 레벨 등을 규정
2. 의미 : 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정
3. 시간 : 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정
👉 프로토콜의 기능 종류
1. 캡슐화(encapsulation)
2. 흐름 제어(flow control)
3. 연결 제어(connection control)
4. 오류제어(error control)
5. 주소 설정(addressing)
6. 순서 설정(sequence)
7. 동기화(synchronization)
8. 세분화와 재합성(fragmentation and reassembly)
9. 다중화(multiplexing)
'Web' 카테고리의 다른 글
[Web] API & REST API & RESTful API 알아보기 (0) | 2023.05.22 |
---|---|
[Web] 동기와 비동기 (0) | 2022.09.13 |
[Web] Servlet (0) | 2022.05.13 |
[Web] Web Server & WAS & Web Container (0) | 2022.05.13 |
[Web] Servlet & JSP 이란? (0) | 2022.05.12 |