از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
سرعت سایت های خود را با HTTP/2 افزایش دهید
سرفصلهای مطلب
سرعت سایت های خود را با HTTP/2 افزایش دهید
HTTP/2 یک روش جدید برای بارگذاری وب سایت شما با حذف بسیاری از ناکارآمدی های نسخه فعلی HTTP است. بزرگترین چیز در مورد آن؟ برای راه اندازی و راه اندازی آن نیازی به تلاش زیادی نیست. یا شما؟
HTTP/2 چیست؟
هنگامی که HTTP1 و HTTP1.1 در ابتدا توسعه یافتند ، وب با آنچه امروز است بسیار متفاوت بود. وب سایت ها منابع کمتری (پرونده های JavaScript ، پرونده های CSS ، تصاویر) نسبت به امروز داشتند. اتصال به اینترنت خیلی سریع نبود و کاربران با سرعت بارگذاری وب سایت خیلی دلپذیر نبودند. (pullquote) وقتی یک سایت بیش از 3 ثانیه طول می کشد تا پاسخ را نشان دهد، کاربران شروع به خارش در انگشتان خود می کنند. (/pullquote) از بارگیری کامل یک وب سایت خوشحال بودید. ممکن است مخفیانه شکایت کرده باشید که بارگیری کند است. اما واقعاً نمیتوانستید کار زیادی در مورد آن انجام دهید. دلیل این امر این است که زمان بارگذاری آهسته به طور معمول از عواملی که مستقل از سرور وب و فناوری شما استفاده می کردند ، حاصل می شد. بیشتر این اتصال واقعی اینترنت بود که مهمترین عامل محدود کننده بود. سریع به جلو به امروز. زمان بارگذاری وب سایت عالی به جای ثانیه در میلی ثانیه اندازه گیری می شود. هنگامی که یک سایت بیش از 3 ثانیه طول می کشد تا پاسخی را نشان دهد ، کاربران شروع به خارش می کنند. در این نوع شرایط ، ناکارآمدی ها در میلی ثانیه های مرتبط با نسخه های اصلی HTTP شروع به ایجاد تفاوت واقعی می کنند. به همین دلیل است که مقالات زیادی در مورد چگونگی سریعتر کردن وب سایت خود دریافت می کنید. چون میلی ثانیه اهمیت دارد. نسخه جدید HTTP که به نام HTTP/2 مشکلات خاص شناخته شده HTTP را برطرف می کند. اهداف آن رسیدگی به تعدادی از مشکلات است که با تبدیل شدن وب به وب سایت های بزرگتر و بزرگتر با CSS، JS و فایل های تصویری بسیار بیشتر از آنچه در ابتدا پیش بینی می شد، آشکارتر شده اند. اما مشکل HTTP1.x چیست و چرا برای سریعتر شدن آن تلاش زیادی میکنیم؟
مشکلات HTTP1.x
HTTP1.x دارای تعدادی مشکلات ذاتی است. در واقع از این که آنها را مشکل خوانیم خودداری کنیم. HTTP1.x راه های مختلفی دارد که می تواند کارآمدتر باشد.
- HTTP 1.x مبتنی بر متن است: در ابتدا ایده این بود که HTTP1.x باید برای انسان قابل خواندن باشد، بنابراین کاملاً مبتنی بر متن بود. طبق تعریف، تمام پروتکلهای مبتنی بر متن دارای ناکارآمدیهایی مانند فضای خالی، شکستن لینک، حروف بزرگ و غیره هستند.
- در هر زمان فقط یک فایل در حال انتقال است: این یکی از بزرگترین مشکلات نسخه 1.x HTTP است. فقط تصور کنید که یک تحویلدهنده هستید که میتواند هر بار فقط یک بسته را تحویل دهد. آنها باید هر بار که نیاز به تحویل بسته بعدی دارند به پایگاه خود بازگردند.
- برای وب سایت های امروزی صدها درخواست مورد نیاز است: داشتن تم های پیچیده تر به این معنی است که اندازه وب سایت ها و تعداد منابع افزایش می یابد. و زمان بارگذاری هر منبع نیز به همین ترتیب است. به یاد داشته باشید که “تسلیم کننده” ما باید هر بار به پایگاه برگردد، آنها قادر به انتقال بیش از یک فایل در یک زمان نیستند.
- هر اتصال یک عملیات فنی سنگین است: از آنجایی که صدها اتصال مورد نیاز است، شروع به جمع آوری سربار جدی می کند. با اندازهگیری زمان بارگذاری در میلیثانیه، زمان ترکیبی مورد نیاز برای ایجاد یک اتصال برای صدها منبع بسیار مهم میشود.
بسیاری از اوقات طراحان وب مجبور بودند اقدامات خاصی را برای کاهش این ناکارآمدی ها انجام دهند. راهحلهایی مانند CSS sprites، کوچکسازی و ترکیب فایلها برای غلبه بر مشکلات بارگذاری وبسایتها بهکار میروند. اینها – در اصل – راهحلهایی هستند تا راهحل.
چگونه HTTP/2 مشکلات HTTP1.x را حل می کند
HTTP/2 طراحی و تکامل یافته است SPDY، پروتکل طراحی شده در گوگل با هدف افزایش سرعت وب 2 برابر. مشکلات HTTP را به روش زیر حل می کند
- HTTP/2 برای مصرف ماشین ها در نظر گرفته شده است (مرورگر وب و سرور وب سایت شما) به جای انسان. این باینری است نه مبتنی بر متن ، آن را ذاتاً کارآمدتر می کند. انتقال و تجزیه داده ها با استفاده از پروتکل های باینری سریعتر است.
- چندین فایل را می توان به طور همزمان منتقل کرد روی همان اتصال. اصلاحات به گونه ای اجرا شد که می توانید منابع خط لوله روی همان اتصال به جای اینکه هر بار یک اتصال جدید باز کنیم (تحویل ما به پایگاه باز می گردد) ، همه منابع را می توان حمل کرد روی همان ارتباط (تحویل ما همه چیز را در یک ون می ریزد و همه چیز را در یک سفر واحد می گیرد).
- فشار سرور برای ارسال پرونده هایی که توسط مرورگر لازم خواهد بود. در HTTP1.x این مرورگر وب است که از وب سرور منابع مورد نیاز خود را می خواهد. فشار سرور HTTP (اجرا شده به عنوان بخشی از HTTP/2) به سرور اجازه می دهد تا منابعی را که می داند مرورگر وب به آنها نیاز دارد ارسال کند. به عنوان مثال، می توانید به سرور دستور دهید که منتظر نماند تا مرورگر فایل های CSS، JS و سایر منابعی را که مرورگر به هر حال به آنها نیاز دارد درخواست کند.
- هدر بسته HTTP و بهینه سازی های دیگر – اینها پیشرفت های فنی هستند که برای بهبود کارایی واقعی نقل و انتقالات طراحی شده اند
برای فعال کردن HTTP2 چه چیزی لازم است؟
(pullquote) با پشتیبانی نکردن از HTTP/2 از طریق اتصالات رمزگذاری نشده، صاحبان وبسایتها به شدت برای پیادهسازی HTTP برای وبسایت خود مسلح میشوند.(/pullquote) در همان ابتدای مقاله گفتیم که تلاش زیادی از پایان شما تا HTTP/2 را فعال کنید. فعال کردن HTTP/2 چیزی است که باید در سطح وب سرور انجام شود. اکثر وب سرورها مانند Apache، Nginx، IIS و سایر وب سرورهای اصلی از HTTP/2 پشتیبانی می کنند. اگر وب سرور خود را اجرا می کنید، فقط باید کتابخانه های HTTP/2 را نصب و فعال کنید. اگر وب سایت شما با یک شرکت میزبان میزبانی می شود، با شرکت بررسی کنید که آیا وب سرور از قبل برای HTTP/2 فعال است یا خیر.
گرفتن؟ گواهینامه های امن
شاید همه چیز خیلی خوب بود که واقعیت نداشت. ما به تازگی بحث کرده ایم که چگونه وب سرورها قبلاً به طور کامل از HTTP/2 پشتیبانی می کنند. اکثر مرورگرهای وب اصلی همچنین پشتیبانی کامل از HTTP/2. با این حال، آنها همچنین انتخاب کرده اند که فقط از HTTP/2 در حالت رمزگذاری شده پشتیبانی کنند. دلیل این امر این است که یک جنبش قوی برای فعال کردن HTTPS (رمزگذاری) در سراسر وب وجود داشته است. ابتکاراتی مانند HTTPS همه جا نیاز به HTTPS را به شدت تحت فشار قرار دهید روی همه وب سایت ها با پشتیبانی نکردن از HTTP/2 از طریق اتصالات رمزگذاری نشده، صاحبان وبسایتها به شدت برای پیادهسازی HTTP برای وبسایت خود مسلح میشوند. البته این لزوما چیز بدی نیست. پیاده سازی HTTPS مزایای امنیتی و حریم خصوصی قابل توجهی دارد. با شرکت هایی که گرد هم می آیند تا یک مرجع صدور گواهی را تشکیل دهند بیایید رمزگذاری کنیم برای اجازه دادن به گواهینامه های ایمن رایگان، هزینه کلی دریافت گواهی و پیاده سازی HTTPS بسیار ارزان تر می شود. این تا چند وقت پیش نسبتاً گران بود. پیاده سازی HTTPS کاری نیست که شما باید بدون توجه به آن انجام دهید. احتمالاً ممکن است بخواهید این موضوع را با توسعه دهنده وب سایت مورد اعتماد خود یا شخصی با تخصص فنی کافی در میان بگذارید. اغلب اوقات، شرکت میزبان شما باید بتواند شما را در این زمینه راهنمایی کند. البته اکیداً توصیه می شود که HTTPS را پیاده سازی کنید. علاوه بر امنیت اضافی، میتوانید HTTP/2 را فعال کنید و وبسایت خود را سریعتر کنید. این چیزی است که ما آن را وضعیت برد-برد می نامیم.
آیا تکنیک های دیگر بهینه سازی هنوز لازم است؟
بله و خیر. برخی بهینهسازیها با هدف کاهش درخواستهای وب، اضافی میشوند. اگر سایت شما زمان محاسباتی را برای “ترکیب” JS، CSS و فایل های دیگر متحمل می شود، این در واقع به یک هزینه سربار تبدیل شده است. هر زمان “هدر رفته” برای رسیدگی به ناکارآمدی های ذکر شده در بالا دیگر ضروری نیست. از سوی دیگر، چنین بهینه سازی هایی مانند کش کردن، کاهش اندازه منابع، ارائه محتوا از طریق CDN، انتخاب یک سرور میزبانی عالی و سایر بهینه سازی هایی که انواع مختلف ناکارآمدی ها را برطرف می کنند، باید در جای خود باقی بمانند. نکته مهم در مورد HTTP/2 این است که نه تنها باعث می شود وب سایت شما سریعتر بارگذاری شود، بلکه شما را به سمت امن تر کردن وب سایت خود سوق می دهد. هیچ بحثی وجود ندارد که هر دوی اینها مزایایی دارند. HTTP/2 گام بعدی برای سریعتر کردن کل وب است. بیایید همه بخشی از آن باشیم و آن را محقق کنیم.
(برچسبها برای ترجمه مرورگر
منتشر شده در 1403-01-10 15:17:02
منبع نوشتار