Web chạy thế nào — bốn trạm từ lúc gõ địa chỉ tới khi trang hiện ra

Đổi domain xong sếp báo 'web sập' nhưng máy bạn vẫn thấy bản cũ — vì sao? Bài mở đầu khóa nền web cho Marketing & Sales: bốn trạm Browser → DNS → Server → Render, GET vs POST, cookie và tracking, và cách mổ xẻ một URL chiến dịch (kể cả phần UTM). Không cần biết code. Hiểu đủ để nói chuyện với dev và thôi đoán mò khi 'web lỗi'.

Khóa học
Web Fundamentals
Cấp độ🌱Beginner
~14 phút đọc

Playbook này dành cho ai?

Công ty vừa chuyển website sang một máy chủ mới. Mười phút sau, sếp nhắn: "Sao web vẫn hiện bản cũ thế?". Bạn mở ra kiểm tra — máy bạn đã thấy bản mới rồi. Cùng một địa chỉ, hai người thấy hai phiên bản khác nhau, mà không ai nhìn nhầm cả.

Nếu bạn biết một thứ tên là DNS, bạn trả lời sếp được ngay — "máy sếp còn lưu địa chỉ cũ, vài tiếng nữa tự cập nhật là thấy bản mới" — thay vì cuống cuồng gọi dev.

Playbook này dành cho bạn nếu bạn làm Marketing hoặc Sales và đụng vào web mỗi ngày — chạy ads dẫn về landing page, sửa bài trên CMS, đọc báo cáo, làm việc với agency hay dev — nhưng chưa có một mô hình chính xác về chuyện gì xảy ra sau lưng khi một trang web hiện ra. Bạn không cần biết lập trình. Sau bài này, bạn sẽ thôi đoán mò và bắt đầu nói cùng ngôn ngữ với đội kỹ thuật.

Một thói quen nền cho cả khóa, tinh thần không phán xét: gặp thuật ngữ lạ (CDN, API, SSL...) thì cứ tra ngay — không ai biết hết mọi thứ. Hỏi thẳng AI cũng được, miễn bạn nhớ kiểm chứng vì AI luôn tự tin trả lời kể cả khi bị sai.

Bạn sẽ đạt được gì?

  • Giải thích được chuỗi sự kiện từ lúc gõ một địa chỉ tới lúc trang hiện ra — và biết "web lỗi" thực ra là lỗi ở khâu nào
  • Hiểu DNS đủ để xử lý các tình huống đổi domain, trỏ tên miền, xác minh domain cho GA/Ads mà không hoảng
  • Phân biệt GET vs POST — vì sao bấm "đăng ký nhận tin" lại là một loại request khác với mở một trang
  • Hiểu cookie làm gì cho việc tracking/ads của bạn, và vì sao "third-party cookie" đã chết
  • Mổ xẻ một URL — biết mỗi phần làm gì, đặc biệt là phần ?utm_... mà bạn gắn vào link chiến dịch

Bạn cần chuẩn bị gì?

  • Một trình duyệt (Chrome, Edge, hay Safari). Không cài thêm gì.
  • Một URL chiến dịch thật của bạn — link ad, link bài viết — để cuối bài đem ra mổ.

Bức tranh toàn cảnh

Internet là một mạng lưới máy tính khổng lồ đồng ý nối với nhau theo những quy ước chung. Trong mạng đó có hai vai:

  • Host (máy chủ / server) — máy phục vụ nội dung. Trang web của bạn nằm ở đây.
  • Browser (trình duyệt) — phần mềm tiêu thụ nội dung, chạy trên điện thoại / máy tính / tablet của người xem.

Khi bạn gõ một địa chỉ vào trình duyệt, một chuỗi sự kiện chạy qua bốn trạm — và gần như toàn bộ kiến thức "web hoạt động thế nào" chỉ là hiểu bốn trạm này nối nhau ra sao:

Bạn gõ URL                  Danh bạ tra            Máy chủ trả             Trình duyệt
trên trình duyệt   ──▶      địa chỉ máy chủ  ──▶   nội dung về      ──▶   dựng trang hiện ra
   (BROWSER)                   (DNS)                 (SERVER)              (RENDER)

Chuỗi request: Browser → DNS → Server → render. Mỗi trạm là một khâu có thể "lỗi" theo cách khác nhau.

Nhớ bốn trạm này thôi. Phần còn lại của bài chỉ là đi vào từng trạm — và mỗi trạm hỏng theo một kiểu khác nhau, nên biết "lỗi ở trạm nào" là nửa đường tới việc sửa nó.

AI cũng đi qua bốn trạm này

"AI agent tự lướt web" — tự research, tự đặt hàng — nghe như phép màu, nhưng nó đi qua đúng bốn trạm trên: cũng tra DNS, cũng gửi request, cũng nhận HTML về. Khi một AI agent báo "không truy cập được" một trang, gần như luôn vì một trạm chặn nó — server chặn bot, hoặc nội dung chỉ hiện sau khi trình duyệt chạy JavaScript mà con bot không chạy. Hiểu bốn trạm, bạn hiểu luôn vì sao AI đọc được trang này mà mù trang kia.


1. DNS — danh bạ điện thoại của Internet

Quay lại tình huống đầu bài. DNS (Domain Name System) chính là lời giải cho việc: chuyển máy chủ xong, sao mỗi máy lại thấy một phiên bản.

Hãy hình dung DNS như một cuốn danh bạ điện thoại khổng lồ cho mọi máy chủ trên thế giới. Con người nhớ tên (corelearn.co), nhưng máy chủ thực ra nằm ở một địa chỉ số gọi là IP (ví dụ 104.21.5.220). DNS làm đúng một việc: tra tên ra số.

Khi bạn gõ corelearn.co, trình duyệt hỏi DNS trước: "máy chủ của tên này nằm ở IP nào?". DNS trả về địa chỉ, rồi trình duyệt mới đi thẳng tới máy chủ đó. Hai bên đã "tìm thấy nhau", từ đây trao đổi qua lại dễ dàng.

Vì sao đổi domain không lên ngay

Danh bạ DNS không phải một cuốn duy nhất — nó được sao chép và lưu tạm (cache) ở vô số nơi: nhà mạng của bạn, router, ngay cả trình duyệt. Khi bạn trỏ domain sang máy chủ mới, từng bản cache đó phải cập nhật sang địa chỉ mới — không đồng loạt mà lần lượt. Máy sếp có thể còn giữ địa chỉ cũ trong bộ nhớ tạm vài tiếng; máy bạn (mạng khác, cache khác) thì đã cập nhật xong. Quá trình cập nhật dần này gọi là DNS propagation — và nó giải thích trọn vẹn tình huống đầu bài. Bình thường mất vài phút tới 24-48 tiếng để mọi nơi cập nhật xong.

Bốn loại bản ghi DNS marketer hay gặp

Bạn không cần thuộc, chỉ cần nhận ra tên khi dev hoặc nền tảng nhắc tới:

Bản ghi Làm gì Bạn gặp khi nào
A record Trỏ tên miền → IP máy chủ Đổi host, dựng landing page mới
CNAME Trỏ tên này → tên khác (bí danh) Trỏ blog.công-ty.com sang một nền tảng ngoài
MX record Chỉ định máy chủ nhận email Setup email công ty (Google Workspace...)
TXT record Lưu một đoạn text để xác minh Google bắt "thêm bản ghi TXT để xác minh sở hữu domain" cho GA / Search Console / Ads

Cái cuối cùng — TXT để xác minh — là thứ bạn gần như chắc chắn sẽ đụng: mỗi lần Google Analytics, Search Console hay Google Ads yêu cầu "chứng minh bạn sở hữu domain này", cách phổ biến nhất là dán một bản ghi TXT họ đưa vào DNS.


2. Server, và hai kiểu request: GET vs POST

Server (máy chủ) là một máy tính chỉ chuyên một việc: nhận request và trả về dữ liệu. Ruột nó giống laptop của bạn, chỉ là được tối ưu để chạy liên tục và phục vụ nhiều người.

Mọi trao đổi với server rút về hai kiểu — hiểu hai cái này là đủ:

  • GET = "cho tôi xem cái này". Mở một trang, tải một ảnh — đều là GET. Bạn lấy dữ liệu về.
  • POST = "tôi gửi dữ liệu cho anh". Bạn đẩy dữ liệu lên server.

GET lấy dữ liệu về, POST gửi dữ liệu lên. Hai chiều ngược nhau.

Vì sao marketer cần phân biệt? Vì nó giải thích nhiều hành vi bạn gặp:

  • Khi khách điền email vào form "đăng ký nhận tin" rồi bấm gửi, trình duyệt thực hiện một POST tới máy chủ của công cụ email (Mailchimp, Klaviyo...), mang theo gói dữ liệu đại loại { email: "khach@example.com" }. Đó là lý do một form hỏng thường không phải "trang lỗi" — mà là cú POST tới server kia thất bại.
  • Khi bạn F5 (refresh) một trang vừa submit form, trình duyệt đôi khi hỏi "gửi lại biểu mẫu?" — vì nó sắp lặp lại cú POST, có thể tạo đơn hàng / đăng ký trùng. Giờ bạn hiểu vì sao.

Trình duyệt là cửa sổ nhìn vào Internet. Mỗi tab gửi request tới một địa chỉ và dựng (render) kết quả trả về. Chrome, Safari, Edge — đều là trình duyệt, chạy trên một thiết bị.

Cookie là một mẩu dữ liệu mà trang web lưu trong trình duyệt của người xem. Mỗi cookie có một cái tên và một giá trị, ví dụ da_dong_popup_newsletter = true.

Cookie giúp ghi nhớ những việc tạm thời: khách đã đóng popup chưa, đã chọn tiền tệ nào, đang đăng nhập hay không. Với marketing, cookie là nền của tracking và remarketing — nó là cách Meta Pixel hay Google "nhớ" rằng người này từng vào trang sản phẩm của bạn, để sau đó bám đuổi quảng cáo.

Một thay đổi lớn bạn phải biết: cookie từng có thể đi theo người dùng xuyên nhiều website khác nhau (third-party cookie) — giờ điều đó đã bị chặn dần. Trình duyệt ngày càng siết quyền riêng tư. Hệ quả thực tế: remarketing kiểu cũ kém chính xác đi, và đo lường xuyên-site khó hơn. Đây là lý do cả ngành chuyển sang first-party data (dữ liệu bạn tự thu, như email khách) — một dịch chuyển bạn nên nắm khi lập kế hoạch.

Chế độ ẩn danh — công cụ kiểm tra miễn phí của bạn

Chế độ Ẩn danh (Incognito trên Chrome) / Riêng tư (Private trên Safari) mở một cửa sổ không lưu cookie hay dữ liệu tạm sau khi đóng. Mỗi lần mở là một phiên "người dùng mới tinh".

Đây là mẹo hữu ích khi làm web: muốn xem trang hiện ra thế nào với khách lần đầu (chưa đăng nhập, chưa có cookie, popup chưa bị đóng) — mở cửa sổ ẩn danh. Muốn kiểm tra một link ad có dẫn đúng landing page không mà không bị cookie cũ làm nhiễu — mở ẩn danh. Trước khi báo "trang lỗi", thử mở ẩn danh: nhiều "lỗi" thực ra chỉ là cookie cũ trên máy bạn.


4. Trang web được dựng ra thế nào

Khi server trả nội dung về, trình duyệt phải dựng nó thành trang bạn nhìn thấy. Quá trình này gọi là render.

Server gửi về dữ liệu kèm theo header — thông tin mô tả gói dữ liệu. Quan trọng nhất là header content-type. Khi server nói content-type: text/html, trình duyệt hiểu "đây là một trang web, hãy dựng nó". Nội dung trang được viết bằng HTML và CSS (bài M2 đi sâu) — chừng nào HTML/CSS hợp lệ, trang hiện ra như ý.

DOM — cái cây của trang

Trình duyệt dựng trang thành một cây phân cấp gọi là DOM (Document Object Model): mọi phần tử trên trang (tiêu đề, đoạn văn, ảnh, nút) là một nhánh trên cây, lồng trong nhau. Bạn chưa cần dùng tới khái niệm này hôm nay, nhưng nó là nền cho M2 (khi bạn mở DevTools soi trang) và cho tracking — vì các công cụ đo lường "bắt" sự kiện bằng cách trỏ vào một vị trí trên cây DOM.

Vì sao có trang hiện chữ trước, ảnh sau

Trình duyệt đọc trang từ trên xuống, từng dòng (xử lý tuần tự). Nhưng một số việc — như tải ảnh, gọi script — chạy song song, hoàn thành lúc nào hay lúc đó. Đó là lý do bạn thấy trang hiện khung chữ trước, rồi ảnh "nhảy vào" sau, đôi khi đẩy layout xô lệch một nhịp. Hiểu điều này giúp bạn mô tả lỗi chính xác hơn ("ảnh load xong thì layout nhảy") thay vì chỉ "trang bị giật".


5. Mổ xẻ một URL — và phần ?utm_ bạn dùng mỗi ngày

URL (Uniform Resource Locator) là địa chỉ web. Nhìn thì rối, nhưng tách ra từng phần thì rất gọn. Lấy ví dụ một link chiến dịch điển hình:

https://www.corelearn.co/khoa-hoc/web-co-ban?utm_source=facebook&utm_campaign=tet2026
└─┬─┘   └┬┘ └────┬─────┘ └──────┬───────┘ └───────────────┬──────────────────────┘
protocol sub   domain        path                    query (tham số)

Mổ một URL có UTM: protocol, subdomain, domain, path, và phần query tham số.

Phần Là gì Ghi chú
https Protocol — giao thức. https = bản bảo mật của http Trang không có https (chỉ http) bị trình duyệt cảnh báo "không an toàn" — ảnh hưởng niềm tin + SEO
www Subdomain — tên miền con blog., shop., www. đều là subdomain. Domain chạy được cả khi không có www
corelearn.co Domain — tên miền chính Cái bạn mua và trỏ DNS
/khoa-hoc/web-co-ban Path — đường dẫn tới trang cụ thể Giống đường dẫn file trong máy. URL gọn, có nghĩa thì tốt cho SEO
?... Query — phần tham số Bắt đầu bằng ?, các tham số nối nhau bằng &

Query parameter và UTM — trái tim của đo lường chiến dịch

Phần sau dấu ? là các cặp khóa = giá trị. Trong utm_source=facebook, khóa là utm_source, giá trị là facebook. Nhiều tham số nối nhau bằng &.

Server đọc các cặp này như một gói dữ liệu:

{ utm_source: "facebook", utm_campaign: "tet2026" }

Bộ tham số bắt đầu bằng utm_ chính là UTM — cách bạn gắn nhãn vào mỗi link để sau này biết traffic này từ đâu tới, từ chiến dịch nào. Khi khách bấm vào link ad có gắn UTM, Google Analytics đọc các tham số đó và xếp lượt truy cập vào đúng nguồn. Không gắn UTM → traffic chiến dịch của bạn rơi vào nhóm "không rõ nguồn", và bạn mất khả năng chứng minh kênh nào hiệu quả.

Ở đây bạn chỉ cần hiểu UTM là một phần của URL và nó cấu trúc thế nào. Cách đọc số UTM trong báo cáo và quy ước đặt tên chuẩn — bài Đo lường khán giả với GA4 dạy kỹ, vì đó là việc bạn làm trong Google Analytics.

Responsive design — một câu

Responsive design nghĩa là trang tự đổi bố cục theo chiều rộng thiết bị: trên máy tính hiện 3 cột, trên điện thoại dồn thành 1 cột. Đây là lý do bạn phải luôn kiểm tra landing page cả trên điện thoại trước khi chạy ads — phần lớn traffic quảng cáo đến từ điện thoại, và một trang đẹp trên máy tính có thể vỡ layout trên điện thoại.


Tóm tắt nhanh

Khái niệm Một dòng
Bốn trạm Browser → DNS → Server → Render. "Web lỗi" = hỏng ở một trạm cụ thể
DNS Danh bạ tên→IP. Đổi domain không lên ngay = propagation (cache lan dần)
TXT record Bản ghi để xác minh sở hữu domain cho GA / Search Console / Ads
GET vs POST GET lấy về / POST gửi lên. Form submit = POST
Cookie Dữ liệu trang lưu trong trình duyệt; nền của tracking. Third-party cookie đã chết
Ẩn danh Phiên "người dùng mới" — công cụ kiểm tra trang miễn phí
DOM Cây phần tử của trang; nền cho DevTools (M2) và tracking
URL protocol / subdomain / domain / path / query. UTM nằm trong query

Thử thực hành

  1. Mổ một URL của bạn. Lấy một link ad hoặc link bài viết bạn từng chia sẻ. Tách ra: protocol / subdomain / domain / path / query. Nếu có ?utm_..., liệt kê từng cặp khóa=giá trị. Nếu không có UTM mà đó là link chiến dịch — bạn vừa tìm ra một lỗ hổng đo lường.
  2. Kiểm tra bằng ẩn danh. Mở landing page của bạn trong cửa sổ ẩn danh. Nó hiện ra với "khách lần đầu" có khác với cái bạn quen thấy không? (Popup, banner cookie, trạng thái đăng nhập.)
  3. Kiểm tra trên điện thoại. Mở cùng trang đó trên điện thoại. Layout có vỡ chỗ nào không?

Câu hỏi thường gặp

"Server lỗi" và "website lỗi" khác nhau thế nào? "Server lỗi" thường là trạm 3 — máy chủ không trả nội dung (lỗi 500, hoặc sập). "Website lỗi" mơ hồ hơn, có thể là render (trạm 4: trang hiện nhưng vỡ layout), DNS (trạm 2: không tìm thấy địa chỉ), hay chỉ cookie cũ trên máy bạn. Trước khi báo, thử xác định trạm — đó là nửa đường tới việc sửa.

Tôi đổi domain 2 tiếng rồi mà máy tôi vẫn thấy bản cũ, có phải hỏng không? Gần như chắc chắn không. Đó là DNS propagation. Thử mở bằng mạng 4G điện thoại (mạng khác, cache khác) — nếu thấy bản mới là đang lan đúng hướng. Xóa cache DNS máy hoặc đợi là xong.

Cookie bị chặn thì tracking của tôi hỏng hết à? First-party cookie (do chính website bạn đặt) vẫn chạy. Cái bị siết là third-party cookie (đi xuyên site). Hệ quả: remarketing và đo lường xuyên-nền-tảng kém chính xác hơn, không phải mất sạch. Đây là lý do nên ưu tiên thu first-party data (email, số điện thoại khách).

Sai lầm thường gặp

  • Báo "web sập" khi chỉ là propagation. Đổi domain xong thấy máy mình chưa cập nhật → hoảng. Thử mạng khác / ẩn danh trước khi báo động.
  • Nhầm "trang lỗi" với "form lỗi". Form không gửi được thường là cú POST tới server bên thứ ba (email/CRM) thất bại, không phải trang web của bạn hỏng.
  • Quên kiểm tra trên điện thoại + ẩn danh. Trang đẹp trên màn hình máy tính của bạn (đã đăng nhập, cache đầy) ≠ trang khách lần đầu thấy trên điện thoại.
  • Chia sẻ link chiến dịch không gắn UTM. Traffic về nhưng bạn không chứng minh được nó từ đâu — tiền ads đổ ra mà không đo được.

Giới hạn

Bài này cho bạn mô hình tư duy, không phải kỹ năng thao tác sâu. Bạn sẽ hiểu DNS đủ để nói chuyện với dev, nhưng việc chỉnh bản ghi DNS thật vẫn nên để người phụ trách hạ tầng làm — sai một bản ghi MX có thể làm email công ty ngừng nhận. Tinh thần đúng: biết đủ để giao tiếp và phán đoán, biết khi nào nên nhờ người chuyên trách.

Bước tiếp theo

Bạn đã biết chuyện gì xảy ra giữa lúc gõ URL và lúc trang hiện ra. Câu hỏi tiếp theo tự nhiên: trang đó được dựng bằng gì, và khi nó "lỗi" thì tôi đọc và báo cáo thế nào?

Đọc một trang web dạy bạn đọc một trang web — HTML/CSS/JavaScript ở mức đủ để soi lỗi bằng DevTools và viết một bug report mà dev hiểu ngay. Vẫn không cần biết code.