답변:
코딩 관점에서 다운로드는 HTTP 응답 스트림에 포함 된 바이트 배열 일뿐입니다.
HTTP 1.1 프로토콜 (30 페이지 참조) 헤더 필드 요청 응답 오프셋 및 바이트 길이를 지정하기위한 요청을 허용 '범위'라는 포함한다.
따라서 본질적으로 "이 URL에 HTTP 객체를 제공하지만 1024 ~ 4096 바이트 만 원합니다"라고 말할 수 있습니다. 그런 다음 클라이언트 브라우저는 바이트 스트림을 이미 다운로드 한 파일 부분에 추가합니다. 클라이언트는 이미 다운로드 한 파일의 길이를 확인하여 단순히 다시 시작해야하는 위치를 알려주고 필요한 오프셋을 결정하기 위해 파일을 증가시킵니다.
다운로드 관리자가 알리는 방법에 대해 HTTP "HEAD"요청을 보냅니다. 응답 코드가 206 (부분 컨텐츠)이면 http 스트림은 재개를 지원합니다.
이것은 퍼시 스턴트 쿠키를 사용하여 처리 될 수 있고 , 세션 쿠키 와 혼동되지 않거나 사이트가 ASP.NET에 구축 된 경우 [Viewstate]를 사용할 수 있지만 이는 좋은 방법이 아닙니다. 프랭크 토마스가 가장 좋은 답을 가지고 있습니다.