斷點續傳的原理
其實斷點續傳的原理很簡單
打個比方,瀏覽器請求伺服器上的乙個文時,所發出的請求如下:
假設伺服器網域名稱為w
www.sjtu.edu.cn
,檔名為down.zip。
伺服器收到請求後,按要求尋找請求的檔案,提取檔案的資訊,然後返回給瀏覽器,返回資訊如下:
200
content-length=106786028
accept-ranges=bytes
date=mon, 30 apr 2001 12:56:11 gmt
etag=w/"02ca57e173c11:95b"
server=microsoft-iis/5.0
last-modified=mon, 30 apr 2001 12:56:11 gmt
web伺服器的時候要多加一條資訊--從**開始。
下面是用自己編的乙個"瀏覽器"來傳遞請求資訊給web伺服器,要求從2000070位元組開始。
仔細看一下就會發現多了一行range: bytes=2000070-
這一行的意思就是告訴伺服器down.zip這個檔案從2000070位元組開始傳,前面的位元組不用傳了。
伺服器收到這個請求以後,返回的資訊如下:
206
content-length=106786028
content-range=bytes 2000070-106786027/106786028
date=mon, 30 apr 2001 12:55:20 gmt
etag=w/"02ca57e173c11:95b"
server=microsoft-iis/5.0
last-modified=mon, 30 apr 2001 12:55:20 gmt
和前面伺服器返回的資訊比較一下,就會發現增加了一行:
content-range=bytes 2000070-106786027/106786028
返回的**也改為206了,而不再是200了。
知道了以上原理,就可以進行斷點續傳的程式設計了。
斷點續傳的原理
其實斷點續傳的原理很簡單,就是在http的請求上和一般的 有所不同而已。打個比方,瀏覽器請求 伺服器上的乙個文時,所發出的請求如下 假設伺服器網域名稱為wwww.sjtu.edu.cn,檔名為down.zip。伺服器收到請求後,按要求尋找請求的檔案,提取檔案的資訊,然後返回給瀏覽器,返回資訊如下 2...
android斷點續傳原理
httpurlconnection.setrequestproperty range bytes mdownloadtask.getdownloadsize 總碼 inputstream inputstream httpurlconnection.getinputstream 斷點上傳 filein...
斷點續傳簡單原理
下面是內容傳遞請求資訊給web伺服器,要求從2000070位元組開始。多了一行range bytes 2000070 這一行的意思就是告訴伺服器down.zip這個檔案從2000070位元組開始傳,前面的位元組不用傳了。伺服器收到這個請求以後,返回的資訊如下 content length 10678...