HTTP(HyperText Transfer Protocol)
- 웹 상에서 정보를 전송하기 위한 통신프로토콜로서 HTML과 같은 문서를 전송
- 클라이언트 → 서버 : HTTP request를 보냄
- request message는 start line(method, path, HTTP version), headers, body로 구성
- 서버 → 클라이언트 : HTTP response를 보냄
- response message는 status line(HTTP version, status code, status message), headers, body로 구성
- TPC/IP 기반으로 작동, 큰 특징으로는 Connectionless와 Stateless가 있다.
- Connectionless : 서버에 연결 후 요청에 대한 응답을 받으면 연결을 끊어버리는 특성
- 많은 사람들이 동시에 웹을 이용하더라도 실제 동시 접속을 최소화하여 많은 요청 처리 가능
- Stateless : 연결을 끊어버리고 클라이언트의 이전 상태(로그인 유무 등)을 알 수 없는 특성
- Connectionless : 서버에 연결 후 요청에 대한 응답을 받으면 연결을 끊어버리는 특성
→ Connectionless와 Stateless의 정보를 유지할 수 없는 단점 해결 위해 cookie, session, jwt 등을 도입
→ 또한 HTTP는 정보를 text 형식으로 주고 받는데, 중간에 이를 인터셉트할 경우 데이터 유출 문제가 있어서 이를 해결하고자 HTTP에 암호화를 추가한 프로토콜이 HTTPS → HTTP와 HTTPS의 차이
'💻 CS > 네트워크' 카테고리의 다른 글
[CS] HTTP - status code(상태 코드) (0) | 2022.07.07 |
---|---|
[CS] HTTP request method : GET, POST / PUT, PATCH (0) | 2022.07.06 |
[CS] TCP 통신 : 3-way handshake, 4-way handshake (0) | 2022.07.04 |
[CS] TCP/IP 전송 계층 - TCP와 UDP (0) | 2022.07.03 |
[CS] OSI 7계층과 TCP/IP 4계층 (0) | 2022.07.02 |