簡體   English   中英

RSS 提要必須是 XML 文件嗎?

[英]Does an RSS feed have to be an XML file?

我問這個是因為我在 wordpress 博客中只看到兩個 xml 文件,wlwmanifest.xml 和 default.xml,它們看起來都不像 rss 提要。 但是我確實看到了一個名為 feed-rss2.php 的 php 文件,它看起來像一個 rss 提要。 我讀過的所有內容都說 rss 提要必須是 xml 文件。 我錯了嗎? 它們可以是帶有 xml 代碼的 php 文件嗎?

它們只是輸出帶有 XML 標頭的 XML 代碼。 實際文件不必是 XML 文件,只需響應必須是 text/xml 並包含 XML 輸出。 你可以對 CSS 文件之類的東西做同樣的事情......任何真的。

RSS 閱讀器只會查看客戶端,而不是服務器端。 在 wordpress 安裝中, feed-rss2.php是一個 PHP 文件,由服務器處理,通過提供正確的標題格式:

header("Content-type: text/xml");

以便讀者了解它是一個 XML 文件,而不是一個 PHP 文件。 正如Robbo所說,實際文件不必是 XML 文件,只需響應必須是 text/xml 並包含 XML 輸出。

甚至與樣式相同的情況。 如果你看到 wordpress 的style.php ,它會是這樣的:

header("Content-type: text/css");
include($theme . "/style.css");

因此,它使用 PHP 的能力來讀取適當的文件並在相同的 URL 中顯示輸出。 容易不是嗎?

HTTP 中沒有文件擴展名這樣的東西。

客戶端從服務器請求 URI。 服務器使用Content-Type HTTP 標頭進行響應,該標頭說明它發送回的文件類型以及 HTTP 正文中的文件。

客戶端不關心(也不知道)服務器是否通過讀取靜態文件、運行程序或其他方式生成該響應。

輸出 XML 的 PHP 程序和靜態 XML 文件之間的客戶端沒有區別。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM