티스토리 뷰
HTTP 특징
클라이언트 서버 구조
Request Response 구조
클라이언트는 서버에 요청을 보내고 응답을 대기
서버가 요청에 대한 결과를 만들어 응답
무상태 프로토콜 (Stateless)
서버가 클라이언트의 상태를 보존하지 않음.
장점은 서버 확장성 높음.
단점은 클라이언트가 항상 추가 데이터를 전송해야함.
장점은 서버 교체 가능, 클라이언트 요청이 증가해도 서버 대거 투입 가능.
stateless 의 한계는 모든 것을 무상태로 설계 할 수 없는 경우가 있다.
예를들어 로그인.
로그인한 사용자의 경우 로그인 했다는 상태를 서버에 유지해야 한다.
일반적으로 쿠키, 세션 등을 사용해서 상태를 유지한다.
비연결성 (connectionless)
http는 기본이 연결을 유지하지 않는다.
초 단위 이하의 빠른 속도로 응답.
한시간 동안 수천명이 서비스를 사용해도 실제 서버에서 동시에 처리하는 요청은 매우 작다.
예) 웹 브라우저에서 연속해서 검색 버튼을 누르지는 않는다.
서버 자원을 효율적으로 사용.
단점은 tcp/ip 연결을 매번 새로 맺어야 한다. (3 way handshake)
클라이언트에서 서버에 요청시 html 뿐만 아니라 js, css 등 많은 자원이 함께 다운로드됨.
지금은 HTTP 지속 연결 기능으로 많이 해결됨. (Persistent Connections)
HTTP 메시지
요청 메시지
응답 메시지
헤더
헤더에는 HTTP 전송에 필요한 모든 부가정보 들어감.
예) 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트 정보, 캐시 관리 정보 등 ..
바디
'CS 정리 > Network' 카테고리의 다른 글
HTTP Status, Redirection (0) | 2023.10.26 |
---|---|
HTTP 메서드 (0) | 2023.10.24 |
OSI 7 계층 (0) | 2023.10.24 |
TCP 연결, 해제 과정. 3 way hand shake, 4 way hand shake (0) | 2023.10.24 |
TCP/IP 4 계층 모델 (0) | 2023.10.24 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Tree
- priority queue
- C
- C++
- MVC
- Unity
- Brute Force
- BFS
- Spring
- Stack
- dfs
- Dijkstra
- permutation
- 조합
- Kruskal
- 이분탐색
- db
- two pointer
- binary search
- greedy
- graph
- Implementation
- floyd warshall
- DP
- CSS
- 자료구조
- recursion
- Python
- back tracking
- 재귀
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함