inflearn logo

Chuyện gì xảy ra khi bạn nhập địa chỉ?

Chúng ta sẽ đi theo một luồng duy nhất cho tất cả các bước mà một yêu cầu trải qua, từ khoảnh khắc nhập địa chỉ vào trình duyệt web cho đến khi kết quả được hiển thị trên màn hình. Bạn sẽ hiểu một cách tổng thể cách các thuật ngữ đã học ở bài 1~3 thực sự kết nối và hoạt động như thế nào, từ đó nuôi dưỡng khả năng chẩn đoán để có thể nhanh chóng thu hẹp phạm vi khu vực xảy ra sự cố khi có lỗi phát sinh.

2 học viên đang tham gia khóa học này

Độ khó Nhập môn

Thời gian Không giới hạn

Web Application
Web Application
debugging
debugging
spring-integration-http
spring-integration-http
domains
domains
performance-test
performance-test
Web Application
Web Application
debugging
debugging
spring-integration-http
spring-integration-http
domains
domains
performance-test
performance-test

Bạn sẽ nhận được điều này sau khi học.

  • Giải thích toàn bộ luồng của một yêu cầu web theo thứ tự từ DNS đến render: 1. **Truy vấn DNS (DNS Lookup):** Trình duyệt kiểm tra bộ nhớ đệm (cache) để tìm địa chỉ IP tương ứng với tên miền. Nếu không có, nó sẽ gửi yêu cầu đến máy chủ DNS để lấy địa chỉ IP của máy chủ đích. 2. **Thiết lập kết nối TCP (TCP Handshake):** Trình duyệt sử dụng địa chỉ IP đã tìm được để thiết lập kết nối với máy chủ thông qua quy trình bắt tay 3 bước (3-way handshake). Nếu là HTTPS, quá trình bắt tay TLS cũng sẽ diễn ra để mã hóa dữ liệu. 3. **Gửi yêu cầu HTTP (HTTP Request):** Sau khi kết nối được thiết lập, trình duyệt gửi một yêu cầu HTTP (ví dụ: GET) đến máy chủ để yêu cầu tài nguyên trang web. 4. **Phản hồi của máy chủ (Server Response):** Máy chủ xử lý yêu cầu và gửi lại phản hồi HTTP, bao gồm mã trạng thái (ví dụ: 200 OK) và nội dung tệp (HTML, v.v.). 5. **Xử lý tại trình duyệt (Browser Processing):** - **Xây dựng DOM:** Trình duyệt phân giải (parse) mã HTML để tạo thành cây DOM (Document Object Model). - **Xây dựng CSSOM:** Trình duyệt phân giải các tệp CSS để tạo thành cây CSSOM (CSS Object Model). - **Tạo Render Tree:** Kết hợp DOM và CSSOM để tạo ra cây hiển thị (Render Tree), chỉ bao gồm các phần tử sẽ được hiển thị trên màn hình. 6. **Layout (Bố cục):** Trình duyệt tính toán kích thước và vị trí chính xác của từng nút trong Render Tree trên màn hình thiết bị. 7. **Painting (Vẽ):** Trình duyệt chuyển đổi các nút đã được tính toán thành các điểm ảnh (pixel) thực tế trên màn hình (màu sắc, phông chữ, hình ảnh, v.v.). 8. **Compositing (Tổng hợp):** Các lớp (layer) khác nhau của trang web được xếp chồng lên nhau theo đúng thứ tự để hiển thị trang web hoàn chỉnh cho người dùng.

  • Xác định phân đoạn vấn đề theo từng triệu chứng như trễ mạng, quá tải máy chủ, v.v.

  • Phân tích cấu trúc URL và vai trò của từng thành phần

Thông tin khóa học

  • Tên bài giảng — Điều gì xảy ra khi bạn nhập một địa chỉ trang web

  • Phụ đề — Mười bước diễn ra trong vòng 0,5 giây sau khi nhấn Enter

  • Phân loại — DevOps·Cơ sở hạ tầng / Nhập môn

  • Thời lượng — 23 slide, khoảng 35 phút

  • Bài giảng tiên quyết — Bài 1, Bài 2, Bài 3 (Cần phải học)

  • Tài liệu cung cấp — PDF slide bài giảng, PDF tài liệu học tập


Giới thiệu khóa học

Nhập địa chỉ vào thanh địa chỉ và nhấn Enter. Màn hình hiện ra. Mất khoảng 0,5 giây.

Chuyện gì đã xảy ra trong 0,5 giây đó?

Trình duyệt đã chia nhỏ địa chỉ để phân tích, lục tìm ở ba nơi xem có sẵn dữ liệu gì không, vì không có nên đã trải qua bốn bước để hỏi địa chỉ IP. Sau đó, nó chào hỏi máy chủ ba lần, xác minh chứng chỉ, tạo khóa mã hóa, và đến lúc đó mới gửi yêu cầu đi.

Yêu cầu đã đi qua bộ định tuyến và tường lửa, thông qua bộ cân bằng tải để đến máy chủ, rồi chuyển từ máy chủ web sang WAS, từ WAS sang cơ sở dữ liệu và quay trở lại. Trình duyệt nhận văn bản đó, đọc cấu trúc, đắp lên lớp hình dáng, tính toán vị trí để vẽ lên màn hình, đồng thời yêu cầu thêm hàng chục lần các hình ảnh và tệp tin cần thiết khác.

Tất cả những điều này chỉ diễn ra trong 0,5 giây.

Khóa học này sẽ đi theo hành trình đó từ đầu đến cuối. Tuy nhiên, mục đích không phải là để ghi nhớ quá trình.

Trong hành trình này, các thuật ngữ đã học ở bài 1, cấu trúc máy tính ở bài 2 và các vị trí công việc ở bài 3 đều được bao gồm đầy đủ. Những điều bạn đã học riêng lẻ sẽ được kết nối lại thành một tại đây. Đó chính là mục tiêu của bài giảng này để hoàn tất nền tảng bước 1.


Khóa học này được tạo ra dành cho những người như thế này

  • Học viên bài 1~3 — Biết các thuật ngữ nhưng không biết chúng kết nối với nhau như thế nào

  • Nhân viên vận hành mới — Cảm thấy mông lung không biết nên bắt đầu kiểm tra từ đâu khi nhận được báo cáo hệ thống bị chậm

  • Người chuẩn bị phỏng vấn kỹ thuật — Đây là câu hỏi thường gặp nhưng vẫn chưa thể giải thích theo đúng thứ tự.

  • Nhóm ngành Kế hoạch · Vận hành — Dù đọc báo cáo sự cố nhưng vẫn không biết vấn đề nằm ở phân đoạn nào

Sau khi hoàn thành khóa học này

  • Có thể giải thích một dòng địa chỉ được cấu thành từ những mảnh ghép nào.

  • Có thể trình bày theo thứ tự các bước mà một yêu cầu trải qua cho đến khi đến được máy chủ

  • Bạn có thể biết được thời gian được sử dụng nhiều nhất vào đâu trong tổng số thời gian.

  • Chỉ với triệu chứng chậm chạp, bạn có thể thu hẹp phạm vi đoạn gây ra vấn đề.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Người học đã hoàn thành các bài giảng từ 1 đến 3 của loạt bài nhập môn IT và cần tích hợp kiến thức.

  • Nhân viên vận hành mới phải xử lý báo cáo về việc dịch vụ bị chậm

  • Người tìm việc cần giải thích nguyên lý hoạt động của web trong buổi phỏng vấn kỹ thuật

Cần biết trước khi bắt đầu?

  • Đã hoàn thành khóa học Series Nhập môn IT Bài 1 (Thuật ngữ), Bài 2 (Cấu trúc máy tính), Bài 3 (Vị trí công việc)

  • Hiểu các khái niệm cơ bản về trình duyệt web và máy chủ

  • Nắm vững các thuật ngữ cơ bản về mạng và cơ sở dữ liệu

Xin chào
Đây là jjangkbg7719

Xác minh sự nghiệp

474

Học viên

31

Đánh giá

2

Trả lời

4.8

Xếp hạng

18

Các khóa học

Xin chào, tôi là Frank.

Tôi là một kỹ sư hạ tầng đã vật lộn với máy chủ trong hơn 20 năm qua. Bắt đầu từ việc vận hành máy chủ Linux, hiện tại tôi đang đảm nhận hạ tầng đám mây cho một dịch vụ thanh toán quy mô lớn. Công việc hàng ngày của tôi là chuyển đổi từ trung tâm dữ liệu sang AWS, xử lý hàng trăm instance và truy vết nguyên nhân sự cố vào lúc rạng sáng.

Lý do tôi tạo ra bài giảng này rất đơn giản.

Tôi thường xuyên nhận được những câu hỏi như thế này từ những người xung quanh: "Tôi đã kết nối được vào máy chủ rồi nhưng không biết phải làm gì tiếp theo." "Có quá nhiều loại instance, tôi nên chọn cái nào đây?" Đó cũng chính là những điểm mà bản thân tôi từng gặp bế tắc khi mới bắt đầu. Tuy nhiên, khi thử tìm kiếm thì tôi thấy hầu hết các tài liệu đều được viết dành cho những người đã biết rồi.

Vì vậy, tôi đã quyết định tạo ra một bài giảng mà bản thân tôi từng ước rằng mình có được khi mới bắt đầu học.

Nguyên tắc bài giảng của tôi có ba điều.

Thứ nhất, tôi không bắt bạn phải học thuộc lòng mà sẽ giúp bạn hiểu rõ vấn đề. Thay vì liệt kê danh sách các câu lệnh, tôi sẽ giải thích lý do tại sao chúng ta lại sử dụng chúng.

Thứ hai, mạnh dạn loại bỏ những gì không cần thiết. Tôi không làm tăng thời lượng bằng cách đưa vào những nội dung không có ích ngay lập tức cho người mới bắt đầu.

Thứ ba, tôi cũng nói về những gì không hiệu quả. Thay vì chỉ liệt kê các ưu điểm, tôi cũng chỉ rõ những trường hợp nào nó không phù hợp. Bởi vì đối với những người phải đưa ra quyết định tại hiện trường, điều đó còn quan trọng hơn.

Nếu sau khi nghe bài giảng, bạn có cảm giác rằng "À, mình có thể bắt đầu xem từ đây được rồi" thì mục tiêu của tôi đã hoàn thành.

Nếu có bất kỳ thắc mắc nào, hãy cứ thoải mái để lại câu hỏi nhé.

Thêm

Chương trình giảng dạy

Tất cả

24 bài giảng ∙ (24phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Chưa có đủ đánh giá.
Hãy trở thành tác giả của một đánh giá giúp mọi người!

Khóa học khác của jjangkbg7719

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!

Ưu đãi có thời hạn

3.300 ₫

70%

236.901 ₫