فرض کنید می خواهید یک جفت کفش ورزشی بخرید تا در حین قدم زدن در مرکز خرید از آن استفاده کنید. به جای مراجعه به یک فروشگاه فیزیکی، تصمیم گرفتید مثلاً کفش را از سایت برند خریداری کنید. تنها کاری که باید انجام دهید این است که نام برند را در نوار جستجو تایپ کنید و روی دکمه enter کلیک کنید. تبریک می گویم، هزاران کفش در انتظار خرید شما هستند! آیا می دانید در حالی که بدون زحمت در اینترنت گشت و گذار می کنید، در پس زمینه چه اتفاقی می افتد؟ هر بار که از یک وب سایت بازدید می کنید، در واقع بین مرورگری که استفاده می کنید و یک وب سرور ارتباط برقرار می کنید. مرورگر درخواستی را به وب سرور ارسال می کند تا آنچه را که انتظار دارید نمایش دهد. و در عوض سرور به آن پاسخ می دهد. در این مرحله، سرور پیامی را با یک سری کد پاسخ به مشتری ارسال می کند تا وضعیت درخواست را نشان دهد. پس این کد پاسخ چیست؟
در راهنمای جامع امروز، ابتدا به این سوال پاسخ خواهیم داد که «کدهای وضعیت در دنیای HTTP چیست؟». سپس، به کدها می پردازیم و آنها را در 5 دسته مجزا بررسی می کنیم. در پایان، ما شش ترفند عالی را به اشتراک می گذاریم که می تواند سرعت پاسخگویی سرور را بهبود بخشد و منجر به تجربه بهتری برای بازدیدکنندگان وب سایت شما شود. اماده ای؟ بیایید شیرجه بزنیم!
کدهای وضعیت HTTP چیست؟
کدهای وضعیت HTTP پاسخ سرور به درخواستی است که توسط یک مرورگر (همچنین به عنوان “مشتری” شناخته می شود) ارائه می شود. هنگامی که به یک وب سایت دسترسی پیدا می کنید، مرورگر شما درخواستی را به سرور ارسال می کند و سرور یک کد سه رقمی ارائه می دهد. این همان کدهای وضعیت HTTP است. هر کد از 3 رقم عددی تشکیل شده است و در درجه اول برای نشان دادن موفقیت یا عدم موفقیت درخواست ارسال شده توسط مشتری استفاده می شود.
کدهای وضعیت HTTP در پنج گروه جداگانه بر اساس رقم اول کد قرار می گیرند.
- 1xx – کدهای وضعیت پاسخ اطلاعاتی: این کد نشان می دهد که سرور درخواست را دریافت کرده و در حال حاضر در حال پردازش است.
- 2xx – کدهای وضعیت موفق: این کد نشان دهنده یک دریافت، پذیرش و درک موفقیت آمیز درخواست است.
- 3xx – کدهای وضعیت تغییر مسیر: این کد به این معنی است که برای تکمیل موفقیت آمیز درخواست، مراحل بیشتری لازم است.
- 4xx – کدهای وضعیت خطای مشتری: این کد نشان دهنده مشکل در درخواست و در نتیجه انجام نشدن آن است.
- 5xx – کدهای وضعیت خطای سرور: این کد نشان می دهد که سرور به دلیل مشکل سمت سرور قادر به انجام درخواست نیست.
هر کلاس شامل انواع کدهای سرور است که ممکن است از سرور بازگردانده شوند، از 00 تا 99. این کدها معانی خاص و متمایز دارند. بنابراین، اجازه دهید شما را با کد وضعیت پردرآمد آشنا کنیم!
با راهنمای درخواست HTTP بیشتر بیاموزید!
100 کد وضعیت
کدهای وضعیت HTTP که با 1xx شروع می شوند نشان می دهند که درخواست مشتری هنوز در حال انجام است. یک کد وضعیت 100 سطحی اطلاعات اضافی را برای اطلاع شما از وضعیت فعلی درخواست ارائه می دهد.
- 100 – ادامه: نشان دهنده این است که سرور قسمت اول درخواست را دریافت کرده و هنوز آن را رد نکرده است.
- 101 – پروتکل های سوئیچینگ: این نشان می دهد که درخواست دارای یک هدر ارتقاء است. این نشان می دهد که سرور در حال تغییر به پروتکل دیگری است.
- 102 – پردازش: این بدان معناست که سرور کل درخواست مشتری را جمع آوری کرده و هنوز آن را تکمیل نکرده است.
200 کد وضعیت
نتیجه مطلوب دریافت کد وضعیت HTTP در محدوده 200 است. این نشان می دهد که همه عملکردها به درستی کار می کنند. در این گروه کدهای 200 و 201 رایج ترین کدهای وضعیت هستند.
- 200 – خوب: نشان می دهد که درخواست ارسال شده توسط سرور با موفقیت انجام شده است.
- 201 – ایجاد: نشان دهنده این است که سرور رسیدگی به درخواست را به پایان رسانده و یک یا چند منبع جدید ایجاد کرده است.
- 202 – پذیرفته شده: نشان دهنده این است که درخواست برای پردازش پذیرفته شده است اما هنوز تکمیل نشده است.
- 203 – اطلاعات غیر معتبر: این نشان می دهد که درخواست HTTP موفقیت آمیز بوده است، اما با استفاده از یک پروکسی تغییری ایجاد شده است.
- 204 – بدون محتوا: این نشان می دهد که سرور با موفقیت درخواست را تکمیل کرده است و اطلاعات بیشتری برای درج در پاسخ وجود ندارد.
- 205 – بازنشانی محتوا: این نشان می دهد که سرور درخواست را برآورده کرده است و به مرورگر دستور می دهد تا سند را بازنشانی کند.
300 کد وضعیت
دریافت کد وضعیت که با 3 شروع می شود، روشی است برای اطلاع از اینکه یک منبع به URL منبع جدید یا مکان منتقل شده است. کد پاسخ دریافت شده توسط مشتری می تواند به یک مکان موقت یا دائمی منتقل شود.
- 301 – انتقال دائمی: این نشان می دهد که منبع درخواستی به طور دائم به یک URL جدید منتقل شده است.
- 302 – یافت شد: این نشان می دهد که درخواست منبع به طور موقت به یک URL جدید منتقل شده است.
- 303 – موارد دیگر را ببینید: به مشتری (مرورگر) دستور میدهد تا URL دیگری را همانطور که در سرصفحه مکان پاسخ نشان داده شده است درخواست کند.
- 304 – اصلاح نشده: این نشان میدهد که وبسایت/صفحه وب مورد درخواست از آخرین باری که به آن دسترسی داشتهاید بهروزرسانی نشده است.
- 305 – از پروکسی استفاده کنید: این بدان معناست که منبع درخواستی فقط با استفاده از یک پروکسی قابل دسترسی است.
- 307 – تغییر مسیر موقت: مشخص می کند که منبع هدف به طور موقت به یک URL دیگر منتقل می شود.
- 308 – تغییر مسیر دائمی: این مشخص می کند که به منبع هدف یک URL دائمی جدید داده شده است.
400 کد وضعیت
کدهای وضعیت سطح 400 نشان دهنده مشکل در درخواست و/یا مرورگر است. نه اینکه وقتی یک کلاینت سعی می کند به منبعی دسترسی پیدا کند که وجود ندارد، کد پاسخ شناخته شده خطای 404 را به دست می آورد.
- 400 – درخواست بد: این نشان می دهد که سرور به دلیل خطای مشتری قادر به رسیدگی به درخواست نیست.
- 401 – غیر مجاز: این نشان میدهد که درخواست به دلیل ارائه اعتبارنامههای اعتبارسنجی نامعتبر برای منبع درخواستی توسط مشتری رد شده است.
- 402 – پرداخت مورد نیاز: این بدان معناست که قبل از دسترسی به منبع درخواستی باید پرداخت انجام شود.
- 403 – ممنوع: این نشان می دهد که مشتری مجوز لازم برای دسترسی به محتوا را ندارد.
- 404 پیدا نشد: این نشان می دهد که سرور نمی تواند منبع منطبق برای درخواست اشاره به URL پیدا کند.
- 405 – روش مجاز نیست: این نشان می دهد که روش درخواست استفاده شده در منبع هدف مجاز نیست. به عنوان مثال، اگر مشتری یک درخواست PUT را در منبعی صادر کند که فقط درخواست GET را فعال می کند، یک کد وضعیت 405 دریافت می شود.
- 406 – غیر قابل قبول: این مشخص می کند که منبع درخواستی قادر به تولید محتوایی نیست که معیارهای تعیین شده توسط سرفصل های مذاکره محتوای درخواست را برآورده کند.
- 407 – احراز هویت پروکسی مورد نیاز است: این مشخص می کند که احراز هویت برای استفاده از یک پروکسی ضروری است.
- 408 – مهلت زمانی درخواست: این مشخص می کند که سرور در حالی که منتظر ارسال یک پیام درخواست کامل توسط مشتری است، به پایان رسیده است.
- 409 – تعارض: این مشخص می کند که به دلیل تضاد با وضعیت فعلی منبع هدف، درخواست نمی تواند انجام شود.
- 410 – رفت: این مشخص می کند که سرور مبدا دیگر نمی تواند به منبع درخواستی دسترسی داشته باشد، که انتظار می رود دائمی بماند.
500 کد وضعیت
کدهای وضعیت که با 5 شروع می شوند نیز نشان دهنده یک مشکل هستند. با این حال، منبع مشکل در سمت سرور نهفته است و رفع آن را در مقایسه با خطاهای سمت کلاینت سختتر میکند.
- 500 – خطای سرور داخلی: این نشان می دهد که سرور با مشکل غیرمنتظره ای مواجه شده است که مانع از انجام درخواست می شود.
- 501 – اجرا نشده: این نشان می دهد که عملکرد مورد نیاز برای تکمیل درخواست پشتیبانی نمی شود و سرور نمی تواند آن را مدیریت کند.
- 503 خدمات در دسترس نیست: این نشان می دهد که سرور در دسترس نیست یا قادر به پاسخگویی به درخواست ها نیست. این می تواند موقت یا دائمی باشد. نحوه رفع خطای HTTP 503 را در اینجا بیاموزید.
- 504 – مهلت زمانی دروازه: این نشان می دهد که دروازه یا سرور پراکسی در دریافت پاسخ به موقع از سرور بالادستی مورد نیاز برای انجام درخواست شکست خورده است.
- 505 – نسخه HTTP پشتیبانی نمی شود: این بدان معناست که سرور از نسخه HTTP استفاده شده توسط مشتری برای درخواست پشتیبانی نمی کند.
نحوه بهبود زمان پاسخگویی سرور
بهبود زمان پاسخگویی سرور باید اولویت اصلی شما به عنوان مالک وب سایت باشد. شاید تعجب کنید که چرا. درست است که اگر بارگذاری وب سایت بیش از حد طول بکشد، باعث می شود بازدیدکنندگان بلافاصله صفحه وب را ترک کنند. این بدان معنی است که بازدیدکنندگان بالقوه شما هرگز به سراغ شما نمی آیند و به وب سایت های رقبای قوی شما سر می زنند. بنابراین، واضح است که زمان پاسخ به طور قابل توجهی بر تجربه کاربری (UX) و استراتژی های بهینه سازی موتور جستجو (SEO) شما تأثیر می گذارد. درباره HTTP و SEO بیشتر بدانید.
پستهای اخیر
درخواست های HTTP: راهنمای آموزنده
پروتکل انتقال ابرمتن یا به اختصار HTTP، ستون فقرات اینترنت است. در زیر این چتر، پاسخ ها و درخواست های HTTP نقش مهمی را ایفا می کنند.
توجه داشته باشید که:
- از هر 4 بازدیدکننده یک نفر وب سایتی را ترک می کند که بارگذاری آن بیش از 4 ثانیه طول می کشد.
- تاخیر 1 ثانیه ای رضایت بازدیدکنندگان را 16% و نرخ تبدیل را تا 4.45% کاهش می دهد.
- صفحاتی که در 2 ثانیه بارگذاری می شوند، نرخ بازدید یک صفحه ای 9٪ دارند، در حالی که صفحاتی که در 5 ثانیه بارگذاری می شوند، نرخ بازدید یک صفحه ای 38٪ دارند.
هنگامی که اهمیت زمان پاسخگویی سریع سرور را درک کردید، وقت آن است که به دنبال راه هایی برای کاهش سریع آن باشید!
نکات
- یک سرور قدرتمند و با کارایی بالا انتخاب کنید: اول چیزهای مهم. داشتن زمان پاسخگویی مداوم و سریع سرور را می توان با سرمایه گذاری در یک وب سرور قدرتمند، قابل اعتماد و با کارایی بالا امکان پذیر کرد.
- پایگاه داده خود را بهینه کنید: در روزهای اولیه راه اندازی یک وب سایت، پایگاه داده می تواند به سرعت به پرس و جوها پاسخ دهد. با این حال، با انباشته شدن داده های بیشتر در طول زمان، پایگاه داده مملو از اطلاعات می شود. بنابراین، باید پرس و جوهای خود را بهینه کنید تا فقط اطلاعات لازم را برگردانید. بنابراین، ایندکس های مرتبط و مناسب را پیاده سازی کنید و طرحواره پایگاه داده خود را سازماندهی کنید.
- فایل های وب سایت خود را بهینه کنید: اگر وب سایت شما حاوی کدهای بهینه نشده باشد، بارگیری و پردازش درخواست های HTTP صفحات وب بیشتر طول می کشد. بهینه سازی اندازه فایل زمان بارگذاری صفحه وب را تسریع می کند.
- راه اندازی حافظه پنهان: بدون کش کردن، یک مرورگر هر زمان که یک صفحه در حال بارگیری است، به جای بازیابی آنها از یک کش محلی یا موقت، درخواست ها را به سرور ارسال می کند. بنابراین، پیکربندی کش به شما امکان می دهد زمان پاسخگویی صفحات وب را برای بازدیدکنندگان افزایش دهید.
- از CDN استفاده کنید: Content Delivery Network یا به اختصار CDN به شبکه ای از سرورها اشاره دارد که در سراسر جهان با نسخه های محلی داده های ذخیره شده برای تسهیل دانلود سریعتر محتوا پخش شده اند. هنگامی که یک CDN استفاده می شود، چندین سرور پروکسی کپی هایی از محتوای وب شما را حفظ می کنند. اگر سرور اصلی از یک کاربر بین المللی دور باشد، داده های ذخیره شده به آنها اجازه می دهد تا به سرعت به سایت شما دسترسی پیدا کنند. این باعث بهبود سرعت تحویل محتوا می شود.
- خطاهای 404 را شناسایی کرده و خطاها را حذف کنید: بازدیدکنندگان وب زمانی که درخواست صفحه ای غیرقابل دسترس می کنند، خطاهای 404 را دریافت می کنند. این وضعیت یک تجربه منفی ایجاد می کند. علاوه بر این، این درخواستها هنوز هم فضا و منابع وب سرور شما را مصرف میکنند و باعث میشوند سرور تحت فشار قرار گیرد.
نتیجه
درخواست ها و پاسخ ها در قلب دنیای HTTP قرار دارند. یک مرورگر یا یک کلاینت درخواستی را به یک وب سرور ارسال می کند و سرور بلافاصله آن را برای پردازش دریافت می کند. پس از این فرآیند، سرور پاسخ مناسبی را ارسال می کند. در این مرحله، ممکن است یک یا چند کد وضعیت برای مشتری ارسال شود. این دقیقاً همان کد پاسخ است که نشان می دهد در طول فرآیند چه اتفاقی می افتد. با مشاهده کد پاسخ می توان متوجه شد که آیا درخواست در حال حاضر کار می کند یا خیر. اگر کدهایی را دریافت کردید که با 4 یا 5 شروع می شوند، سعی کنید بدون هیچ وقت وقت بگذارید آن را برطرف کنید!