Comments (3)
This issue is closely related to the insistence of the spec right now to have
the
subscriber use the <link rel="self"...> URL as the one for actual subscription
(see
http://pubsubhubbub.googlecode.com/svn/trunk/pubsubhubbub-core-0.2.html#discover
y).
In practice, subscribers aren't going to do this properly. We need something
better.
I coded up a prototype to get around this limitation. Essentially, the Hub keeps
track of a mapping from topic URL to feed ID, and then feed ID to topic URLs
(plural!). At subscribe time, we derive the feed ID (if the topic hasn't been
seen
before) and save it in association with the topic URL. At publish time, we
figure out
the corresponding feed ID is, then use the reverse index to find all aliases
affected
by the published ping.
For RSS we just use the channel link, because there's no feed ID.
Original comment by bslatkin
on 3 Sep 2009 at 8:50
from pubsubhubbub.
I believe this has been fixed by r275. I'll be rolling this out to production
and
updating all KnownFeed instances as soon as I finish more system testing.
Original comment by bslatkin
on 21 Sep 2009 at 10:19
- Changed state: Fixed
from pubsubhubbub.
Note that the silliness from the spec we want to avoid is:
"Per the Atom spec, the //atom:feed/link[@rel="self"] element MUST indicate the
topic
URL for the original event stream. Subscribers MUST use the self link when
requesting
a subscription from the hub. Subscribers MUST NOT use the original URL from
before
following HTTP redirects to fetch the feed. This is crucial for subscribers to
detect
feed moves.
Hubs MUST use the same URL for both the publishing and subscribing interfaces,
which
is why only a single atom:link element is required to declare a hub. Publishers
SHOULD use HTTPS (Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter,
L.,
Leach, P., and T. Berners-Lee, “Hypertext Transfer Protocol -- HTTP/1.1,” .)
[RFC2616] in their hubs' discovery URLs. However, subscribers that do not
support
HTTPS (Rescorla, E., “HTTP Over TLS,” May 2000.) [RFC2818] MAY try to
fallback to
HTTP (Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach,
P., and
T. Berners-Lee, “Hypertext Transfer Protocol -- HTTP/1.1,” .) [RFC2616],
which MAY
work depending on the hub's policy. "
Original comment by bslatkin
on 21 Sep 2009 at 10:30
from pubsubhubbub.
Related Issues (20)
- startup error when browsing http://localhost:8000
- /work/reconfirm_subscriptions: start_map() got an unexpected keyword argument 'reader_parameters' HOT 1
- WP plugin: content header issue with version 1.5 HOT 2
- [deleted issue]
- Protocol: Optional support for deleting no more unexisted items HOT 1
- NameError: global name 'EventCleanupHandler' is not defined
- Allow non-protobuf MemcacheForkJoinQueue
- Fork join queue expects CURRENT_VERSION_ID to be set in environment
- sidebar isn't on right anymore
- Minor documentation issue in DeveloperGettingStartedGuide
- Setting the time that the blog notification is sent to subscribers
- Protocol: New Content Notification query string parameters
- The link to the example subscriber app is 404 Not Found HOT 2
- Long delay after subscription before hub will successfully see new content HOT 1
- Patch for /wiki/Companies.wiki HOT 1
- Hub Server does not check efficiently the published feed. Can't get near instant notification. HOT 1
- [deleted issue]
- Protocol: Specific content-type for Subscription Request? HOT 1
- Protocol: Subscription Validation and Verification of Intent should use POST HOT 1
- Wiki pages comments are spammed.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pubsubhubbub.