굉장히 위험해보이는데 해당 옵션이 있는지 의문입니다.


있다고 한다면 좀비커넥션이라고 해야하나... 영원히 꺼지지 않는 (반대쪽에선 이미 종료했음. 클로즈 핸드셰이크 무시하고 꺼버려서 다시는 클로즈 메세지 안보냄)

그런 커넥션들이 생기면 수동으로 운영체제에서 자원을 해제한다는 개념이려나...


굉장히 위험해보이는데 그래도 해당 기능이 가능한지 의문입니다.



HTTP keep alive 같은 경우에는 TCP쪽에서 설정된 타임아웃 이상의 타임아웃값을 이론상 못가지게 설계되어있더라구요 (소켓이 꺼져버리니까).


그리고 keep alive 도 서버마다 정책이 다르겠지만, 서버 코드의 미숙함으로 인해 디폴트 타임아웃을 무한으로 설정한다 하더라도, 운영체제에서 tcp 커넥션에 타임아웃이 걸려있기 때문에 안전성이 보장된다


그렇게 이해하고 있습니다.


그렇다면 정말 위험한것은???  TCP의 디폴트 타임아웃이 무한일 경우. 혹은 의도적으로 무한으로 바꿔놓은 경우.



1. 위험하긴 해도 열려있다.

2. 위험해서 아예 무한정 기다림이 불가능하다.


둘중 뭐인가요?


솔직히 저 개인적인 생각으로는 진짜 반반.


1번이라고 하기엔 실용성이 많이 의심스럽고

(왜냐, 진짜 무한정 기다리고 싶으면 커넥션 그냥 새로파라고 하는게 더 나아보입니다.)

2번이라고 하기엔 아니 그래도 가벼운 설정인데 timeout 기능을 끄는 기능이 제공되지 않았을까

싶어서