Wasn’t quite sure where to ask this question, but figured if anyone, it would be selfhosters who are mostly into RSS.

I’ve recently been getting into RSS feeds for reading my news, watching YT (via FreeTube) and listening to podcasts - and its been nothing but great! However I was wondering how RSS works under the hood. I couldn’t find many good sources on it, so if you have any good reads please hit me up. My main question; is RSS a one-way protocol? Considering when using Freetube or Newpipe, it’s able to fetch videos, views and comments etc, but I assume its only a one way thing seeing one cannot comment or like the video? And I guess this applies to podcasts and news sites as well? What happens during podcasts if I skip ads during the podcast? Does that hurt the podcaster, in the sense that I am skipping the ad-section, or does it still count as the RSS feed has already been “pulled” to my device?

If anyone could help clear this up for me I would greatly appreciate it :)

  • poVoq
    link
    fedilink
    English
    441 year ago

    RSS and ATOM are just a way to format an XML file that can be downloaded from a server. There is nothing special about it otherwise and it is strictly one way as its just downloading a file.

    • @[email protected]
      link
      fedilink
      English
      51 year ago

      One important thing if you are building a RSS application is that the server should support conditional requests (the If-Modified-Since header). This way, a client does not have to download the entire feed on every update. It simply sends the last update date with its request and the server returns an empty response if the feed is up to date.

      There are some applications (for example YouTube) which dont support this, resulting in higher-than-necessery data usage, especially on mobile.

    • LunchOP
      link
      English
      21 year ago

      Oh I was not aware of this at all! Thank you!

  • @[email protected]
    link
    fedilink
    English
    141 year ago

    RSS feeds are XML files which contain a list of documents hosted on the internet (articles, audio/video). The feed entries contain basic metadata (title, date, author, summary) and a link to the original website (or audio/video file in the case of a podcast).

    Feed readers send a simple web request to the website hosting the feed, downloading it if it has changed since the last update. The content is then combined with other feeds and displayed. This way you can have a personalized news reading experience without needing to create an account at a a central provider or open every individual site.

    Alternative YouTube clients use RSS feeds provided by YouTube (example: https://www.youtube.com/feeds/videos.xml?channel_id=UC2DjFE7Xf11URZqWBigcVOQ), but they are only used to update subscriptions. All other requests (search, watching videos) are handled by the same web interface as the YouTube desktop application. Fetching the RSS feeds is a lot faster than opening the channel page, so the RSS featuee allows you update 100 or more channels in a few seconds.

    The way podcast ads work is either just like YouTube sponsorships (the podcaster gets paid by a company to speak an advertisement themselves) or they are dynamically inserted by the podcast provider (these are the interrupting ads). Since most podcast apps dont store cookies, there is no way to track users and personalization is done only via the IP-based location and topic of the podcast. RSS-based podcast players have no way of directly reporting back playback telemetry. The server hosting the podcasts can only count the number of downloads/playbacks. So there is no way to count the amount of watched ads when using a RSS-based podcast player like AntennaPod or Kasts. Note: this does not apply to podcasts on Spotify, Apple Music or similar platforms. These platforms absolutely track your listening activity. I have no idea whether this affects ad/sponsorship earnings.

    • LunchOP
      link
      English
      2
      edit-2
      1 year ago

      Will Give it a read, thanks :*