Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Docker0
- 추가 보안 그룹
- httpasswd
- jenkins
- ingestion
- kubernetes
- 코드커버리지
- instances failed to join cluster
- IRSA
- assumerole
- 클러스터 보안 그룹
- aws ses #aws lambda
- 에이전트 구성
- Pipeline
- Service Account
- s3
- fruition
- helm_release
- clusterrolebinding
- Gateway
- docker
- Terraform
- node group
- saa-c03 #saa #aws certified solutions architect - associate
- aws-loadbalacner-controller
- Amazon CloudWatch
- NAT
- route53
- 에이전트 유형
- 테라폼
Archives
- Today
- Total
cloudwithbass
[Network] HTTP 통신 본문
이전 포스팅에서 TCP/IP 소켓 통신에 대해 알아봤습니다.
TCP/IP 소켓 통신에선 서버와 클라이언트의 양방향 통신을 위해 연결을 유지합니다.
하지만 연결이 필요하지 않을 경우, 이것은 리소스 낭비로 이어질 것입니다.
이번 포스팅에선 연결이 필요하지 않은 HTTP에 대해 알아보겠습니다.
목차
HTTP란?
HTTP는 HTML과 같은 리소스를 가져올 수 있도록 해주는 프로토콜입니다. 웹에서 이루어지는 모든 데이터 교환의 기초이며, 클라이언트-서버 프로토콜이기도 합니다. (mozila)
크게 요청(request) 메시지와 응답(response) 메시지로 나눌 수 있습니다.
Request
- Start line: HTTP 메서드(POST), 요청 URI ( / ), HTTP 버전에 대한 정보가 있습니다.
- Header: 요청과 관련한 부가 정보들이 키:값 쌍으로 구성되어 있습니다.
- Empty line: header와 body를 구분하기 위한 공백입니다.
- Body: 서버로 전송하는 정보가 있습니다. GET, DELETE 등의 HTTP 메서드는 서버로 전송할 데이터가 없으므로 Body는 옵션입니다.
Response
- Status line: Responose의 첫째 줄은 status line이라고 불립니다. HTTP 버전, 상태 코드, 상태 텍스트 정보가 있습니다
HTTP의 특성
연결성이 없고, 상태가 없습니다.
Connectionless
HTTP는 요청을 보낼 때마다 연결하고, 응답을 받으면 연결을 끊습니다.
따라서 모든 요청은 독립적으로 처리되며 요청마다 새로운 연결이 필요합니다.
Stateless
HTTP는 클라이언트의 이전 요청에 대한 상태를 저장하지 않습니다.따라서 쿠키나 세션을 이용해 클라이언트의 상태를 유지할 수 있습니다.
웹이 상태를 유지하는 방법: Session과 Cookie
HTTP는 클라이언트에 대한 상태를 유지하지 않는다고 했습니다.
이는 사용자에게 불편함을 느끼게 할 것입니다. 따라서 상태를 유지하는 방법이 필요합니다.
대표적인 해결 방법은 세션과 쿠키입니다.
Session
서버에 사용자의 상태 정보를 저장하고, 클라이언트는 세션을 식별하기 위한 세션 ID를 저장합니다.
서버는 이 세션 ID를 통해 클라이언트의 상태를 확인할 수 있습니다.
- 저장 위치: 서버에 저장되어 클라이언트 정보를 서버에서 관리합니다.
- 크기 제한: 서버에서 수용 가능하다면 크기의 제한이 없습니다.
- 수명: 유효 기간을 설정할 수 있습니다.
Cookie
- 저장 위치: 세션과 달리, 상태 정보가 클라이언트에 저장됩니다.
- 따라서 클라이언트가 쿠키를 읽고 쓸 수 있고, 션보다 보안성이 떨어집니다.
- 크기 제한: 최대 4KB의 정보까지 저장할 수 있습니다.
- 수명: 브라우저를 닫거나 일정 시간이 지나면 자동으로 만료됩니다.
참고 문서
'Network' 카테고리의 다른 글
[Network] 스위치와 라우터 (5) | 2024.10.20 |
---|---|
[Network] TCP/IP 소켓 통신과 Docker Socket (1) | 2024.10.18 |