Web hiện đại được rất nhiều người yêu thích, sử dụng nhiều loại thiết bị và loại kết nối mạng khác nhau. Tác phẩm của bạn có thể tiếp cận người dùng trên toàn thế giới, nhưng việc cung cấp trải nghiệm đáng tin cậy trên web cho tất cả người dùng là không hề dễ dàng. Nếu chỉ hiểu được ý nghĩa của độ tin cậy thì đó có thể là một thách thức.
Đáng tin cậy khi không có mạng
Một cách để suy nghĩ về độ tin cậy là liệu ứng dụng web của bạn có hoạt động mà không cần kết nối mạng hay không. Đây là một loại độ tin cậy mà người dùng cho là đương nhiên với các ứng dụng dành riêng cho nền tảng được cài đặt trên thiết bị di động từ cửa hàng ứng dụng. Khi thấy biểu tượng của một trong những ứng dụng như vậy, bạn có thể nhấn vào biểu tượng đó để mở ra một số trải nghiệm, bất kể bạn hiện có kết nối với Internet hay không.
Cho đến gần đây, vẫn còn một thách thức trong việc xây dựng các ứng dụng web đáng tin cậy mà không cần kết nối mạng.
Nhanh đáng tin cậy
Một cách suy nghĩ khác về độ tin cậy là liệu người dùng có thể dựa vào quá trình tải ứng dụng web của bạn ở tốc độ đủ nhanh khi họ có kết nối mạng có thể kém lý tưởng hơn hay không. Người dùng cũ có trải nghiệm tương tự khi tương tác với ứng dụng web của bạn khi dùng kết nối di động như khi dùng Wi-Fi không? Thế còn những người dùng có kết nối độ trễ cao hay "lie-fi" thì sao. Ứng dụng web của bạn có hoạt động nhanh một cách đáng tin cậy ngay cả trong các trường hợp đó không?
Việc duy trì tốc độ cao trong điều kiện tốt nhất là chưa đủ. Người dùng sẽ xem hiệu suất của ứng dụng web thông qua lăng kính về cách ứng dụng hoạt động trong mọi điều kiện mạng.
Đáng tin cậy là điều tất yếu
Tin vui là nền tảng web hiện đại này cung cấp các công nghệ – chẳng hạn như service worker và Cache Storage API, có thể đóng vai trò là nền tảng giúp tạo các ứng dụng web đáng tin cậy. Các API này cho phép bạn viết mã nằm giữa ứng dụng web và mạng. Trong nhiều trường hợp, bạn có thể bỏ qua toàn bộ mạng và thay vào đó, sử dụng nội dung đã lưu vào bộ nhớ đệm trước đó để thực hiện các yêu cầu của ứng dụng web.
Đèn hướng dẫn: Phản hồi với 200 OK khi không có mạng
Một khi bạn bắt đầu tạo một trình chạy dịch vụ và phân phát nội dung từ bộ nhớ đệm, rất khó để biết liệu bạn có đang thực hiện việc này một cách hiệu quả hay không. Làm cách nào để bạn biết rằng trình chạy dịch vụ mà bạn triển khai thực sự giúp ứng dụng web của bạn tránh được mạng? Làm cách nào để bạn ngăn chặn một thay đổi nhỏ đối với chiến lược lưu vào bộ nhớ đệm để làm hỏng trải nghiệm ngoại tuyến được xây dựng kỹ lưỡng?
Lighthouse cung cấp một thử nghiệm cụ thể mà bạn đặc biệt quan tâm khi xây dựng một ứng dụng web đáng tin cậy: Phản hồi bằng 200 OK khi không có mạng:
![Báo cáo ứng dụng web tiến bộ của Lighthouse cho thấy phản hồi vượt qua với điểm kiểm tra ngoại tuyến là 200.](https://web.developers.google.cn/static/articles/network-connections-unreliable/image/lighthouses-progressive-cc53dc5832a4.png?authuser=5&hl=vi)
Những gì đang được thử nghiệm ở đây? Quy trình này giống như mô phỏng tình trạng mất kết nối mạng trong trình duyệt của bạn, sau đó cố gắng tải bất kỳ URL nào trên trang web đang được kiểm tra. Bài kiểm thử này kiểm thử một khía cạnh của quá trình xây dựng một trang web đáng tin cậy – đáng tin cậy khi không có mạng – thông qua một trình tự hành động có thể lặp lại và được kiểm soát.
Đây là một hành trình
Nếu chỉ mới bắt đầu, thì có rất nhiều khả năng bạn sẽ nhận được kết quả âm cho các Phản hồi với giá trị 200 khi kiểm tra ngoại tuyến. Không sao cả! Trừ phi bạn đang sử dụng một dự án khởi đầu tuỳ chỉnh, các ứng dụng web sẽ không có loại độ tin cậy đó theo mặc định. Một số hướng dẫn tiếp theo sẽ giới thiệu các kỹ thuật cần thiết để xác định nội dung mà ứng dụng web của bạn đang tải, đồng thời hướng dẫn bạn cách sử dụng Lighthouse để đảm bảo trải nghiệm tải đó trở nên đáng tin cậy.
Trong suốt quá trình này, bạn nên tiếp tục chạy lại các bài kiểm tra Lighthouse. Chúng đóng vai trò là ánh sáng dẫn đường trong suốt hành trình của bạn, bắt đầu bằng một ứng dụng web mới và kết thúc bằng một ứng dụng web tiến bộ đáng tin cậy.