Cấu trúc và yêu cầu kỹ thuật của nguồn cấp RSS 2.0
Nguồn cấp RSS 2.0 là một định dạng phân phối nội dung dựa trên ngôn ngữ XML. Để một tài liệu RSS 2.0 được coi là hợp lệ về mặt cấu trúc, nó phải tuân thủ nghiêm ngặt các quy tắc định dạng XML và các thẻ đặc trưng của đặc tả RSS 2.0.
Một nguồn cấp RSS 2.0 chuẩn hóa bắt buộc phải chứa đúng một phần tử <channel> trực tiếp nằm dưới phần tử gốc <rss>. Nếu tài liệu XML chứa nhiều hơn hoặc ít hơn một kênh, hệ thống sẽ báo lỗi RSS phải chứa đúng một <channel> trực tiếp; đã tìm thấy ‹count›.. Trong phần tử <channel>, các thông tin cốt lõi của nguồn cấp dữ liệu được khai báo, bao gồm tiêu đề, liên kết trang web và mô tả của nguồn cấp.
Đối với các mục tin (được định nghĩa bằng thẻ <item>), đặc tả RSS 2.0 yêu cầu mỗi mục phải đáp ứng quy tắc title-or-description. Điều này có nghĩa là một mục tin bắt buộc phải có ít nhất một tiêu đề (<title>) hoặc một mô tả (<description>). Nếu thiếu cả hai trường này, mục tin đó không hợp lệ. Ngoài ra, trình phân tích sẽ đọc và kiểm tra các trường dữ liệu quan trọng khác trong từng mục bao gồm:
- Mã định danh duy nhất (
<guid>) - Đường dẫn liên kết (
<link>) - Ngày xuất bản (
<pubDate>)
Cấu trúc và yêu cầu kỹ thuật của nguồn cấp Atom 1.0
Atom 1.0 là một định dạng phân phối nội dung hiện đại hơn, được thiết kế để khắc phục một số hạn chế về tính nhất quán của RSS. Cấu trúc của một nguồn cấp Atom 1.0 sử dụng phần tử gốc <feed> và chứa các mục tin được định nghĩa bằng thẻ <entry>.
Quy tắc xác thực dành cho Atom 1.0 nghiêm ngặt hơn so với RSS 2.0 ở nhiều khía cạnh:
- Mã định danh (
<id>): Mỗi nguồn cấp và mỗi mục tin Atom bắt buộc phải có một mã định danh duy nhất. Mã định danh này phải là một IRI tuyệt đối. Nếu sử dụng mã định danh tương đối, hệ thống sẽ báo lỗiDùng IRI tuyệt đối cho ‹field›; mã định danh tương đối không phải là Atom ID hợp lệ.. Đồng thời, các ID này không được phép trùng lặp; nếu phát hiện trùng lặp, lỗiID này lặp lại giá trị xuất hiện lần đầu ở dòng ‹first›.sẽ được hiển thị. - Tác giả (
<author>): Atom yêu cầu thông tin tác giả rõ ràng. Nếu nguồn cấp không có thẻ tác giả ở cấp độ chung, thì mọi mục tin<entry>bắt buộc phải có thẻ tác giả riêng. Nếu vi phạm quy tắc kế thừa tác giả này, hệ thống sẽ báo lỗiThêm <author> vào nguồn cấp hoặc thêm <author> trực tiếp vào từng mục.hoặcThêm <author> vào mục này, <source> của mục hoặc nguồn cấp.. - Liên kết thay thế (
<link rel="alternate">): Khi một mục tin Atom không chứa nội dung hiển thị nội tuyến, nó bắt buộc phải có một liên kết thay thế để dẫn người đọc đến trang web gốc. Nếu thiếu, lỗiThêm <link> thay thế khi mục Atom không có <content> nội tuyến.sẽ xuất hiện. - Nội dung và Tóm tắt: Khi thẻ
<content>trong Atom sử dụng thuộc tínhsrcđể liên kết đến một nguồn bên ngoài, phần tử đó không được chứa văn bản nội tuyến hoặc phần tử con. Nếu vi phạm, lỗiKhi <content> dùng src, hãy xóa văn bản nội tuyến và các phần tử con.sẽ được kích hoạt. Đồng thời, nếu nội dung Atom nằm ở bên ngoài hoặc không thể đọc dưới dạng văn bản, bạn bắt buộc phải bổ sung thẻ tóm tắt, nếu không sẽ gặp lỗiThêm <summary> khi nội dung Atom ở bên ngoài hoặc không thể đọc dưới dạng văn bản..
Vai trò của xml:base trong việc phân giải liên kết tương đối
Trong đặc tả Atom 1.0, các liên kết (như liên kết trong thẻ <link> hoặc thuộc tính src) có thể được viết dưới dạng địa chỉ tương đối thay vì địa chỉ tuyệt đối đầy đủ. Để các trình đọc tin có thể xử lý chính xác, tài liệu Atom sử dụng thuộc tính xml:base để thiết lập một URL gốc.
Trình kiểm tra nguồn cấp RSS sẽ phân tích các trường chứa liên kết và tự động phân giải các tham chiếu tương đối này dựa trên giá trị của xml:base. Tuy nhiên, công cụ không thực hiện kết nối mạng để kiểm tra tính khả dụng của liên kết. Nếu một liên kết tương đối không thể phân giải được do thiếu thuộc tính xml:base hợp lệ, hệ thống sẽ báo lỗi Dùng địa chỉ tuyệt đối cho ‹field›; chỉ tham chiếu Atom có xml:base dùng được mới có thể là địa chỉ tương đối.. Đối với các trường liên kết không thể phân tích cú pháp thành một URL hoặc URI hợp lệ, lỗi Sửa ‹field›; liên kết này không thể được phân tích thành URL hoặc tham chiếu URI. sẽ được ghi nhận.
Định dạng ngày tháng trong nguồn cấp dữ liệu
Cả RSS 2.0 và Atom 1.0 đều yêu cầu ngày tháng phải được định dạng theo các tiêu chuẩn kỹ thuật cụ thể để máy tính có thể xử lý tự động.
- RSS 2.0 sử dụng định dạng ngày tháng theo tiêu chuẩn RFC 822 (ví dụ:
Wed, 02 Oct 2002 13:00:00 GMT). - Atom 1.0 sử dụng định dạng ngày tháng theo tiêu chuẩn RFC 3339 (ví dụ:
2002-10-02T15:00:00Z).
Nếu ngày xuất bản hoặc ngày cập nhật trong nguồn cấp không tuân thủ đúng định dạng quy định của từng loại nguồn cấp, hoặc chứa giá trị ngày giờ không có thực, trình kiểm tra sẽ báo lỗi Dùng một ngày hợp lệ theo định dạng mà nguồn cấp này yêu cầu..
Phân biệt giữa kiểm tra cấu trúc và kiểm tra nội dung
Khi sử dụng công cụ xác thực, người vận hành trang web cần hiểu rõ phạm vi hoạt động của trình kiểm tra. Công cụ này thực hiện việc phân tích cú pháp XML, đối chiếu các thẻ bắt buộc, kiểm tra số lượng trường và xác thực định dạng của các liên kết cũng như ngày tháng.
Tuy nhiên, báo cáo này chỉ kiểm tra cấu trúc và các quy tắc định dạng phổ biến. Báo cáo không chứng minh nội dung chính xác, an toàn, được mọi trình đọc chấp nhận hoặc sẵn sàng xuất bản. Công cụ không bao giờ mở các URL có trong nguồn cấp. Do đó, các yếu tố như tính hoạt động của liên kết (lỗi 404), chuyển hướng URL, chứng chỉ bảo mật SSL/TLS của máy chủ đích, hay nội dung thực tế tại trang đích đều không được kiểm tra hoặc đảm bảo.
Các lỗi XML thường gặp và giới hạn xử lý
Bên cạnh các lỗi đặc thù của RSS và Atom, nguồn cấp dữ liệu thường gặp phải các lỗi XML cơ bản. Nếu tài liệu chứa khai báo loại tài liệu (DOCTYPE), trình kiểm tra sẽ yêu cầu loại bỏ bằng thông báo Xóa khai báo DOCTYPE trước khi kiểm tra nguồn cấp này. để tránh các rủi ro bảo mật liên quan đến thực thể bên ngoài XML. Nếu XML bị sai cú pháp (như thiếu thẻ đóng, sai thứ tự lồng nhau), hệ thống sẽ báo lỗi Sửa XML không đúng định dạng rồi kiểm tra lại..
Để đảm bảo hiệu suất hoạt động trực tiếp trên trình duyệt, công cụ áp dụng các giới hạn kỹ thuật sau:
- Giới hạn ký tự: Công cụ nhận tối đa 500.000 ký tự cho mỗi lần kiểm tra. Nếu vượt quá, thông báo
Công cụ này nhận tối đa ‹max› ký tự cho mỗi lần kiểm tra.sẽ xuất hiện. - Thời gian xử lý: Nếu việc phân tích cú pháp mất quá nhiều thời gian, hệ thống sẽ dừng và hiển thị
Quá trình kiểm tra mất quá nhiều thời gian. Hãy thử nguồn cấp nhỏ hơn.. Nếu gặp lỗi hệ thống không mong muốn, thông báoKhông thể hoàn tất quá trình kiểm tra.sẽ hiển thị. - Giới hạn hiển thị: Để tránh làm treo trình duyệt, báo cáo chỉ hiển thị tối đa 200 lỗi/cảnh báo và 100 mục tin đầu tiên. Nếu nguồn cấp vượt quá số lượng này, hệ thống sẽ hiển thị thông báo rút gọn tương ứng.
Quyền riêng tư và xử lý dữ liệu
Khi sử dụng công cụ này, toàn bộ quá trình xử lý dữ liệu và kiểm tra nguồn cấp được thực hiện trực tiếp trong trình duyệt của bạn. BroBroGo không tải lên hoặc lưu bất kỳ nội dung nào từ nguồn cấp XML mà bạn đã dán. Điều này đảm bảo dữ liệu cấu trúc nguồn cấp của bạn không bị rò rỉ ra bên ngoài hoặc lưu trữ trên máy chủ trung gian.
Câu hỏi thường gặp
Trình kiểm tra này hỗ trợ những định dạng nguồn cấp nào?
Công cụ kiểm tra các tài liệu RSS 2.0 và Atom 1.0 hiện hành. RSS cũ hơn, RDF/RSS 1.0 và Atom 0.3 được nhận diện nhưng không bị kiểm tra theo bộ quy tắc không phù hợp.
Công cụ có mở hoặc thử các liên kết trong nguồn cấp không?
Công cụ phân tích các trường chứa liên kết và phân giải tham chiếu Atom tương đối bằng xml:base. URL không bao giờ được mở nên tính khả dụng, chuyển hướng, chứng chỉ và nội dung đích không được kiểm tra.
Những trường nào của mục được kiểm tra?
Với mục RSS, công cụ kiểm tra tiêu đề hoặc mô tả và đọc GUID, liên kết cùng ngày xuất bản. Với mục Atom, công cụ kiểm tra ID, tiêu đề, thời điểm cập nhật, kế thừa tác giả, liên kết thay thế và quy tắc về nội dung hoặc tóm tắt.
Tại sao tôi nhận được thông báo lỗi về DOCTYPE?
Khai báo DOCTYPE có thể gây ra các lỗ hổng bảo mật khi phân tích cú pháp XML. Để đảm bảo an toàn, công cụ yêu cầu bạn xóa khai báo DOCTYPE trước khi tiến hành kiểm tra nguồn cấp.