
ذكاء الأعمال كخدمة
جرب خدمة PlusClouds إيجلت واكتشف فرص وعملاء محتملين عالي الجودة في مجال الأعمال بين الشركات بدعم الذكاء الاصطناعي
بروتلي هو خوارزمية ضغط بلا فقدان ومفتوحة المصدر تم تطويرها من قبل جوجل. تم تصميم بروتلي في البداية لتقليل حجم خطوط الويب، ولكنه أصبح اليوم تنسيق ضغط بيانات عام لأغراض متعددة. بروتلي يفتح بنفس السرعة ويقدم ملفات أصغر، مما يجعله بديلاً لخوارزميات جزيب و ديفليت .
تم تطوير بروتلي في البداية لضغط خطوط الويب WOFF2. وهو استمرار لخوارزمية ضغط Zopfli التي تم تطويرها أيضاً من قبل جوجل وتظهر توافقاً عكسياً مع gzip وzlib وDeflate. بالرغم من أن Zopfli وبروتلي يتطلبان وحدات معالج أكثر، إلا أن لديهما معدلات ضغط أعلى بكثير من gzip وzlib وDeflate. مع مرور الوقت، تخلت بروتلي عن التوافق العكسي وانتقلت إلى تنسيق ملفات خاص بها بامتداد .br. الميزة التي تميز بروتلي عن غيره هي أنه يمكن استخدامه فقط عبر اتصالات آمنة. ويرجع ذلك إلى الوسطاء (middlebox) الذين يوقفون ويفحصون حركة مرور HTTP غير المشفرة. وقد لوحظ أن بعض الوسطاء الذين يواجهون ملف بروتلي يحاولون تحويل Content-Encoding header (رأس ترميز المحتوى) من br إلى gzip للسماح بمرور الملف. من خلال تقييد استخدام بروتلي على HTTP، أزالت جوجل هذا التدخل، مما ساعد في تسريع اعتماد بروتلي.
عند مقارنتها بديفليت، توفر بروتلي إمكانية ضغط عالية بشكل ملحوظ. ومع ذلك، فإنها تستخدم المزيد من وحدة المعالجة المركزية. وفقًا لدراسة أجرتها جوجل في عام 2015، فإن مستوى الضغط الأقصى لبروتلي يزيد بنسبة 29% عن المستوى الأقصى لضغط ديفليت. ومع ذلك، في هذا المستوى، فإن سرعة الضغط والفك لبروتلي أقل بنسبة 97% و17% على التوالي مقارنة بديفليت (15.5 و347.3 ميغابايت / ثانية مقابل 0.5 و289.5 ميغابايت / ثانية).
بسبب الانخفاض الكبير في سرعة الضغط، تفضل الشركات ضغط الملفات مسبقًا عند استخدام بروتلي. في عام 2017، نجحت Dropbox في تقليص حجم محتواها الثابت على Dropbox.com بنسبة تتراوح بين 20-25%. نظرًا لأن المحتوى ثابت، يمكن لـ Dropbox ضغط البيانات مسبقًا في مرحلة الإعداد وتقديمها مباشرة للمستخدمين.
تدعم معظم خوادم الويب الأكثر استخدامًا بروتلي مباشرة أو عبر وحدات. كما تدعم العديد من CDN (شبكة توزيع المحتوى) بروتلي.
تقدم بروتلي، مثل gzip وzlib وDeflate، مستويات ضغط مختلفة. تقدم المستويات العالية عمومًا معدلات ضغط أعلى ولكن بسرعات أقل. يمكن ترتيب المستوى 1 على أنه الأبطأ، والمستوى 11 هو الأسرع. المستوى 5، الذي يقدم توازنًا جيدًا من حيث السرعة وحجم الملف، يُنصح به بشكل خاص لأولئك الذين يسعون إلى الضغط الديناميكي.
تدعم Apache بروتلي من خلال وحدة mod_brotli التي تأتي مع الإصدار 2.4.26. لتفعيل بروتلي، يمكنك إضافة ما يلي إلى تكوين العنوان الافتراضي الخاص بك:
ضغط أنواع MIME الشائعة النصية
AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript
تخطي المحتوى الذي تم ضغطه بالفعل
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-brotli
تعيين مستوى الضغط (الإعداد الافتراضي هو 5)
BrotliCompressionQuality 6
يقوم mod_brotli بفك ضغط البيانات مع كل طلب. لتقديم بيانات مضغوطة مسبقًا، انسخ ملفات بروتلي إلى مجلد يمكن لـ Apache الوصول إليه. ثم أدخل شرط إعادة كتابة في تكوين العنوان الافتراضي الخاص بك ليعمل مع هذه الملفات بدلاً من النسخ gzip.
تقديم ملفات CSS المضغوطة ببروتلي إذا كانت موجودة والعميل يقبل بروتلي.
RewriteCond "%{HTTP:Accept-encoding}" "br"
RewriteCond "%{REQUEST_FILENAME}\.br" "-s"
RewriteRule "^(.*)\.css" "$1\.css\.br" \.js" "$1\.js\.br" $">
تقديم نوع الترميز الصحيح.
Header append Content-Encoding br
إجبار الوكلاء على تخزين ملفات بروتلي وملفات CSS/JS غير بروتلي بشكل منفصل.
Header append Vary Accept-Encoding
تدعم Nginx بروتلي من خلال وحدة ngx_brotli. تتكون الوحدة في الواقع من وحدتين منفصلتين. واحدة للضغط الفوري، والأخرى للضغط المسبق. لاستخدام بروتلي، تحتاج إلى تجميع Nginx مع الوحدة المعطاة.
brotli on; # يمكنك تفعيل الضغط الفوري.
brotli_static on; # يمكنك تفعيل تقديم الملفات المضغوطة مسبقًا.
brotli_types *; # يمكنك تفعيل الضغط لجميع أنواع MIME. يتم ضغط استجابات text/html دائمًا.
brotli_comp_level 6; # تعيين مستوى الضغط (الإعداد الافتراضي هو 6).
من الممكن استخدام بروتلي على IIS من خلال وحدة "Brotli Compression Scheme Plugin" المفتوحة المصدر. تعمل نصوص التثبيت على تثبيت بروتلي وتكوينه تلقائيًا لجميع مواقع ISS. يمكنك تكوين إعداد ضغط بروتلي عن طريق فتح ملف applicationHost.config والانتقال إلى قسم
...
...
اعتبارًا من تاريخ كتابة هذه المقالة، كانت خيارات الضغط المتاحة هي فقط مستويات الضغط الثابت والديناميكي.
تدعم العديد من CDN مثل Key CDN وAkamai بروتلي بشكل صريح. ومع ذلك، لا تفتح بعض CDN الملفات المضغوطة ببروتلي، وقد تحاول حتى التحويل إلى gzip. في عام 2017، عندما جربت LinkedIn بروتلي في جميع أنحاء الموقع، تبين أن جميع CDN الخمسة قد عادت رأس Accept-Encoding Header إلى gzip حتى عندما يتم تقديم ملفات بروتلي. بالإضافة إلى ذلك، ارتبكت خوادم المحتوى لدى LinkedIn حيث تمت معالجة الاستجابات الخاصة بها مع Content-Encoding: br، مما جعل من الصعب على CDN تخزين البيانات في الذاكرة المؤقتة.
لحل هذه المشكلة، قامت LinkedIn بنقل ملفات بروتلي إلى عنوان URL مختلف، وقامت بإزالة رأس Content-Encoding: br. بعد تخزين الملف بواسطة CDN، تتم إضافة الرأس مرة أخرى إلى كل استجابة للمستخدم. على الرغم من أن هذا لا يحل المشكلة تمامًا، إلا أنه أظهر تحسنًا في الأداء بنسبة تتراوح بين 2-6.5%، مما أثر بشكل إيجابي على المستخدمين المتنقلين.
بروتلي مدعوم من قبل معظم المتصفحات الحديثة، باستثناء Internet Explorer 11 وOpera Mini. بدأت جوجل في دعم بروتلي منذ الإصدار 50، وفايرفوكس منذ 44، وإيدج منذ 15، وأوبرا منذ 38، وسفاري منذ الإصدار 11. يدعم 84.25% من المتصفحات عالميًا، و83.42% في الولايات المتحدة بروتلي.
ومع ذلك، فإن المتصفحات التي لا تدعم بروتلي لن تطلب بروتلي في رؤوس Accept-Encoder، وسيعتمدون على خوارزميات ضغط بديلة.
قدم بروتلي فهماً جديداً لضغط البيانات والتخزين. مع القدرة على تقليل أحجام مواقع الويب بنسبة 20%، يقدم بروتلي إمكانية وجود ويب أسرع وأقل حجماً. يمكنك معرفة المزيد عن بروتلي من صفحة GitHub الرسمية.
إذا كنت صحفياً، لديك رغبة في التعمق في المواضيع المتعلقة بالأعمال والقطاعات، نريد العمل معك!
ما هو التسويق بالعمولة؟ دخل غير نشط بنقرة واحدة
Alara Türküلماذا مقالات تطوير الأعمال الحقيقية؟
Alara Türküاستراتيجيات لنجاح وكالة السفر العالمية في تركيا
Ece Kayaكيف يمكن توسيع نطاق وكالة السفر في تركيا على مستوى عالمي؟
Ece Kayaالأمن والموثوقية في السياحة: العوامل التي تشكل تجربة العطلة
Ece Kayaمع أداة AutoQuill التي بدأت PlusClouds بتقديمها لشركائها، سيتمكن منشئو المحتوى من البيع بنقرة واحدة فقط. دعنا نوضح لك كيف يمكنك الحصول على نصيبك من هذه الثورة.