2014-05-15 2 views
2

파일을 다운로드 할 때 속도가 제한되고 다운로드 다시 시작 기능을 지원하는 약간의 PHP 스크립트를 작성했습니다.다운로드 관리자에게 조언을 제공하는 데 사용해야하는 HTTP 상태 코드는 무엇입니까?

그러나 속도 제한은 다운로드 관리자를 사용하여 무시할 수 있습니다. 다운로드 관리자는 예를 들어 10 개의 다운로드 섹션을 만들어서 동시에 10 개의 다른 부분을 다운로드하고이 방법으로 10 배 빠른 속도를 나타냅니다.

내가 알고 싶은 것은, 지정된 사용자가 이미 다운로드를 실행 중이고 다운로드 관리자에게 다운로드를 허용하지 않기 위해 보내는 HTTP 상태 코드가 필요하다는 것입니다. 파일의 다른 부분은 동시에 다운로드 할 수 있지만 다운로드 재개 기능은 허용됩니까?

EDIT : 어쩌면 그것은 정확하지 않을 수 있습니다. downloadmanagers가 동일한 파일의 여러 파일 스트림 (또는 섹션)을 허용하지 않도록 실제로 최상의 HTTP 상태 코드가 필요합니다. 단 하나뿐입니다.

+0

병렬 다운로드를 허용하지 않으려는 경우 검색을 찾으면 추가 다운로드 세션에 대해 403 건을 금지합니다. 즉, 단일 사용 토큰으로 파일을 보호하면 즉시 멀티 다운로드 문제가 제거됩니다. –

답변

2

IP 당 하나의 연결로 다운로드를 제한 한 다음 429 Too Many Requests HTTP 코드 (또는 단지 403 Forbidden)를 후속 요청에 보낼 수 있습니다.

+0

좋아요, 그래서 나는 두 가지 HTTP 상태 코드를 시도하고 Freedownloadmanager는 "알 수없는 네트워크 오류"로 코드 429의 경우 로그에 기록하고 사용자 이름이나 암호가 유효하지 않은 코드 403의 경우에는 로그에 기록합니다. 가능한 다른 옵션이 있습니까? 또는 Downloadmanager 자체가 구현하지 못한 것입니까? –

+2

@salim_aliya 그렇습니다. FDM에서는 실제로 문제가 있습니다. 429는 "알 수없는 오류"가 아니며 403은 "서버가 요청을 이해했지만이를 이행하기를 거부하고 있습니다. 승인이 도움이되지 않습니다." (https://tools.ietf.org/html/rfc2616#section-10.4.4). 401과 401을 혼동하는 것 같습니다. (올바른 사용자 이름과 암호를 제공하면 실제로 작동 할 것입니다.) –

관련 문제