HTTP_ Stateless, 비연결성
Stateless
- 서버가 클라이언트의 상태를 보존하지 않음
- 장점 : 확장성이 좋음
- 단점 : 추가적인 통신 필요
클라이언트의 요청을 서버가 기억하고 있다가 응답해주는 것이 아니라 클라이언트에서 요청마다 새로운 요청을 보내듯이 필요한 데이터를 모두 넘겨주는 것
Stateless 한계점
- 로그인이 필요한 서비스 같은건 어느정도 상태를 유지해야함
-> 브라우저의 쿠키 사용등으로 해결
-> 어쩔수없는 부분에만 Stateful로 사용해야함
- 통신량이 늘어남 (서버 비용 증가)
그래도 최대한 Stateless로 설계하고 어쩔수 없는 부분만 Stateful 적용해야 함
HTTP 비연결성
요청과 응답이 끝나게 되면 연결 유지를 끊어버림. 이렇게 하면 최소한의 자원으로 서버를 유지할 수 있기 때문에 효율적임.
- HTTP는 기본이 비연결성
- 초 단위 이하의 빠른속도로 응답함
- 서버 자원을 매우 효율적으로 사용할 수 있음
HTTP 비연결성 한계점
- TCP/IP 연결을 새로 맺어야 함. (3 handshake 시간 추가됨)
- HTTP 요청은 기본적으로 모든 타입의 형식이 들어옴.
- 요즘은 HTTP 지속 연결 (Persistent Connections) 사용으로 해결함.
HTTP 지속연결 이란 한번 연결됐을때 모든 요청/응답이 이루어질때까지 유지했다가 전부 마무리되면 종료함.