fingerprint maven plugin
1.0.0
بصمات الأصابع وتحسين موارد الويب.
يؤدي هذا البرنامج المساعد العديد من التحسينات:
أثناء هذه العملية ، يحسب البرنامج المساعد اختبارات الملف ويعمل على اسم الملف. سيتم تغيير جميع الروابط إلى اسم الملف إلى النسخة المطبوعة بصمات الأصابع. سيتم حذف الملف الأصلي. بصمات الأصابع المستخدمة لتحسين تخزين موارد الويب. إذا لم يتم تغيير Checksum للملف ، فسيكون الاسم هو نفسه وأنه آمن لإضافة رأس Max Expares. بمجرد تغيير محتويات الملف ، سيتم تغيير Checksum أيضًا. يقوم هذا المكون الإضافي بتصفية الدليل المصدر (Recursivly) ، ويكتشف أي موارد باستخدام الأنماط أدناه ونسخ النتيجة (إذا لزم الأمر) إلى الدليل المستهدف.
تُستخدم الأنماط التالية للكشف عن الموارد المؤهلة للحصول على بصمات الأصابع:
<link[^>]+href=["'](.*?)["'][^>]*>["']([^s]*?.js)["']<img[^>]+src=["'](.*?)["'][^>]+>url(s*["']?(.*?)["']?s*)<c:url[^>]+value="(.*?)"[^>]+>بعد البصمة ، من الآمن إضافة رأس MAX.
متطلبات
<img src="/img/test.png"><img src="test.png"><img src="${pageContext.request.contextPath}/img/test.png"><img src="${ pageContext.request.contextPath }/test.png"><img src="/img/test.png"><img src="<c:if test="${var}">/img/test.png</c:if>"<img src="${seome.variable}/img/test.png"أثناء التصغير HTML:
pre .type="text" من علامات input نظرًا لأن النوع الافتراضي. < plugin >
< groupId >com.aerse.maven</ groupId >
< artifactId >fingerprint-maven-plugin</ artifactId >
< version >3.6</ version >
< executions >
< execution >
< phase >package</ phase >
< goals >
< goal >generate</ goal >
</ goals >
</ execution >
</ executions >
< configuration >
< excludeResources >
< excludeResource >://</ excludeResource >
< excludeResource >//</ excludeResource >
< excludeResource >data:</ excludeResource >
</ excludeResources >
<!-- ${basedir}/src/main/webapp by default -->
< sourceDirectory >${basedir}/target/webcombined</ sourceDirectory >
<!-- ${project.build.directory}/optimized-webapp by default -->
< targetDirectory >${basedir}/target/optimized-webapp</ targetDirectory >
<!-- Optional: set to 'false' to disable minification of HTML, JS and/or CSS. -->
< minifyHtml >true</ minifyHtml >
< minifyJs >true</ minifyJs >
< minifyCss >true</ minifyCss >
<!-- Remove unnecessary spaces between tags. Make single line page. Takes into consideration <pre> tags -->
< htmlExtensions >
< htmlExtension >html</ htmlExtension >
< htmlExtension >jsp</ htmlExtension >
< htmlExtension >tag</ htmlExtension >
</ htmlExtensions >
< extensionsToFilter >
< extensionToFilter >html</ extensionToFilter >
< extensionToFilter >jsp</ extensionToFilter >
< extensionToFilter >tag</ extensionToFilter >
< extensionToFilter >css</ extensionToFilter >
< extensionToFilter >js</ extensionToFilter >
</ extensionsToFilter >
<!-- cdn host. Not required. For example using "//accountname.r.worldssl.net": /css/bootstrap.css -> //accountname.r.worldssl.net/css/<md5>bootstrap.css -->
< cdn >${cdn}</ cdn >
<!-- fingerprinted filename. Could be [name].[ext]?hash=[hash] -->
< namePattern >[hash][name].[ext]</ namePattern >
</ configuration >
</ plugin > location ~ ^/.+.(ico|jpg|jpeg|gif|pdf|jar|png|js|css|txt|epf|ttf|svg|woff)$ {
root < your root content>;
expires max;
add_header Cache-Control public;
}