Node.js는 단일 스레드입니다. 느린 클라이언트가 요청을하는 경우, 완료 될 때까지 스레드를 차단할 수 있다고 상상합니다. 말이 돼 ?node.js에서 느린 클라이언트 연결을 어떻게 처리합니까?
어떻게 저속 연결을 처리하나요? 너무 오래 걸리는 경우 연결을 종료하는 것이 합리적입니까? 어떻게 이것을 결정합니까? 요청이 얼마나 오래 걸리는지 측정하고, 너무 오래 걸리면 요청을 종료하는 방법은 무엇입니까? 나는 응답을 되돌려 보내는 데 걸리는 시간을 언급하지 않고있다. 난 그냥 노드가 요청을 처리하는 데 필요한 모든 데이터를 수신하는 데 걸리는 시간을 말하는 것입니다. 이것은 합법적 인 시나리오입니까? 내가 그렇지 않으면 DOS을 공격 Node.js를 서버에 정말 쉬운 것입니다,이 작업을 수행하는 몇 가지 방법이있을 상상
은 ...
편집 : POST 요청에서 데이터는 덩어리에 온다 . 그러면 천천히 들어 오면 어떨까요? 이걸 어떻게 시뮬레이트 할 지 모르겠습니다. 그러나 이것이 노드에서 문제가된다면 PHP 등에서 문제가 될 수 있습니다. 많은 연결을 생성해야하기 때문에 서버를 공격하는 데 아주 느립니다.
똑같은 스택을 사용합니다. SLOW 연결로 애플리케이션에 테스트를로드하면 최대 응답 시간이 최대 30 초까지 늘어날 수 있습니다. 하지만 빠른 연결로 할 때 최대 응답 시간은 1 초입니다. 느린 연결에 관한 것이 아니라면, 당신이 생각하는 이유는 무엇입니까? – scaryguy