웹멘션은 웹 전역에서 사이트 간 대화와 상호작용을 가능하게 하는 오픈 웹 표준으로, 분산된 피어 투 피어 댓글, 좋아요, 재게시 등 다양한 응답을 구현하는 데 사용된다.
![]()
![]()
Webmention 은 웹 전역에서의 대화와 상호작용을 위한 오픈 웹 표준(W3C 권고안)으로, 분산된 피어 투 피어 댓글, 좋아요, 재게시(repost), 그 외 다양한 응답으로 구성된 네트워크를 구축하는 강력한 빌딩 블록이다.
![]()
사이트 간 대화를 가능하게 한다. 웹에서 다른 사이트에 링크를 걸면, 그 사이트에 알림을 보내기 위해 Webmention 을 전송할 수 있다. 상대 사이트가 Webmention 을 지원한다면, 당신의 글을 댓글, 좋아요, 또는 다른 응답으로 표시할 수 있고, 이렇게 해서 사이트와 사이트 간에 대화가 이루어진다!
“... 서로 다른 웹사이트 간에도 동작하는 @멘션; 그래서 트위터나 페이스북에 붙들려 있는 느낌이 들지 않도록 해준다.” —
다른 사이트에 대한 링크를 포함한 글을 발행할 때, 사이트는 webmention 을 전송하여 해당 사이트가 링크되었다는 사실을 알릴 수 있다.
webmention 수신자는 자신의 webmention 엔드포인트를 노출(discovery)하여, 해당 페이지에 링크를 거는 다른 이들이 이를 찾을 수 있게 한다. 수신자의 엔드포인트가 webmention 을 수신하면, 발신자의 글을 조회하고 이를 응답으로 표시할 수 있다.
멘션은 기본적으로 페이지에 상대 사이트에 대한 링크만 있으면 되지만, 발신자의 글에 마이크로포맷을 추가함으로써 이를 보다 의미 있는 응답(예: 댓글, 재게시, 좋아요 등)로 확장할 수 있다.
Webmention 을 구현하거나 기술적인 세부 사항을 더 알고 싶은가? 다음을 참고하라:
Webmention 을 구현하고 멋지게 표시하고 있는 IndieWeb 사이트들!
rel="webmention" 링크를 head 에만 두어 Discovery 를 수행.rel="webmention"으로 Discovery 수행.Link: HTTP 헤더와 <link> 요소를 통해 노출.(본문에 설명 생략됨)
rel="webmention" 및 rel="http://webmention.org/" 링크, 그리고 HTTP Link: rel="http://webmention.org/ 헤더를 함께 사용해 Discovery 수행.Webmention-Status 헤더와 간단한 메시지(body)를 통해 상태를 알려준다.rel="webmention" 링크로만 Discovery 수행.Joel Dueck은 thelocalyarn.com에서 2014-09-23 기준으로 webmention 을 수신.
Johnny Oskarsson은 joskar.se에서 2014-10-23 기준으로 webmention 을 수신.
kongaloosh는 IndieAnndroid를 사용해 2015-08-04부터 webmention 을 전송하고 있다.
Tantek Çelik은 tantek.com에서 Falcon을 사용하며, 2015-06-11부터 다음과 같은 링크 유형에 대해 webmention 을 자동으로 전송한다.
Jason Garber는 sixtwothree.org에서 FrancisCMS를 2016-01-27부터 사용. 세부 사항:
Link: <https://sixtwothree.org/webmentions>; rel="webmention" HTTP 헤더와, HTML <head> 안의 <link rel="webmention" href="https://sixtwothree.org/webmentions">로 수행.
Sebastiaan Andeweg
Daniel Goldsmith는 View from Ascraeus에서 2017-01-25부터 webmention 을 수신.
Amit Gawande는 Webmention.io를 사용해 Musings. Et Al.에서 2018-01-28부터 webmention 을 수신하고 댓글로 표시한다.
(본문에 설명 생략됨)
Alberto Mardegan 은 Bussator, Nikola, Isso 를 사용해 www.mardy.it 에 webmention 을 통합했다.
Jan-Lukas Else는 jlelse.blog에서 2019년 7월부터 webmention.io를 사용해 webmention 을 수신했으며, 2019년 12월부터는 자체 개발한 솔루션을 사용한다. 이후로 상호작용도 렌더링된다.
capjamesg는 Jekyll 기반 정적 블로그에서 webmention 을 표시한다. webmention 은 엔드포인트를 질의하는 커스텀 자바스크립트 코드로 렌더링된다. James 는 자신만의 webmention 엔드포인트도 호스팅한다. 방문자는 모든 콘텐츠 페이지(블로그 글, 커피 글, 좋아요 등) 하단에 나타나는 "send webmention" 폼을 통해 엔드포인트에서 webmention 을 전송할 수 있다.
4X_Pro는 Intellect Board 포럼 엔진에 2022년 4월부터 기본적인 webmention 지원을 추가했다. webmention 은 특별한 WebMention 사용자로부터 온 단순 댓글 형태로 표시된다.
Robin Boers는 geheimesite.nl에서 2022년 4월부터 webmention.io를 사용해 webmention 을 수신하고, webmention.js를 사용해 표시한다. 또한 마이크로블로그의 글 하단에 있는 폼과, 메인 블로그인 https://blog.geheimesite.nl/에서 webmention.io 를 통해 수동으로 webmention 을 보낼 수도 있다.I'M YourOnly.One 🔏는 2022-05-02 06:51+0800부터 Hugo 기반 정적 블로그들(Snoworld, techmagus, YOOki Chronicles, One Way Faith, Love & Relationships)에서 webmention 을 수신 및 표시한다.
Owen Young 의 블로그는 Zola 기반 정적 블로그(Owen's Blog)에서 2022-06-15부터 webmention 을 수신하고 표시한다. 세부 사항:
load_data로 JSON 을 로드하고 렌더링예시 페이지: Now, I'm in IndieWeb?
Mike Bifulco 의 사이트는 webmention 을 수신 및 표시한다. 세부 사항:
예시 페이지: The correct semantic HTML for adding subtitles to h1 tags
EINDEX 의 블로그는 Astro 기반 정적 블로그(EINDEX's Blog)에서 2022-12-05부터 webmention 을 수신 및 표시한다. 세부 사항:
다음은 webmention 을 코어에서 지원하며 일반 사용자도 바로 사용할 수 있는 몇 가지 오픈 소스 퍼블리싱 소프트웨어이다.
플러그인은 일부 오픈 소스 퍼블리싱 소프트웨어 및 CMS용으로 존재한다.
다른 일부 오픈 소스 퍼블리싱 소프트웨어도 webmention 을 지원한다.
추가로, 일부 퍼블리싱 소프트웨어(일부는 오픈 소스)가 webmention 을 지원한다.
오픈 소스는 아니지만, webmention 을 코어에서 지원하는 퍼블리싱/블로깅 플랫폼도 여럿 있다.
게시물 내 링크에 대해 자동으로 webmention 을 송수신하는 서비스들.
Lobsters (lobste.rs)는 집계된 모든 링크에 대해 webmention 을 전송한다.
Web We Want 사이트의 요청 항목은 좋아요와 북마크 응답을 통한 추천(upvote)을 위해 webmention 을 수신하도록 설정되어 있다. 자세한 내용은 https://webwewant.fyi/voting/을 참고.
사이트의 webmention 송수신을 처리하거나, POSSE 같은 추가 서비스를 위해 webmention 을 사용하는 퍼블리셔용 서비스들(알파벳순):
brid.gy는 Twitter, flickr, GitHub, Mastodon, Instagram 글에 달린 댓글/답글, 좋아요, 재게시에 대해 webmention을 전송해주는 서비스이다. 원본 글 찾기(original post discovery)를 사용해 webmention 의 대상 링크를 찾는다. GitHub 저장소도 있다.
Bridgy Publish는 또한 webmention 을 Twitter, flickr, GitHub, Mastodon, Instagram 으로 POSSE를 트리거하는 메커니즘으로 지원한다.
Bussator는 webmention 수신기로, 수신된 webmention 을 댓글로 게시한다. 모듈식 설계를 통해 여러 댓글 시스템으로 게시할 수 있으나, 현재는 Isso용 플러그인만 구현되어 있다. Bussator 는 WSGI 애플리케이션이며, FastCGI 서비스로도 설치할 수 있다(즉, 항상 웹서버가 떠 있을 필요는 없다).
capjamesg는 자신의 webmention 수신기를 오픈 소스로 공개했다. 아직 활발히 개발 중이지만, 이 프로젝트를 통해 자체 webmention 송수신기를 호스팅할 수 있다. 프로젝트는 GitHub에서 확인할 수 있다.
go-jamming은 RSS 피드를 기반으로 자동으로 멘션을 송수신할 수 있는 단일 바이너리 네이티브 Go 마이크로서버이다. 프라이버시와 보안을 고려하여 설계되었고, 스팸 대응을 위한 rate limiting, 블랙/화이트리스트를 포함한다.
Jekmentions는 webmention 을 수신하고 git 저장소에 저장하던 서비스였다.
Lazymention은 정적 사이트에서 Webmention 을 전송하기 위해 Node.js 서버에서 실행할 수 있는 오픈 소스 서비스이다. 주된 목적은 원래 정적인 웹사이트에 동적인 빌딩 블록 기능을 추가하는 것이다.
mention.tech는 다음을 수행할 수 있는 서비스이다.
stapibas는 웹사이트와 블로그용 webmention 송수신을 위한 셀프 호스팅 서비스이다.
정적 사이트의 새 글에 대해 webmention 과 pingback 을 전송하는 데 사용할 수 있다.
Telegraph는 webmention과 pingback을 전송하기 위한 오픈 소스 프로젝트 및 호스팅 서비스이다. 페이지의 모든 링크에 대해 멘션을 전송하거나, 특정 source 와 target 으로 webmention 을 전송하는 데 사용할 수 있다.
webmention.herokuapp.com은 등록된 사이트의 webmention을 수신하고, 자바스크립트를 통해 표시할 수 있도록 하는 오픈 소스 프로젝트 및 호스팅 서비스이다.
webmention.io는 당신의 IndieWeb 사이트를 대신해 webmention과 pingback을 수신하는 오픈 소스 프로젝트 및 호스팅 서비스이다.
webmention.app은 특정 URL 또는 피드를 검사해 여러 콘텐츠 항목을 찾고, 그 안의 링크들 중 webmention 을 지원하는 링크를 발견하면 해당 대상으로 webmention 을 전송하는 플랫폼 독립적 서비스이다. 자동화된 워크플로를 위해 설계되었으며, IFTTT, 커맨드라인, Netlify 같은 도구와 통합하는 간단한 사용 방법도 제공한다.
webmention 을 전송하기 위해 사용할 수 있거나 설치할 수 있는 도구들.
Pushl은 RSS, Atom, h-feed 등 임의의 피드에서 발견된 페이지들로부터 webmention 을 전송하는 커맨드라인 도구이다.
다른 간단한 방법 없이 한 사이트에서 다른 사이트로 Webmention 을 보내고 싶은 사용자는, 다음 도구 인터페이스를 사용해 "수동"으로 webmention 을 전송할 수 있다.
프로그래밍에 익숙한 사람은 cURL 로 webmention 을 보내는 방법도 사용할 수 있다.
수동으로 webmention 을 수신하려면 웹 서버가 webmention 엔드포인트 URL 로 전송되는 HTTP POST 요청을 파일에 로그하도록 하면 된다. 이후 텍스트 편집기로 로그 파일을 열어 수동으로 응답을 처리하거나, 스크립트를 작성해 원하는 방식으로 처리할 수 있다. nginx 예시는 "A static, manual system for receiving webmentions (and pingback) with nginx" 문서(http://superkuh.com/blog/2020-01-10-1.html)를 참고.
commentpara.de는 익명으로 webmention 을 전송할 수 있게 해주며, 이를 통해 독자는 자신의 온라인 존재 없이도 IndiWeb 글에 댓글을 남길 수 있다.
첫 페이지에 오르려면 최소 50표, 아이콘 개발을 고려하기 시작하려면 최소 100표가 필요하다.
Webmention 에 관한 블로그 글과 기사들(최신 순)
(원문에서 개별 목록은 다른 섹션과 중복되므로 생략 없이 링크는 아래 "See Also"에서 추가로 제공됨.)
Webmention-faq를 참고.
Webmention 프로토콜의 첫 번째 초안은 Sandeep Shetty가 2012-10-22에 작성했다.
Sandeep Shetty는 Converspace를 사용했다. 도메인은 현재 리디렉션되지만, git 커밋 히스토리와 아카이브된 링크를 보면 다음과 같다.
Aaron Parecki로부터 webmention 을 수신하고 이를 댓글로 표시[6][7]
Tom Morris는 tommorris.org에서 Ferocity를 2013-??-?? 기준으로 사용했다. 세부 사항:
2021-12-27 기준으로 해당 페이지에는 더 이상 webmention 엔드포인트가 없다.
Christian Weiske는 cweiske.de에서 2013-10-22 기준으로 webmention 을 수신했다. 세부 사항:
Link: <http://cweiske.de/stapibas/xmlrpc.php>; rel="webmention" 헤더로만 수행.'application/xhtml+xml' 또는 'text/html'인 경우 GET 요청을 보내 다시 webmention 엔드포인트 Discovery 를 하고, 없을 경우 pingback 엔드포인트 Discovery 를 한다. 엔드포인트를 찾으면 webmention 을 보내고, 그렇지 않고 pingback 엔드포인트를 찾으면 pingback 을 보낸다.2021-12-27 기준으로는 해당 페이지를 가져올 수 없다.
(이 섹션은 초안(stub)이므로, 자유롭게 확장해도 된다.)
추천글: https://twitter.com/jeremyfelt/status/1215341288112844800 및 IndieWeb 예시: https://jeremyfelt.com/2020/01/06/now-supporting-webmention/ — 사이트 간 스레딩과, 답글에 대한 답글이 모두 IndieWeb 상에서 피어 투 피어로 작동하는 모습을 보여준다.
https://twitter.com/_/status/1582775498584645636
Glenn Jones는 glennjones.net에서 node.js 모듈 github.com/glennjones/webmentions를 2014-02-19 기준으로 사용했다. 세부 사항:
rel="webmention" 링크만으로 Discovery 수행.in-reply-to URL 입력란이 있다.2021-12-27 기준으로 404.
Dan Lyke는 Flutterby.com 블로그 글에서 2014-10-10 기준으로 webmention 을 수신했다.
<link> 요소와 <indie-action> 요소로 노출된다.2021-12-27 기준으로 webmention 헤더가 없다.
j4y_funabashi는 j4y.co에서 2016-06-13 기준으로 사용.
2021-12-27 기준으로 사이트는 라이브가 아니며, nginx 설정 페이지를 반환한다.
Ru Singh는 rusingh.com에서 2020년 4월부터 webmention.io와 brid.gy를 사용해 webmention 을 수신했다.