Chuẩn hoá bản đặc tả Giao thức loại trừ cho robot

Thứ Hai, ngày 1 tháng 7 năm 2019

Trong 25 năm qua, Giao thức loại trừ cho robot (REP) đã trở thành một trong những thành phần cơ bản và quan trọng nhất trên web. Giao thức này cho phép chủ sở hữu trang web loại trừ các ứng dụng tự động (ví dụ: trình thu thập dữ liệu web) khỏi quyền truy cập vào trang web của họ – một phần hoặc toàn bộ.

Năm 1994, Martijn Koster (cũng là một quản trị viên trang web) đã tạo ra tiêu chuẩn ban đầu sau khi các trình thu thập dữ liệu làm quá tải trang web của ông. Trước ngày càng nhiều ý kiến từ các quản trị viên trang web khác, REP ra đời và các công cụ tìm kiếm sử dụng REP để giúp chủ sở hữu trang web quản lý tài nguyên máy chủ của họ dễ dàng hơn.

Tuy nhiên, REP chưa từng trở thành tiêu chuẩn Internet chính thức, có nghĩa là trong những năm qua, các nhà phát triển diễn giải giao thức này theo cách có phần khác nhau. Kể từ khi ra mắt, REP chưa được cập nhật để xử lý các trường hợp hiếm gặp của ngày nay. Đây là một thách thức đối với chủ sở hữu trang web vì tiêu chuẩn bất thành văn này không rõ ràng, khiến họ khó viết đúng quy tắc.

Chúng tôi muốn giúp các chủ sở hữu và nhà phát triển trang web tạo ra những trải nghiệm tuyệt vời trên Internet thay vì lo lắng về cách kiểm soát các trình thu thập dữ liệu. Cùng với tác giả ban đầu của giao thức này, cộng đồng quản trị viên trang web và các công cụ tìm kiếm khác, chúng tôi đã ghi lại cách sử dụng REP trên nền tảng web hiện đại và gửi tài liệu này tới IETF (Lực lượng chuyên trách kỹ thuật Internet).

Bản thảo REP mà chúng tôi đề xuất thể hiện hơn 20 năm kinh nghiệm sử dụng các quy tắc robots.txt trên thực tế từ cả Googlebot và các trình thu thập dữ liệu lớn khác, cùng với khoảng nửa tỷ trang web dựa vào REP. Những quy tắc kiểm soát chi tiết này cho phép nhà xuất bản quyết định nội dung nào trên trang web của họ được thu thập dữ liệu và cung cấp cho người dùng quan tâm. Giao thức này không thay đổi các quy tắc ra đời vào năm 1994, mà về cơ bản là xác định mọi tình huống không rõ ràng liên quan đến việc phân tích cú pháp và so khớp robots.txt, đồng thời mở rộng phạm vi áp dụng cho môi trường web hiện đại. Đáng chú ý:

  1. Mọi giao thức truyền dựa trên URI đều có thể sử dụng tệp robots.txt. Ví dụ: giao thức này không chỉ giới hạn ở HTTP mà còn có thể dùng cho FTP hoặc CoAP.
  2. Nhà phát triển phải phân tích cú pháp ít nhất 500 kibibyte đầu tiên của tệp robots.txt. Việc xác định kích thước tệp tối đa đảm bảo rằng các kết nối không mở quá lâu, giảm bớt áp lực không cần thiết trên các máy chủ.
  3. Giới hạn tối đa mới cho thời gian lưu vào bộ nhớ đệm là 24 giờ hoặc giá trị của lệnh bộ nhớ đệm (nếu có), giúp chủ sở hữu trang web linh hoạt cập nhật tệp robots.txt bất cứ khi nào họ muốn và trình thu thập dữ liệu sẽ không gửi quá nhiều yêu cầu cho tệp robots.txt. Ví dụ: trong trường hợp sử dụng HTTP, các tiêu đề Cache-Control có thể được dùng để xác định thời gian lưu vào bộ nhớ đệm.
  4. Bản đặc tả hiện nêu rõ rằng khi tệp robots.txt trước đó cho phép truy cập nay lại không truy cập được do lỗi máy chủ, thì các trang không được phép đã biết sẽ không được thu thập dữ liệu trong một khoảng thời gian dài.

Ngoài ra, chúng tôi đã cập nhật biểu mẫu Backus-Naur tăng cường trong bản thảo trên Internet để xác định rõ hơn cú pháp của tệp robots.txt. Đây là điều rất quan trọng để nhà phát triển phân tích cú pháp các dòng mã.

RFC là viết tắt của Yêu cầu nhận xét và ý của chúng tôi đúng là như vậy: chúng tôi đã tải bản thảo lên IETF để lấy ý kiến phản hồi của các nhà phát triển quan tâm đến nền tảng cơ bản của Internet. Trong quá trình nỗ lực cung cấp cho cộng đồng nhà sáng tạo trên web các cơ chế kiểm soát cần thiết để cho chúng tôi biết lượng thông tin họ muốn cung cấp cho Googlebot, và rộng hơn là để đủ điều kiện xuất hiện trên Tìm kiếm, chúng tôi phải đảm bảo triển khai đúng giao thức này.

Nếu bạn muốn gửi bình luận cho chúng tôi, đặt câu hỏi cho chúng tôi hay chỉ muốn nói xin chào, bạn có thể tìm thấy chúng tôi trên Twitter và tại Cộng đồng quản trị viên trang web, cả ngoài đời và qua mạng.