وقتی یک صفحه را باز میکنید، مرورگر در نقش کلاینت یک درخواست میفرستد و سرور پاسخ میدهد. HTTP قالب مشترک این گفتوگو است. برای این درس فقط مرورگر و ابزار توسعه آن کافی است.
یک درخواست را بخوانیم
در HTTP/1.1، خط اول متد و مسیر را نشان میدهد. GET برای دریافت یک منبع است. هدر Host مقصد و Accept نوع پاسخ مورد انتظار را مشخص میکنند. این مثال، شکل متنی یک درخواست است؛ دستور قابل اجرای ترمینال نیست.
GET /api/lessons HTTP/1.1
Host: example.test
Accept: application/jsonپاسخ چه میگوید؟
وضعیت 200 یعنی درخواست موفق بوده، 404 یعنی منبع پیدا نشده و 500 از خطای سمت سرور خبر میدهد. Content-Type نوع محتوا را مشخص میکند. پاسخ میتواند HTML، JSON یا نوع دیگری از داده باشد.
HTTP/1.1 200 OK
Content-Type: application/json
{"lessons": ["HTTP", "Python"]}تمرین در همین مرورگر
ابزار توسعه مرورگر را باز کنید، وارد Network شوید و صفحه را دوباره بارگذاری کنید. درخواست سند اصلی را انتخاب کنید و متد، وضعیت و Content-Type را پیدا کنید. سپس یک فایل CSS را بررسی کنید؛ نوع محتوای آن با سند اصلی چه تفاوتی دارد؟
تمرین
کدام کد معمولاً نشان میدهد منبع پیدا نشده است؟
- 200
- 404
- 500
404 به معنی پیدا نشدن منبع درخواستشده است.