# آشنایی با HTTP
HTTP پروتکل ارتباطی بین سرور و کلاینت وب (مرورگر وب) هست و مشخص میکنه که فرمت و اکشنهای درخواست و پاسخ طرفین چطور باید باشه. کاربرد کمی از این رو در قسمت فرمهای HTML پبشتر دیدیم. اما در ادامه برای ارسال درخواست به سرور از طریق جاوااسکریپت به جزییات بیشتری ازش نیاز داریم. برای این از اینجا موضوعات زیر رو بخون:
- Overview of HTTP
- Identifying resources on the Web
- Choosing between www and non-www URLs
- A typical HTTP session
- HTTP Messages
- MIME Types
- HTTP caching (Etag)
- HTTP redirects
# تمرین
آیپی سایت cafebazaar.ir را به دست آورید.
چک کنید کدوم پورتهای سیستمتون بازه و برای چی بازه.
با کمک ابزار Network مرورگرتون، درخواستهایی که موقع رفتن به سایت cafebazaar.ir زده میشه رو نگاه کنین و تمام اطلاعاتی که از سرور کافهبازار یا دستگاه خودتون مشاهده میکنین رو بنویسین. این کار رو در حالی که یک ویدیو از سایت آپارات را نگاه میکنید انجام دهید. برای آشنایی با تب Network این لینک رو میتونید ببینید.
فرض کنید برنامه TODO داشته باشیم:
- برای ایجاد یه آیتم چه نوع درخواستی باید به سرور بزنه؟ شامل چه محتوایی؟ پاسخ سرور چی میتونه باشه؟
- برای ویرایش کردن یه آیتم چه نوع درخواستی باید بزنه؟
- برای حذف یه آیتم چطور؟ پاسخ سرور چی میتونه باشه؟
اگه بخوایم تمام فایلهای استاتیک مثل JavaScript و CSS که از سرور میگیریم، روی مرورگر برای ۱ سال cache بشه باید چکار کنیم؟