ประเภท MIME ที่ถูกต้องสำหรับใช้กับ RSS feed คืออะไร?


135

ควรใช้ประเภท MIME หนึ่งประเภทเพื่อให้แน่ใจว่าสามารถใช้งานร่วมกับโปรแกรมอ่าน RSS และเครื่องขูดอื่น ๆ

ตัวเลือกดูเหมือนจะเป็น:

  • ข้อความ / XML
  • ข้อความ / rss + XML

Stackoverflow ที่น่าสนใจคือการใช้ text / html

คำตอบ:


234

ทั้ง เป็นhttp://www.rssboard.org/rss-mime-type-application.txtapplication/rss+xml


8
ฉันยอมรับว่านี่เป็นประเภทที่ถูกต้องอย่างไรก็ตามเว็บเบราว์เซอร์ดูเหมือนจะไม่ค่อยเข้าใจ ดูเหมือนว่า text / xml (เศร้า) ตอนนี้เป็นมาตรฐานโดยพฤตินัย
Samuel EUSTACHI

1
@SamuelEUSTACHI คุณพูดถูกและคำตอบที่ได้รับการยอมรับอาจไม่ใช่สิ่งที่ดีที่สุดเพื่อให้แน่ใจว่าเข้ากันได้ตามที่ร้องขอ Tim Bray ย้อนกลับไปในปี 2003: "ไม่ทางใดก็ทางหนึ่งฉันคิดว่ามันอาจสำคัญที่ชุมชนจะต้องดำเนินการร่วมกันและตัดสินใจว่าจะใช้สื่อประเภทใดและเริ่มใช้งาน" วันนี้: ดูคำตอบของฉันด้านล่างเพื่อหาหลักฐานว่าสวยมากทุกtext/xmlฟีดที่นิยมใช้
Kai Carver

35

แสดงความคิดเห็นอื่น ๆ application/rss+xml,ได้ชี้ให้เห็นว่าเดียวชนิดไมม์ที่ถูกต้องคือ

อย่างไรก็ตามหากคุณตั้งค่าส่วนหัวการยอมรับสำหรับไคลเอ็นต์แล้ว

Accept: application/rss+xml, application/rdf+xml;q=0.8, application/atom+xml;q=0.6, application/xml;q=0.4, text/xml;q=0.4

อาจเป็นทางเลือกที่ดีเนื่องจากระบุว่ายอมรับ RSS, Atom และ XML (เรียงลำดับจากมากไปหาน้อยหรือตามความชอบ)


3
ลำดับส่วนหัวที่ยอมรับจะบอกเซิร์ฟเวอร์ว่าจะใช้เนื้อหาใด เซิร์ฟเวอร์จะดูว่าสามารถให้ข้อแรกหรือข้อที่สองเป็นต้นได้หรือไม่นั่นคือเหตุผลว่าทำไม "application / rss + xml" จึงเป็นตัวเลือกแรกที่ดีที่สุดและ "text / xml" เนื่องจากทางเลือกสุดท้ายนั้นดี
Robert MacLean

4
ในความเป็นจริงลำดับขององค์ประกอบในส่วนหัวยอมรับไม่เกี่ยวข้อง ค่ากำหนดจะถูกระบุด้วยqพารามิเตอร์ดังนั้นเพื่อให้ได้เอฟเฟกต์ที่ต้องการควรส่งAccept: application/rss+xml, application/rdf+xml, application/atom+xml, application/xml;q=0.9, text/xml;q=0.8ซึ่งหมายความว่า "ต้องการฟีดประเภท MIME ที่ถูกต้องหากคุณไม่สามารถเสนอได้ให้เลือกapplication/xmlหากคุณไม่สามารถเสนอสิ่งนั้นได้ ชอบtext/xmlไม่งั้นก็ให้สิ่งที่คุณมี "
Magnus Hoff

1
สำหรับสิ่งที่คุ้มค่าผมพยายามทั้งในรูปแบบที่แนะนำของส่วนหัวที่มีตัวอย่างของฟีดที่นิยมในคำตอบของฉันด้านล่างและพวกเขาทั้งหมดกลับAccept text/xmlฉันใช้คำสั่ง:curl -s -H 'Accept: application/rss+xml, application/rdf+xml, application/atom+xml, application/xml;q=0.9, text/xml;q=0.8' -H 'Content-Type: application/rss+xml' -I $f
Kai Carver

@KaiCarver ฉันได้ทำงานกับโปรเจ็กต์ใหม่ที่สร้างด้วย ASP.NET Core 3.1 Web API + Angular 9 ฉันต้องการสร้างฟีด RSS และเมื่อเปรียบเทียบผลลัพธ์กับเว็บไซต์อื่นฉันก็รู้ว่า Content-Type ที่ถูกต้องที่จะใช้คือ ข้อความ / XML อย่างไรก็ตามเนื้อหา HTML ในโหนดคำอธิบายถูกหลีกเลี่ยงการตั้งค่าส่วนหัวยอมรับช่วยแก้ปัญหาได้ ขอบคุณไชโย🧐🐉
Nexus

14

นี่คือคำตอบเชิงปฏิบัติ: คำตอบที่ "ถูกต้อง" อาจเป็นอะไรก็ได้ (และมีการถกเถียงกันอย่างชัดเจนเกี่ยวกับเรื่องนี้) text/xmlเป็นประเภทที่ฟีดยอดนิยมเกือบทั้งหมดใช้อยู่ในป่า

นี่คือบางส่วนที่ฉันตรวจสอบ:

$ for f in \
  https://feeds.feedburner.com/TechCrunch/ \
  http://feeds.bbci.co.uk/news/video_and_audio/news_front_page/rss.xml \
  http://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml \
  https://daringfireball.net/thetalkshow/rss \
  http://www.npr.org/rss/podcast.php?id=381444908 \
  http://feeds.serialpodcast.org/serialpodcast \
  http://podcasts.joerogan.net/feed \
  https://feeds.feedburner.com/thetimferrissshow \
  http://feed.thisamericanlife.org/talpodcast ; do \
  curl -s -I $f | fgrep -i Content-Type: ; done
content-type:text/xml; charset=UTF-8
Content-Type: text/xml
Content-Type: text/xml
Content-Type: text/xml;charset=UTF-8
Content-Type: text/xml;charset=UTF-8
Content-Type: text/xml; charset=UTF-8
Content-Type: text/xml; charset=UTF-8
content-type:text/xml; charset=UTF-8
Content-Type: text/xml; charset=UTF-8

ดังนั้นคุณจึงมั่นใจได้ว่าtext/xmlไคลเอนต์ RSS ที่ใช้กันทั่วไปจะตีความได้อย่างถูกต้อง


ยังไม่ได้ตรวจสอบคนอื่น ๆ แต่ bbci.co.uk กำลังส่ง application / rss + xml
Jules

5

ที่ถูกต้องที่สุดคือapplication/rss+xml

เข้ากันได้มากที่สุดคือapplication/xml

ตาม W3C:

ฟีด RSS ควรใช้เป็น application / rss + xml (RSS 1.0 เป็นรูปแบบ RDF ดังนั้นจึงอาจใช้เป็น application / rdf + xml แทน) ฟีด Atom ควรใช้ application / atom + xml หรือเพื่อความเข้ากันได้กับเว็บเบราว์เซอร์ที่มีการใช้งานอย่างแพร่หลายฟีดใด ๆ เหล่านี้สามารถใช้ XML ประเภททั่วไปได้โดยเฉพาะอย่างยิ่ง application / xml

https://validator.w3.org/feed/docs/warning/UnexpectedContentType.html



1

คุณสามารถใช้แต่ชนิดไมม์ที่ถูกต้องจะเป็นtext/xmlapplication/rss+xml


3
application/xmlเป็นที่ต้องการมากกว่าtext/xmlเนื่องจาก XML ไม่เป็นไปตามกฎการเข้ารหัสเนื้อหาข้อความปกติ สามารถฝังการเข้ารหัสในข้อมูลซึ่งจะทำให้เกิดปัญหาหากพร็อกซีพยายามแปลงข้อความแบบสุ่มสี่สุ่มห้า กล่าวอีกนัยหนึ่งพร็อกซีจะได้รับคำสั่งให้รักษาข้อมูลแบบไบต์ต่อไบต์
Zenexer

-2

ข้อความ / xmlเป็นคำตอบเดียวที่ถูกต้อง ประเภทละครใบ้เป็นระบบที่ใช้การลงทะเบียน มีรายการอย่างเป็นทางการที่จัดการโดย IANA (Internet Assigned Numbers Authority) ที่http://www.iana.org/assignments/media-types/media-types.xhtml


1
MIME บางประเภทในโลกไม่ได้ลงทะเบียนกับ IANA ที่สำคัญกว่านั้นไม่มีสิ่งใดในเอกสารที่แนะนำการใช้งาน RSS
Ruben Verborgh

RSS คือ XML แนะนำการใช้งานสำหรับ XML
Monkey Code

2
ข้อโต้แย้งนั้นไม่เพียงพอ RSS ยังเป็น RDF XML ยังเป็นข้อความ ดังนั้นด้วยเหตุผลนี้ประเภท RDF หรือข้อความ MIME ก็น่าจะดีเช่นกัน อย่างไรก็ตามปัญหาคือเอกสาร XML ทั้งหมดไม่ใช่ RSS ดังนั้นประเภท XML ทั่วไปจึงไม่เฉพาะเจาะจงเพียงพอที่จะระบุ RSS ได้อย่างชัดเจน
Ruben Verborgh

@RubenVerborgh "ไม่มีอะไรในเอกสารที่แนะนำการใช้งาน RSS" ฉันใช้ Ctrl + F และพิมพ์ใน application / atom และพบว่า application / atom + xml เป็นประเภท MIME ฉันไม่รู้เกี่ยวกับเนมสเปซอื่น อย่างไรก็ตามฉันคิดว่า application / rss + xml ดีที่สุดสำหรับ 2.0 ไม่ว่าเนมสเปซจะเป็นอย่างไร
MaxxiBoi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.