Term
정보 배달부, RSS
2016 10 25
  • Facebook
  • Twitter
  • Copy URL

RSS는 Really Simple Syndication의 약자로 정보를 공급하는 특별한 기능이다. RSS는 블로그, 뉴스 등 특정 사이트에 글이 올라왔을 때 해당 사이트를 방문하지 않고 RSS 리더 서비스를 통해 새롭게 업데이트된 콘텐츠만 가져와 사용자에게 보여준다. 사용자는 언제 업로드될지 모르는 콘텐츠를 일일이 확인하지 않고 RSS를 통해 볼 수 있다. 또한 정보를 받길 원하는 사이트의 RSS 피드만 등록해 놓으면 RSS 리더에서 자동으로 모아서 보여주니 맞춤형 정보 공급 프로그램이라 할 수 있다.

이미지를 불러오는데 실패했습니다.

RSS는 하버드대학교를 주축으로 여러 개발자가 모여 만들었다. 특히나 14살의 애론 스와르츠(Aaron Swartz)는 여러 개발자 중 한 명이었다. 그는 프로그래머였고 해커였으며 공공정보를 자유롭게 개방해야 한다고 주장하는 사회 운동가였다. 하지만 안타깝게도 2013년 1월 11일 그는 28살의 나이로 생을 마감했다. 그는 JSTOR이라는 온라인 학술논문 엑세스 서비스에서 자신의 MIT 재학생 권한으로 400만 건의 논문과 과학저널을 내려받아 저장했다. 이 때문에 그는 약 4억 달러의 벌금과 징역 35년을 선고받고 압박감을 못 이겨 자신의 아파트에서 스스로 숨을 거두었다. 이 사건으로 ‘비운의 천재’ 수식어를 가진 애론 스와르츠를 추모하는 많은 이가 자신의 논문에 #(해시태그)를 걸어 온라인에 올리기도 했다.

이미지를 불러오는데 실패했습니다.

RSS의 피드(Feed)란 사용자가 원하는 사이트의 콘텐츠를 받아볼 수 있도록 사이트에서 제공해주는 일종의 콘텐츠 정보이며 사이트의 RSS/XML 파일이다. 사용자는 자신이 원하는 사이트의 피드를 자신의 RSS 리더(reader) 혹은 RSS 어그리게이터(RSS aggregator)에 등록한다. 사용자는 자신의 RSS 리더에 등록한 웹사이트에서 새로운 콘텐츠가 올라오면 자동으로 자신의 RSS 리더로 받아 볼 수 있다. RSS 리더는 일반적으로 웹과 모바일로 나누어지는데 특히나 모바일 사용자들이 실시간으로 RSS에 등록된 새로운 콘텐츠를 바로 확인할 수 있어 많은 이들이 애용하고 있다.

이미지를 불러오는데 실패했습니다.

RSS 리더는 정말 많은 RSS 리더 프로그램이 있지만 명실상부 가장 독보적인 것은 RSS 구글 리더 프로그램이었다. 지금은 서비스를 중단하면서 많은 이들이 여러 리더로 흩어졌지만 그래도 크롬 구독 확장프로그램으로 제공하고 있는 RSS 리더 프로그램은 여전히 많은 쓰임을 받고 있다. 공식 Mac 용 RSS 리더 ‘Reader’ 또한 상당한 사용자를 보유하고 있다. Reader 같은 경우는 모바일과 웹이 자동으로 동기화되고 깔끔한 디자인과 빠른 속도로 상당한 인기를 가진 프로그램이다.

RSS를 사용하면 사용자는 웹사이트에 방문할 필요도, 광고를 볼 필요도 없이 주어지는 내용만 보면 되므로 무척이나 편리하지만 관리자는 다르다. 사이트에 광고를 넣어 수익을 내거나 혹은 다른 콘텐츠를 연이어 볼 수 있도록 사이트를 구성했다면 RSS는 관리자로서 좋아 보이지 않는다. 하지만 이것은 짧은 생각이다. 웹 사이트에 보이는 화려함보다는 RSS를 통해 얻는 짧은 콘텐츠는 그만큼 강력하고 더 집중할 수 있도록 해줄 것이다. 또한 사용자들이 웹 사이트를 돌아다니며 소비하는 시간이 줄어 바쁜 일상을 보내는 사회에서 콘텐츠를 찾아보는 시간도 부담이 덜할 것이다. 관리자 입장에서 봤을 때 새로운 콘텐츠가 올라오면 골라보는 사용자에게도 일괄적으로 콘텐츠가 제공되어 편식 없이 콘텐츠를 제공할 수 있다. 또한 RSS에서 제공되는 서비스는 사이트의 트래픽을 늘려줄 것이고 그만큼 더 많은 사람이 사이트에 방문하고 검색결과에서 사이트를 찾아낼 수 있을 것이다. 더욱이 제공되는 콘텐츠가 충분히 매력적이라면 분명 콘텐츠를 타고 웹 사이트에 방문하고도 남을 것이다. 이런 의미로 만약 정기적인 콘텐츠를 제공하는 사이트의 관리자라면 RSS 서비스를 제공하여 콘텐츠를 전달하는 것은 분명 가치 있는 일이다.

관리자는 단지 몇 줄의 코드만으로 RSS 서비스를 사용자에게 제공할 수 있다. RSS 파일은 보여주고 싶은 페이지의 모든 링크를 담아 형식에 맞춰 파일을 만든다. RSS는 여러 버전이 있지만 여기서는 호환성을 위해 RSS 2.0버전을 기준으로 구현했다.


<?xml version="1.0" encoding="utf-8"?> //xml 버전, 유니코드 인코딩 방식
<rss version="2.0">  // rss 버전
	<channel>
		<title>GRAYNEWS</title> // rss.xml 페이지 타이틀
		<link>http://news.grayhash.com</link> //RSS를 제공하는 홈페이지 주소
		<description></description> //사이트 설명
		<pubDate>Thu, 20 Oct 2016 17:03:32 -0800</pubDate> // 채널의 내용을 게시한 날짜
		<lastBuildDate>Thu, 20 Oct 2016 17:03:32 -0800</lastBuildDate> //채널 내용의 마지막 변경 날짜 //RSS의 시간은 RFC-822 기준으로 한다.
		<generator>www.grayhash.com</generator> //참조하는 사이트
		<image>  // 나의 사용자 이미지 추가
			<url></url> //이미지 주소
			<title></title> //이미지 타이틀
			<link>www.grayhash.com</link> //이미지 클릭시 이동되는 주소
		</image> 
		<item>     // 콘텐츠 
			<title>#21 RSS </title> //콘텐츠 타이틀
			<link>http://news.grayhash.com</link>  // 콘텐츠 클릭 시 이동되는 주소
			<description></description> // 설명
			<pubDate>Thu, 20 Oct 2016 17:03:32 -0800</pubDate>  // 콘텐츠 추가 시간
		</item> 
	</channel> 
</rss>

RSS는 XML의 응용 프로그램으로 “파일명.rss” 혹은 “파일명.xml”로 만들며 반드시 XML의 형식으로 만들어져야 한다. 기억해야 할 것은 “< >”태그가 시작되면 반드시 닫는 ”</ >”태그가 존재해야 한다.

rss.xml 파일을 살펴보면 첫 줄은 XML의 버전과 이 문서를 어떤 식으로 인코딩하는지에 대한 방식을 규정한다. 이어서 두 번째 줄은 RSS의 버전을 나타내며 상단의 이 두 줄은 필수적으로 들어가야 하는 코드다. channel은 콘텐츠 글을 담는 그릇으로 생각하면 된다. channel 안에 있는 항목들은 콘텐츠를 표현하기 위한 메타데이터이며 일반적인 정보로 구성되어 있다. HTML과 비교해서 <head>와 비슷한 역할을 한다.

Feed balidation Service를 통해 파일이 제대로 구성되었는지 확인할 수 있으며 본문에서 예시로 사용한 RSS 코드의 속성 외에도 더 많은 속성이 존재한다. 본문에서는 수동적으로 콘텐츠를 추가하는 형태로 작성했지만 데이터베이스와 연결하여 자동화도 가능하다. 웹페이지에 아래의 코드를 추가하면 RSS 응용 프로그램이 자동으로 페이지에서 피드의 위치를 찾아낸다.


<link rel=”alternate” type=”application/rss+xml” title=”RSS” href=”xml/rss 파일 위치” />

news.grayhash.com 사이트에도 RSS를 제공한다. 만약 크롬을 사용하고 있다면 크롬 구독 확장프로그램을 사용하면 쉽게 피드를 저장할 수 있다. 굳이 크롬 구독 확장 프로그램을 설치하지 않고 다른 RSS 리더를 사용한다면 페이지 오른쪽 상단 메뉴에 있는 파란색 와이파이 표시를 클릭하여 피드를 확인할 수 있다.

이미지를 불러오는데 실패했습니다.

유성경 yuopboy@grayhash.com