신입 네트워크 교육을 받았다! (2022-07-15)
오버헤드를 줄이기 위한 목적은 같다.
하지만 줄이는 오버헤드가 다르다.
https://coderbycode.tistory.com/162
위 사이트를 반드시 참고할 것.
tcp의 경우)
http는 connectionless, stateless이기 때문에 tcp/ip와 같이 쓴다.
요청이 들어오면
<- 논리적 단위 -> <--- 물리적 단위 -----------------------> <-- 메시지의 교환 -->
세션(세션ID)시작 ->
클라이언트 소켓 생성 ->
서버 소켓 연결(Connection)
-> 요청(Request)
<- 응답(Response)
....
-> 요청(Request)
<- 응답(Response)
<- 서버 소켓과 연결 닫힘(Close)
<- 클라이언트 소켓 닫힘
세션종료
출처: https://coderbycode.tistory.com/162 [workSpace:티스토리]
웹 서버는 다음과 같은 과정을 거치는데, 서버에서 소켓이 열리고 닫힐 때, 쓰레드가 이를 처리하게 된다.
소켓이 열릴 때 쓰레드가 생겨서 이를 처리하고, 닫힐 때 쓰레드가 삭제되는데
만약 한번 request / response를 처리하고 쓰레드가 삭제되면, 곧이어 request가 왔을 때
다시 쓰레드를 만들고 소켓을 연결하는 과정을 거쳐야 한다.
바로 이 부분이 오버헤드이고, 이를 막기 위해, tcp keep alive라는 대기 시간을 주어서
해당 시간 동안은 쓰레드를 바로 삭제하지 않고, 다음 요청이 들어오면 바로 처리할 수 있게 한다.
(시간 지나면 SESSION TIMEOUT)
이게 바로 TCP의 Session이다.
was의 경우, session은 사용자의 로그인 정보, 장바구니 정보등 사용자의 connection이 끊기지 않게 하기 위한 것이다.
즉, 오버헤드를 줄이기 위한 것이라는 목적은 맞지만, 내용이 다르다.
'Computer Science > Network' 카테고리의 다른 글
[펌] 네임서버란!? (0) | 2022.08.10 |
---|---|
[카톡설명] NAT Gateway의 목적, 서버는 inbound, 클라이언트는 outbound만 열려있어도 데이터를 주고받을 수 있다! (0) | 2022.07.21 |
IP CIDR (0) | 2022.06.16 |
Static IP vs Dynamic IP vs Fixed IP vs Floating IP (0) | 2022.06.16 |
유무선 전송시에 ping의 latency와 다운/업로드 속도의 차이? (0) | 2022.06.15 |
최근댓글