وب مدرن، رابط کاربری و تجربه‌ی وب · فصل ۱ — مرورگر، سرور، رندر و معماری صفحه · 28

وقتی یک آدرس سایت را در مرورگر باز می‌کنیم چه اتفاقی می‌افتد؟

_Locale: fa-IR · Lesson: WEBF-001 · Public order: 28_

From URL to Page: What Happens When You Open a Web Address? — en-US

پیش‌نیازها

_Locale: fa-IR · Lesson: WEBF-001 · Public order: 28_

خروجی و artifact کاری

این درس برای ساختن رکورد مسیر پیمایش وب نسخه ۱ است: یک artifact تصمیم که مشاهده، فرض، محدودیت و evidence موردنیاز را از هم جدا می‌کند. هدف حفظ یک مدل قابل‌انتقال است، نه حفظ‌کردن نام ابزارها.

Given an unfamiliar web-navigation scenario, explain a bounded request/response and rendering flow, place each responsibility at browser/network/server boundaries, and state what the model does not prove.

مدل مرزی

واردکردن یک URL در ظاهر یک کار ساده است، اما مسئولیت میان چند مرز جابه‌جا می‌شود: تفسیر URL، نام‌یابی احتمالی، ساخت اتصال، تبادل HTTP، کشف منابع وابسته و رندر مرورگر. مدل مفید یک ردگیری اجباری و همیشگی از بسته‌های شبکه نیست؛ نقشه‌ای محدود است که می‌گوید هر مرحله ممکن است کجا انجام شود، مالک آن کیست و برای اثبات مسیر واقعی چه مشاهده‌ای لازم است.

در هر بخش سه برچسب نگه دارید: «مشاهده‌شده»، «استنباط محدود» و «نیازمند بررسی». اگر evidence در دسترس نیست، نتیجه را unknown ثبت کنید؛ نام ابزار یا pass شدن یک happy path جای evidence را نمی‌گیرد.

1. URL دستور پیمایش است، نه خود صفحه

مرورگر scheme، host، port، path، query و fragment را تفسیر می‌کند. fragment معمولاً در سمت کاربر مدیریت می‌شود و جزئی از request target ارسالی نیست. URL مقصد را معرفی می‌کند، اما تضمین نمی‌کند byteها دقیقاً از کجا برسند.

2. نام‌یابی شرطی است

ممکن است نشانی قابل استفاده از قبل در cache محلی یا یک واسط موجود باشد. مراجعه به resolver محتمل است، اما lookup تازه‌ی DNS قانون همیشگی نیست. در رکورد خود مشخص کنید نام‌یابی مشاهده شده، cached بوده یا نامعلوم است.

3. پاسخ ممکن است از مسیر واسط برسد

مرورگر می‌تواند connection را reuse کند، HTTP cache یا service worker را ببیند، redirect را دنبال کند یا پیش از origin به CDN و proxy برسد. پس ارتباط مستقیم با origin یک ادعای نیازمند evidence است.

4. یک document می‌تواند fetchهای متعدد بسازد

مرورگر پس از دریافت HTML آن را parse می‌کند و ممکن است stylesheet، script، font، image و moduleهای دیگری کشف کند. هر منبع می‌تواند cache، origin، priority و failure mode متفاوتی داشته باشد.

5. موفقیت پروتکل مساوی درستی محصول نیست

کد 200 یعنی request از دید HTTP پاسخ موفق گرفته است. این کد ثابت نمی‌کند داده‌ی درست نمایش یافته، script اجرا شده، accessibility مناسب است یا رابط کاربری requirement محصول را برآورده کرده است.

روش پنج‌مرحله‌ای

  1. URL را تجزیه کنید و state مخصوص مرورگر را از request target شبکه جدا نگه دارید.
  2. کارهای شرطی پیش از request را ثبت کنید: policy، cache، service worker، نام‌یابی، connection و وضعیت TLS.
  3. request اصلی و هر redirect را exchange جدا ثبت کنید و همه را در یک فلش فشرده نکنید.
  4. document response، parsing، منابع وابسته، اجرای script، layout، paint و updateهای بعدی را مسئولیت‌های مجزا ببینید.
  5. در پایان non-claimها را بنویسید؛ مشخص کنید بدون DevTools، log سرور، evidence cache یا check سطح application چه چیزی ثابت نمی‌شود.

مثال حل‌شده

کاربر https://docs.example.test/start#install را باز می‌کند. پاسخ اول 302 و مقصد آن /guide است. HTML مقصد از cache واسط می‌آید، یک stylesheet تازه fetch می‌شود و image از cache محلی استفاده می‌شود. fragment پس از آماده‌شدن document روی heading اثر می‌گذارد. توضیح قابل دفاع redirect، cache stateهای مشاهده‌شده و requestهای جدا را ثبت می‌کند؛ اما lookup تازه DNS یا ارسال HTML از origin را اختراع نمی‌کند. محدودیت DevTools نیز باید در رکورد بماند.

ماتریس تصمیم و evidence

موضوعمرز/مالکevidenceتصمیم یا محدودیت
تفسیر URLمرورگرscheme/host/path/fragment تجزیه شدfragment state سمت کاربر است
نام‌یابیمرورگر/سیستم‌عامل/resolverدر این capture مشاهده نشدممکن است cached باشد
HTTP redirectclient و server پاسخ‌دهنده302 و سپس request دومهر hop جداست
document و منابعcache/واسط/origin/مرورگرevidence شبکه برای هر resourceمنبع‌ها ممکن است متفاوت باشند
رندرمرورگرمشاهده DOM/style/layout/paintدرستی معنایی را ثابت نمی‌کند

خطاهای محتمل و روش اصلاح

  • فرض lookup تازه‌ی DNS برای هر پیمایش
  • فرض ارتباط مستقیم همه‌ی requestها با origin
  • یکی‌گرفتن status موفق HTTP با درستی محصول

برای هر مورد، ادعا را محدود کنید، یک counterexample بسازید و بنویسید کدام مشاهده می‌تواند آن را تأیید یا رد کند.

تمرین انتقال

سناریو را طوری تغییر دهید که یکی از فرض‌های مثال دیگر برقرار نباشد. بدون کپی‌کردن تصمیم قبلی، رکورد مسیر پیمایش وب نسخه ۱ را دوباره بسازید؛ سپس تفاوت decision rule و تفاوت دادهٔ ورودی را توضیح دهید.

این درس چه چیزی را ثابت نمی‌کند

این درس certification، تضمین production یا پوشش همه implementationها را ادعا نمی‌کند. نتیجه فقط در مرز سناریو، sourceهای تاریخ‌دار و observationهای ثبت‌شده معتبر است.

خودسنجی

  • [ ] آیا مسئولیت‌ها را از نام framework یا tool جدا کرده‌ام؟
  • [ ] آیا دست‌کم یک failure probe و نتیجه موردانتظار آن را نوشته‌ام؟
  • [ ] آیا fact، inference و design choice از هم مشخص‌اند؟
  • [ ] آیا non-claim و evidence گمشده را ثبت کرده‌ام؟
  • [ ] آیا transfer را روی context تغییرکرده و بدون پاسخ آماده انجام داده‌ام؟

منابع و مرز تازگی

sourceها در 2026-09-19 طبق Bible منجمدشده مرور شده‌اند. تاریخ review_due یک trigger برای بازبینی نسخه‌ای است؛ هیچ بسته‌ای نباید درجا و بدون نسخه جدید تغییر کند.

  • S-MDN-WEB — High-level client/server, DNS and HTTP navigation model. (https://developer.mozilla.org/en-US/docs/Learn_web_development/Getting_started/Web_standards/How_the_web_works; review: 2026-12-31)
  • S-WHATWG-DOC — HTML Document and URL semantics; not a universal browser implementation trace. (https://html.spec.whatwg.org/multipage/dom.html; review: 2026-12-31)

ارزیابی

پاسخ‌نامه‌ی این درس در بسته‌ی آموزش وجود ندارد؛ خودت جواب بده و صادقانه علامت بزن. «نیاز به مرور» درس را به صف تکرار می‌فرستد.

WEBF-001-SUM1 retrieval

lesson ✗AI ✗notes ✗

WEBF-001-SUM2 application

lesson ✗AI ✗notes ✗

WEBF-001-SUM3 diagnosis

lesson ✗AI ✗notes ✗

WEBF-001-SUM4 decision

lesson ✗AI ✗notes ✗

WEBF-001-SUM5 transfer

lesson ✗AI ✗notes ✗
ملاک‌های ارزیابی (rubric)
DimensionCriticalSufficient evidence
boundary_accuracyyesResponsibilities in navigation journey are placed at the correct bounded layer/time/location and adjacent lessons are not absorbed.
evidence_and_uncertaintyyesCurrent factual claims are source-bounded; conditional paths and unknowns are stated rather than guessed.
decision_qualityyesThe decision recorded in Web Navigation Journey Record v1 follows from the scenario constraints and states what would invalidate it.
transfernoThe learner applies the same reasoning in a changed scenario without copying a fixed stack answer.

A submission passes only when every critical dimension is sufficient and the learner states missing evidence honestly. AI suggestions are not observed evidence; the learner remains accountable for the final bounded judgment.

منابع و تازگی

· PRACTICE_EVOLVING
High-level client/server, DNS and HTTP navigation model.
· PRACTICE_EVOLVING
HTML Document and URL semantics; not a universal browser implementation trace.

مطالعهٔ موارد (case studies)

رسانه و اسلایدهای درس

MAKNOW_WEBF-001_DECISION_EVIDENCE_TABLE_v1.0.0.svg
DECISION EVIDENCE TABLE v1.0.0.svg
MAKNOW_WEBF-001_FAILURE_REPAIR_v1.0.0.svg
FAILURE REPAIR v1.0.0.svg
MAKNOW_WEBF-001_PRIMARY_MODEL_v1.0.0.svg
PRIMARY MODEL v1.0.0.svg
MAKNOW_WEBF-001_WORKED_EXAMPLE_v1.0.0.svg
WORKED EXAMPLE v1.0.0.svg

فایل‌های آموزشی (دانلود)

XLSXWeb Navigation Journey Record v1 v1.0.0.xlsxفایل‌های آموزشی (دانلود)
DOCXWeb Navigation Journey Record v1 WORKSHEET v1.0.0.docxفایل‌های آموزشی (دانلود)
PDFWeb Navigation Journey Record v1 WORKSHEET v1.0.0.pdfفایل‌های آموزشی (دانلود)