HTTP/1.1 — پروتکل انتقال ابرمتن
زبان مشترک مرورگر و سرور وب. هر درخواست یک خط متد و مسیر، چند سرآیند و یک بدنهٔ اختیاری است و سرور با یک کد وضعیت پاسخ میدهد.
- لایهٔ OSI: 7 (کاربرد)
- انتقال: TCP
- پورت: 80
- استاندارد: RFC 9110 / 9112
- سطح: مقدماتی · حدود 6 دقیقه
نکتههای کلیدی
- HTTP بدون حالت است؛ هر درخواست مستقل است و حالت با کوکی یا توکن حفظ میشود.
- کدهای وضعیت: ۱xx اطلاعاتی، ۲xx موفق، ۳xx تغییر مسیر، ۴xx خطای کاربر، ۵xx خطای سرور.
- HTTP/1.1 متنی است؛ HTTP/2 دودویی و چندجریانه است و HTTP/3 روی QUIC اجرا میشود.
مراحل شبیهسازی (5 بسته)
- GET: مرورگر روی اتصال TCP آماده (پورت ۸۰) درخواست صفحه را بهصورت متن ساده میفرستد. سرآیند Host مشخص میکند کدام سایت روی این سرور مدنظر است.
- 200 OK: سرور با کد ۲۰۰ موفقیت را اعلام میکند و با سرآیندها نوع، اندازه و قواعد کش پاسخ را توضیح میدهد.
- بدنهٔ HTML: بدنه بلافاصله بعد از خط خالی میآید. مرورگر HTML را تجزیه میکند و برای CSS، تصاویر و اسکریپتها درخواستهای تازه میفرستد.
- GET شرطی: دفعهٔ بعد مرورگر نسخهٔ کششده را دارد و با If-None-Match فقط میپرسد آیا چیزی عوض شده است.
- 304: محتوا تغییر نکرده؛ سرور بدون بدنه پاسخ میدهد و مرورگر از کش استفاده میکند. پهنای باند صرفهجویی میشود.