تواصل معنا

Nasr City , Akad Street 10

+201002424161

info@hostgad.com

تواصل معنا

طورت جوجل نظام ضغط Brotli للملفات وهو يعتبر أفضل بكثير في الضغط من ضغط GZIP في تحسين سرعة الموقع لذلك بدأت الاستضافات التي تريد خدمة أفضل لعملائها بتغيير ضغط ملفات الموقع الى ضغط Brotli.

تمكنت خوادم الويب من ضغط المحتوى الذي تخدمه لفترة طويلة الآن. عندما يتلقون طلبًا لأصل قابل للضغط ، عادةً ما يقوم ملف نصي مثل HTML أو CSS بضغطه قبل إرساله إلى المستعرض.

سيقوم المتصفح بعد ذلك بفك ضغط الملف وتحميله. بالإضافة إلى ذلك تقلل هذه العملية من كمية البيانات التي يتم تقديمها وتسرع أيضًا من تحميل موقع الويب.

أداة الضغط التي تستخدمها أغلب الاستضافات هي gzip . هذه خوارزمية ضغط صلبة ولكن أصبحت قديمة جدًا الآن. طورت Google خوارزمية جديدة تسمى Brotli يمكن استخدامها بدلاً من gzip.

يتمتع ضغط Brotli بميزة أنه يتم إنشاء ملف مضغوط أصغر لنفس المقدار من عمل وحدة المعالجة المركزية. بالإضافة إلى ذلك يؤدي هذا إلى تحسين مزايا استخدام الضغط لخدمة محتوى الموقع.

يساعد ضغط Brotli على تحسين سرعة المواقع بشكل أفضل لذلك يجب عليك استخدامه قد لا تدعم الاستضافة الخاصة بك ذلك لذلك يجب عليك طلب منهم إضافة خاصية ضغط Brotli.

جميع المتصفحات الرئيسية – Chrome و Firefox و Safari و Edge – تدعم brotli لذا يتيح تكوين Apache لاستخدامه.

لاحظ أن Apache قادر على الاستمرار في عرض الصفحات باستخدام gzip بالإضافة إلى brotli ولكن لن يعرض سوى ملفات brotli المضغوطة للمتصفحات التي تدعمها.

يفترض هذا الدليل أن لديك Apache2 مثبتًا بالفعل على خادم CentOS 8 الخاص بك. إذا كنت بحاجة إلى تثبيته ، فافعل ذلك باستخدام هذا الأمر:

dnf install httpd

قم بتثبيت Brotli

أولاً ، قم بتثبيت أداة ضغط brotli:

dnf install brotli

تكوين Apache

يتم ربط Apache مع تمكين ضغط Brotli ، لذلك لا تحتاج إلى فعل أي شيء للحصول على Apache لتحميل الوحدة.

نحتاج الآن إلى إضافة التكوين حتى يعرف Apache متى يجب استخدام ضغط Brotli . يمكنك وضع هذا التكوين إما في ملف VirtualHost الخاص بموقع ويب معين أو في التكوين الرئيسي لجميع مواقعك:

<IfModule mod_brotli.c>
AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/x-javascript application/javascript application/json application/x-font-ttf application/vnd.ms-fontobject image/x-icon
</IfModule>

يخبر السطر الطويل Apache بأنواع الملفات المراد ضغطها.

فيما يلي مثال كامل لملف VirtualHost:

<VirtualHost 1.2.3.4:443>

DocumentRoot /var/www/
ServerName example.com

SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf

CustomLog /var/log/apache2/example.com.access.log common
ErrorLog /var/log/apache2/example.com.error.log

<IfModule mod_brotli.c>
AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/x-javascript application/javascript application/json application/x-font-ttf application/vnd.ms-fontobject image/x-icon
</IfModule>

</VirtualHost>

أخيرًا ، أعد تحميل Apache:

systemctl restart httpd.service

اختبارات

الخطوة الأخيرة في أي تكوين خادم هي اختبار ضغط Brotli . هذا يؤكد أن التغييرات التي قمت بإجرائها تعمل بالشكل الذي كنت تتوقعه.

سنستخدم curl لإخبار الخادم بأننا نريد ضغط brotli -H 'Accept-Encoding: br'ثم طباعة رؤوس الاتصال -Iلاستجابة الخادم فقط:

$ curl -I -H ‘Accept-Encoding: br’ https://your domin.com

هذا يطبع الرد التالي:

HTTP/2 200
date: Thu, 23 Apr 2020 12:45:55 GMT
server: Apache/2.4.38 (Debian)
strict-transport-security: max-age=15552000; includeSubDomains
last-modified: Wed, 08 Apr 2020 14:53:30 GMT
etag: “15e8-5a2c8a9d7bf77-br”
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: br
content-length: 1539
content-type: text/html

هذا الخط:

content-encoding: br

 

يشير إلى أن الخادم يدعم عرض الصفحات باستخدام  Brotli.

وفي الختام تستطيع طلب المساعدة المباشرة من الدعم الفني لهوست جاد مجاناٌ علاوة على ذلك نستطيع مساعدتك عن طريق التدخل المباشر وأيضا بدون أي مقابل.

 

قيم الصفحة post
Share this Post
WeCreativez WhatsApp Support
أهلا بك يسعدنا تواصلك معنا لا تتردد في ذلك
كيف نستطيع مساعدتك