web-dev-qa-db-ja.com

ISPが転送中にファイルのダウンロードを強制終了しないようにするにはどうすればよいですか?

私は少数のユーザーでトラフィックの少ない小さなウェブサイトを運営し、主に個人のmp3ファイルを小さなコミュニティと共有しています。

ISPによっては、ユーザーが常に大きなファイルをダウンロードまたはストリーミングできるとは限りません。大きいとは、1MBより大きいことを意味します。基本的に、ホストは送信を停止するか、クライアントが受信を停止します。接続チェーンに沿ったリンクの1つは、転送が完了する前に接続を終了するだけです

トレースルートは接続の問題を示しません。数秒以上かからない短い転送での接続の問題はありません。ちょうど終了するのは、これらの10秒の転送です。

ISPが間違っている場合、直接リンクを使用して直接ダウンロードを行うだけでこのエラーが発生する可能性があります。

奇妙なことに、これは、ファイバーリンク経由でサービスを購入する本質的に独立したプロバイダーであるISPを持つユーザーに最もよく見られます。残念ながら、これらのプロバイダーはあまり知識がなく、テストを行うことができず、ホストの問題だと主張しています。

同じ効果のために、サイトを異なるサーバーに転送するようにホストを取得しました。ほぼ同一のサイト(実際には関連サイト)では、このような問題は発生しません。

この問題をさらにトラブルシューティングするにはどうすればよいですか?誰かがボールをドロップしていることを証明し、そのパーティーが誰であるかを特定するにはどうすればよいですか? 5Mbトレースルートを実行できますか?

編集

私の質問で誤解を解くことができるかもしれません:

  1. ファイルはveryほど大きくありません。単に2Mbを超えています。
  2. ユーザーは「低速」接続ではなく、少なくとも5mbpsです。
  3. この「タイムアウト」は5秒の領域で非常に高速に発生するため、タイムアウトかどうかはわかりません。ユーザーは多くの場合、この時間で1または2Mbを取得します。
  4. Flashプレーヤーでストリーミングしてみました。
  5. ターゲットを保存しようとしました。ダウンロードを強制します。
  6. ブラウザにファイルのストリーミングを許可しようとしました。
  7. さまざまなブラウザー(FF、IE、Chrome)を試しました。
  8. ユーザーは、異なるホスト上にある同一のファイルをダウンロードできます。
3
Gorchestopher H

どちらの側でも問題になる可能性がありますが、遅い接続(ストレートリンク)で大きなファイルをダウンロードすると、どちらの側からでもタイムアウトが発生する可能性があります。あなたは、それはストリーミングの問題ではないと言いますが、この時点では実際には何もストリーミングしていません。

役立つ可能性のある2つのことを考えることができます。最初の(そして最も可能性が高い)オプションは、優れたシンプルな実装 JW Player などのメディアプレーヤーを使用してHTTP経由のストリーミングを有効にすることです。これにより、動作が直接ダウンロードからバッファリングを伴うチャンクストリームに変更されます。小さいチャンクは、より低い帯域幅のユーザーであっても、すべての方法でスムーズな接続を確保する必要があります。

2番目のオプションでは、MIMEタイプをチェックして、メディアファイルを強制的にダウンロードし、適切なインフラストラクチャなしでそれらを再生またはストリーミングしようとしないように最適化されていることを確認します。これを実現する最も簡単な方法は、Zipファイルをアップロードおよびリンクする前(またはスクリプトを介して)にメディアファイルをZip圧縮することです。 MIMEタイプとブラウザは、ほとんどの場合、Zipファイルのダウンロードを強制するように設定されており、これはユーザーにとってより適切に機能する場合があります。

それでも、最初にHTTP経由のストリーミングを追加することを検討します。

1
JCL1178