gzip چیست؟ مزایا و معایب آن

زمان مطالعه: 3 دقیقه
انتشار :
۱۴۰۱-۰۵-۱۹

gzip چیست؟ – ابزار فشرده سازی : ابزار gzip ابزار فشرده سازی داده شده توسط Jean-Loup Gailly و Mark Adler توسعه داده شد. که وظیفه توسعه یک جایگزین قدرتمند برای برنامه ی یونیکس بود. توابع و رفتار آن در استاندارد POSIX تعریف شده است. که فشرده سازی فایل را با استفاده از الگوریتم Lempel-Ziv سازگار می کند. با این حال، این الگوریتم، و همچنین گسترش آن توسط تری وله، توسط چندین سال (تا سال ۲۰۱۳) توسط ثبت اختراعات ایالات متحده محافظت شد. یکی از دلایل کار بر روی جایگزینی مناسب بود. علاوه بر این، تمرکز بر روی ساخت فشرده سازی gzip بسیار کارآمدتر از ابزار یونیکس بود.

gzip چیست؟ مزایا و معایب آن

چگونه gzip کار می کند؟

Gzip اختصار “گنو زیپ” است و بر اساس الگوریتم فرار قابل استفاده قابل استفاده است. که تنوع روش تفکیک داده LZ77 (Lemprl-Ziv 77) و همچنین کدگذاری هافمن است. با استفاده از این تکنیک ها فایل های gzip برای تکراری رشته های داده اسکن می کنند. اگر برنامه با این دنباله های تکراری مواجه شود، آنها را با یک لینک به رشته ای که برای اولین بار به نظر می رسد جایگزین می کند. طول این توالی ها معمولا به ۳۲۰۰۰ بایت محدود می شود. اگر یک رشته کاراکتر در ۳۲۰۰۰ بایت قبلی ظاهر نشد. در فایل gzip ذخیره می شود (بدون فشرده سازی) که پایان دادن به .gz را دریافت می کند.

چه مواقع ابزار فشرده سازی استفاده می شود؟

Gzip در ابتدا برای GNU پلتفرم Unixoid توسعه داده شد، اما در حال حاضر در تمام عمر سیستم عاملها مورد استفاده قرار میگیرد. تا زمانی که مجوز GPL برای این پروژه در نظر گرفته شود. به عنوان مثال، در سیستم های لینوکس، ابزار فشرده سازی معمولا به طور خودکار نصب می شود. یا به صورت متناوب در مدیریت بسته و آماده نصب می باشد. علاوه بر نسخه های مختلف سیستم عامل های قدیمی تر، نسخه های MacOS و ویندوز نیز در وب سایت رسمی وجود دارد. افزوده شده به این واقعیت است که برنامه های وب سرور مانند Apache، فشرده سازی gzip را برای سال ها تسلط یافته اند. حتی اگر این تابع همیشه استفاده نمی شود. و همچنین به عنوان توانایی مرورگرهای مدرن برای تفسیر فایل های فشرده و باز کردن آنها در طول رندر صفحه وب.

در توسعه وب، gzip به طور کامل نقاط قوت خود را نشان می دهد:

هنگامی که این فرایند فعال می شود، وب سرور به طور خودکار فشرده سازی عناصر وب که در فضای وب آپلود شده اند. و همچنین کسانی که به صورت پویا ایجاد شده اند را آغاز می کند. به این ترتیب زمان بارگذاری وب سایت برای بازدیدکنندگان به طور قابل توجهی کاهش می یابد. از آنجا که کاربران فقط باید بسته های داده فشرده را بارگذاری کنند، صفحات نیز بارها قابل ملاحظه ای سریعتر می شوند. مرورگر فشرده سازی در پسزمینه را بدون نیاز به پهنای باند اضافی انجام می دهد. به طور خاص کاربران از دستگاه های تلفن همراه از این افزایش عملکرد سود می برند. که به طور غیر مستقیم تاثیر مثبتی بر رتبه بندی موتورهای جستجو می گذارد.

نحوه استفاده از فشرده سازی gzip برای پروژه وب Apache

سرورهای وب معموال فرایند فشرده سازی عملی را به شکل یک ماژول ارائه می دهند. که همچنین باید فعال باشد. امروزه بسیاری از ارائه دهندگان وب هاست این ویژگی را دارند. اما در گذشته، این مورد نبود. دلیل آن احتمالا به این دلیل بود که فشرده سازی نیاز به پردازنده قدرت اضافی داشت. اگر شما مطمئن نیستید که آیا gzip توسط هاست شما مجاز است یا خیر؟ می توانید به طور مستقیم با هاست خود تماس بگیرید یا به طور متناوب پرس و جوی دستی انجام دهید. برای مثال، با یک سرور وب آپاچی، تنظیمات ماژول با استفاده از خروجی ساده phpinfo () را بررسی کنید. ورودی HTTP_ACCEPT_ENCODING به شما می گوید که روش فشرده سازی انتخاب شده است.

اگر gzip در دسترس باشد، شما در استفاده از دستیار فشرده سازی برای هر هدف چندین گزینه دارید.

فعال کردن فشرده سازی Gzip در فایل .htaccess

شما می توانید از فایل .htaccess برای انجام تنظیمات خاص دایرکتوری (این موارد در پوشه جاری و تمام زیر شاخه ها اعمال می شود) و سرور مجازی خود را در زمان واقعی پیکربندی کنید. این باعث می شود که فایل پیکربندی، که معمولا در دایرکتوری ریشه پیدا شود. به طور خودکار به هر درخواستی که به سرور می رسد، خوانده شود. با وجود برخی ارائه دهندگان وب هاستی، فایل .htaccess، با این حال، در یک پوشه دیگر ذخیره می شود. پنهان شده یا حتی از دسترسی مسدود شده است. در این مورد، تنها گزینه ای که دارید، تماس با هاست و درخواست دسترسی است.

بازخوردها
مقالات مرتبط
گیم فیشینگ چیست؟
گیمیفیکیشن چیست و چه تاثیری بر کسب و کارها دارد؟
یکی از نوین‌ترین روش‌ها برای برقراری ارتباط با مشتریان و یا مخاطبان، استفاده از روش‌های گیمیفیکیشن Gamification است.…
زمان مطالعه: 5 دقیقه
انواع سیستم عامل چیست ؟
سیستم عامل چیست؟ (معرفی انواع سیستم عامل)
بدون شک تمامی افرادی که با سیستم‌ها و تجهیزات کامپیوتری در ارتباط هستند، نام سیستم‌عامل را شنیدند و…
زمان مطالعه: 4 دقیقه