0

私の知る限り、URLはリソースへの直接リンクです。私はApacheとPHPの経験があり、.htaccessファイルを使用して、終了ファイル名を提供する必要のない場所にデフォルトファイル(index.phpなど)を設定できることを知っています.

ただし、ファイル リンクの場合は、ファイル名と拡張子がsomedomain.com/file.txt. しかし最近、ファイル名と拡張子を含む URL を持たないリンク、特にダウンロード リンクをいくつか見つけました。

たとえば、解像度 1080p HD のこの YouTube ビデオ www.youtube.com/watch?v=W1- L58y2uf4 の直接 .mp4 ファイル URL を取得しようとしました。次に、(clipconverter.ccを使用して)次のようなURLを取得しました。

http://r9---sn-25g7sne7.c.youtube.com/videoplayback?source=youtube& ip=2001:41d0:8:1f2b:3a0e:6049:6b4f:92 e9&expire=1378905654& sparams=cp,id,ip,ipbits,itag,ratebypass,source,upn,expire&ipbits=48& upn= BgsjQ8lS424& cp=U0hWTVlLU19KTkNONl9RRVdHOkZIZ0 diYTFXLWRJ&key=yt1& id=5b5f8be7ccb6b9fe&mt=1378881529& ratebypass=yes&itag=37&sver=3& mv=m&fexp=903309,919391,910207,91 4071,916612,924606,929117,929121,92 9906,929907,929922,929127,929129 ,92 9131,929930,936403,925726,936310,92 5720,925722,925718,925714,929917,90 6945,929933,920302,906842,913428,92 0605,919811,913563,919373,930803,90 8536,938701, 931924,936308,909549,90 0816,912711,904494,904497,939903,90 0375,900382,934507,907231,936312,90 6001&ms=au& signature=1DDD3BB4A46816E27075ADF1 3C84B810AD1DF72D.C9B4290CE7F0806A 3174E65DE3920F3AFDB06833&title=キリマンジャロ+-+ROBOT+%282010%29 +%2AHD%2A+1080p+%2ABluRay%2A+ 音楽+動画

ブラウザはファイルを完全にダウンロードします。これはどのように機能しますか?このリンクのファイル名と拡張子はどこですか?

4

2 に答える 2

1

もう一度お願いします:

URL !== ファイル
URL !== ファイル
URL !== ファイル

ご依頼URL、ブラウザー/HTTP クライアント/Web サーバーに HTTP 要求を送信し、URL を要求するもの。Web サーバーは、この要求に対して自由に応答できます。URL は、ハードディスク上のファイルとはまったく関係ありません。Web サーバーが要求された URL と同じ名前のファイルを探してそれらを提供するのは、便利な既定の構成です。しかし、それ以外にもやりたいことは何でもできました。引数として渡された要求された URL を取得するシェル スクリプトを起動し、必要なものを出力できます。Web サーバーは、要求された URL を内部で処理し、何らかのコンテンツで応答する Java アプリケーションである場合があります。サーバーは、あらゆるものである可能性があり、必要なことを何でも行うことで応答できます。Web サーバーは、ポート 80 (または他の場所) でリッスンし、着信 HTTP 要求に応答する単なるアプリケーションです。ファイルシステムはまったく関与する必要はありません。

于 2013-09-13T11:57:15.307 に答える
0

おそらく、パラメーターに応じて必要なファイルを見つけ、それを送信する前にヘッダーを変更して、ブラウザーがファイルを通常の html ドキュメントではなくビデオファイルとして処理 (およびダウンロード) するスクリプトを呼び出している可能性があります。

header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename="'.$filename.'"');
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: binary");
于 2013-09-13T11:54:05.897 に答える