[12] [DFN[[CODE(URI)@en[[[jar:]]]] [[URL]]]] は、 [[JAR]] に含まれる[[ファイル]]を表します。 [[JAR]] の実体は [[ZIP]] であるため、一般に [[ZIP]] に含まれる[[ファイル]]を表すために使うこともあります。 * 仕様書 - [14] [CITE[JavaHelp 1.0 - Proposed jar: Specification]] ([TIME[2003-03-14 20:51:10 +09:00]] 版) * 構文 [7] [CODE(URI)@en[[[jar:]]]] [[URL]] の構文は次のような形となっています [SRC[>>3]]。 [PRE(URI code)[ jar:!/{entry} ]PRE] * 相対 URL [15] >>14 によると、 [CODE(URI)@en[[[jar:]]]] [[URL]] は普通の[[相対URL]]だけではなく、 [CODE(URI)[[[!]]]] から始まる [[URL]] の扱いについての規則があるようです。 [16] これが実装されているのかは不明です。 [[Gecko]] は通常の[[相対URL]] として解釈しました。 * 実装 [3] [CITE[JarURLConnection (Java 2 Platform SE v1.4.2)]] ([CODE[2005-06-21 12:47:28 +09:00]] 版) ([[名無しさん]] [WEAK[2007-03-10 03:27:06 +00:00]]) [10] [CITE[Commons VFS - Supported File Systems]] [4] [[Gecko]] でよく使われています。 [13] [CITE@ja[MFSA 2007-37: jar: URL スキーマによる XSS 問題]] ([TIME[2011-01-08 20:48:21 +09:00]] 版) >jar: URI スキーマのサポートは、application/java-archive または application/x-jar の Content-Type ヘッダで送信されるファイルに制限されました。 * 例 [1] [SRC[>>10]] [PRE(URI example code)[ jar:../lib/classes.jar!/META-INF/manifest.mf ]PRE] [8] [SRC[>>10]] [PRE(URI example code)[ jar:zip:outer.zip!/nested.jar!/somedir ]PRE] [9] [SRC[>>10]] [PRE(URI example code)[ jar:zip:outer.zip!/nested.jar!/some%21dir ]PRE] * 関連 [2] 各種[[ファイル形式]]について類似した [[URL scheme]] があります。例えば: [CODE(URI)@en[[[zip:]]]], [CODE(URI)@en[[[tar:]]]], [CODE(URI)@en[[[tgz:]]]], [CODE(URI)@en[[[tbz2:]]]], [CODE(URI)@en[[[gzip:]]]], [CODE(URI)@en[[[bz2:]]]], [CODE(URI)@en[[[archive:]]]], [CODE(URI)@en[[[res:]]]], [CODE(URI)@en[[[mhtml:]]]] ** 素片識別子との関係 [6] この類の[[資源]]については[[素片識別子]]を使って表現するべきと考える人もいます [SRC[>>5]]。 [5] [CITE@en[Invalid JAR URIs]] ([[Chris Lilley]] 著, [TIME[2003-07-02 20:13:23 +09:00]] 版) [11] [CODE(URI)@en[[[jar:]]]] [[URL]] などを使うのがよいと考える人達は、 [[素片識別子]]の方式では[[相対URL]]が機能しないことを問題としています。