Simon Willison’s Weblog

Subscribe
Atom feed for http

96 items tagged “http”

2008

Flickr Developer Blog: API Responses as Feeds (via) Flickr API calls that return a “standard photos response” (e.g. flickr.photos.search and flickr.favorites.getList) can now output eight different feed formats as well, including Atom, RSS flavours, geoatom, geordf and KML. Error codes are returned as X-FlickrErrCode HTTP headers.

# 25th August 2008, 10:20 pm / flickr, apis, feeds, kml, atom, geordf, rss, geoatom, http

Gears API Blog: Gears 0.4 is here! New features are Geolocation, a Blob API for dealing with arbitrary binary data, onprogress() events for tracking HTTP downloads and uploads (meaning progress indicators) and the built-in Gears dialogs localized to 40 languages.

# 22nd August 2008, 10:14 am / gears, geolocation, onprogress, javascript, blobapi, http

If it's easy to make all your calls conform to the RESTful verb architecture, then that's good, I guess. But if not, then just use a POST as an RPC call, keep it as simple as possible and be done with it. And don't spend another minute worrying about being RESTful or not.

Damien Katz

# 15th August 2008, 8:07 am / restful, rest, damien-katz, http, web-services, post, rpc

IE8 Security Part IV: The XSS Filter (via) IE8 will include an XSS filter to identify and neutralise “reflected” XSS attacks (where malicious code in a query string is rendered to the page), turned on by default. Sounds like a good idea to me, and site authors can disable it using Yet Another Custom HTTP header (X-XSS-Protection: 0).

# 3rd July 2008, 9:37 am / xss, security, microsoft, ie8, internet-explorer, xssfilter, http

Enough Already with the Connections! Comet doesn’t mean making long-lived HTTP connections (which most browsers do anyway thanks to HTTP keep-alive), it means making long-held HTTP requests. I’m guilty of spreading this misinformation in the past.

# 30th June 2008, 9:27 am / comet, connections, requests, http, correction, keepalive

mod_rpaf for Apache. A more secure alternative to Django’s equivalent middleware: sets the REMOTE_ADDR of incoming requests from whitelisted load balancers to the X-Forwarded-For header, without any risk that if the load balancers are missing attackers could abuse it to spoof their IP addresses.

# 24th June 2008, 5:02 pm / django, middleware, apache, rpaf, modrpaf, security, xforwardedfor, http, load-balancing

ncache. A squid-style caching system built on top of nginx. Supports the HTTP PURGE method for cache invalidation.

# 18th June 2008, 8:09 pm / ncache, cache, http, nginx, purge, squid

The X-Robots-Tag HTTP header. News to me, but both Google and Yahoo! have supported it since last year. You can add per-page robots exclusion rules in HTTP headers instead of using meta tags, and Google’s version supports unavailable_after which is handy for content with a known limited shelf-life.

# 9th June 2008, 9:21 am / google, yahoo, robots-txt, xrobotstag, http

Yahoo!’s Latest Performance Breakthroughs. 20 new performance tips to join the previously published 14. Flushing the buffer while the backend code is still working to cause the browser to start loading CSS earlier is interesting.

# 20th March 2008, 3:17 pm / http, performance, css, yahoo

Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8. This has huge implications for client-side web developers: IE 8 will include the ability to mark a page as “tested and compatible with the IE7 rendering engine” using an X-UA-Compatible HTTP header or http-equiv meta element. It’s already attracting a heated debate in the attached discussion.

# 22nd January 2008, 12:40 pm / ie8, internet-explorer, browsers, http, web-standards, xuacompatible

Cross-Site XMLHttpRequest (via) “Firefox 3 implements the W3C Access Control working draft, which gives you the ability to do XMLHttpRequests to other web sites”—you can mark a document as available for cross-domain requests using either an Access-Control HTTP header or an XML processing instruction.

# 9th January 2008, 11:57 pm / xmlhttprequest, crossdomain, ajax, javascript, john-resig, accesscontrol, w3c, firefox, firefox3, mozilla, http, xml

HTTP Cache Channels (via) Interesting extension to the HTTP caching model by Mark Nottingham: caches can be told to subscribe to an Atom feed which alerts them to cached data that has gone stale. Group invalidation is also supported.

# 4th January 2008, 12:48 pm / mark-nottingham, caching, http, cachechannels, atom, squid

2007

The backdooring of SquirrelMail. A SquirrelMail developer’s account was compromised and used to insert a backdoor: the other developers initially missed the hole because it used $_SERVER[’HTTP_BASE_PATH’], which can be set with a Base-Path: HTTP header.

# 28th December 2007, 11:40 pm / http, php, squirrelmail, backdoor, security

Techniques for safely consuming external HTTP on demand? I asked this question on programming.reddit.com yesterday and got some really insightful answers, including Joe Stump from Digg describing how Digg Images uses Danga’s Gearman worker queue.

# 15th December 2007, 12:29 pm / http, queue, workers, gearman, reddit, askreddit, joe-stump, digg, danga, scaling

Two HTTP Caching Extensions. stale-while-revalidate serves cached content even while a refresh has been triggered and is currently being pulled in to the cache; stale-if-error serves cached content if a service has gone down.

# 12th December 2007, 11:23 am / http, caching, mark-nottingham, squid

A Taxonomy of Event- and REST-based Comet. Kris Zyp describes a conceptual model for Comet messages based on REST semantics (so you can send a PUT referencing a specific URI down to a client to represent an idempotent state change).

# 21st November 2007, 8:18 pm / idempotent, put, http, rest, kriszyp, javascript, comet

I think it is well established that HTTP Authentication needs a major kick in the ass and OpenID and OAuth may get us most of the way there. However, until I see RFC#s attached to both I'm hardly going to consider them to be complete. I propose the creation of an IETF WG on Identity and Authentication. The WG would be chartered to produce two RFCs covering each of the two areas. OpenID and OAuth could be used to seed the WG effort.

James Snell

# 18th November 2007, 12:15 am / http, james-snell, openid, rfc, oauth, ietf, standards, standardisation

Orbited: The Orbit Event Daemon. HTTP daemon designed for long-lasting comet connections, written in Python using pyevent on top of libevent.

# 9th November 2007, 11:01 pm / pyevent, libevent, python, comet, http

Django may be built for the Web, but CouchDB is built of the Web. I've never seen software that so completely embraces the philosophies behind HTTP. CouchDB makes Django look old-school in the same way that Django makes ASP look outdated.

Jacob Kaplan-Moss

# 20th October 2007, 1:46 pm / django, couchdb, asp, http, jacob-kaplan-moss, python

Http-https transitions and relative URLs. Finally, a reason to use those weird protocol-relative URLs (//example.com/path and the like).

# 18th October 2007, 11:57 am / urls, ned-batchelder, http, https

ETags, ETags, ETags. They’re no magic bullet.

# 7th August 2007, 2:51 pm / etags, http, mark-nottingham

Inline images are stored as data URI:s in the intermediate format (and usually also in the source documents), but since not all browsers support this format, the renderer replaces the data URI:s with HTTP pointers to an image cache directory.

Fredrik Lundh

# 7th August 2007, 10:52 am / django, datauri, http, fredrik-lundh

YSlow. New extension for Firebug (yes, an extension on top of another extension) from the Yahoo! performance team which provides improved performance measurement tools and optimisation advice.

# 25th July 2007, 4:48 am / firefox, extension, http, firebug, optimisation, performance, yahoo, yslow

Does the idea of redefining the role of the Internet browser appeal to you? Do the terms HTTP, RSS, Microformats, and OpenID, excite you? If so, then this just might be the opportunity for you.

IE Team Job Ad

# 18th July 2007, 7:43 am / http, rss, openid, microformats, ie, microsoft

Return of the HTTP overhead delay. Christian proposes a neat way of improving page performance, by delaying non-essential images such as avatars until after the rest of the page has loaded.

# 11th July 2007, 3:12 pm / christian-heilmann, performance, http, images, avatars, onload, javascript

The State of Proxy Caching. If you’ve always wondered exactly what intermediate proxies are going to do to your carefully constructed Web application, here’s your answer.

# 21st June 2007, 2:18 pm / mark-nottingham, proxies, caching, http

Avoid IE Brokenness When using Vary and Attachments (via) Django middleware that works around a bug in IE where external applications fail to load content that was served with a Vary header.

# 9th April 2007, 9:41 am / django, ie, middleware, http, python

The RADAR Architecture: RESTful Application, Dumb-Ass Recipient (via) Dave Thomas points out that REST expects smart clients, but browsers are dumb (only really support POST and GET). His suggested fix is to build a pure REST service and then drop in a server-side application proxy that sits between the browser and the REST backend.

# 2nd April 2007, 10:42 am / rest, dave-thomas, http

The upshot is that HTTP does not have everything that REST indicates should be present, and there is the additional problem that while HTTP is the first, and best, implementation of REST, the two are not the same and yet are often confused.

Joe Gregorio

# 17th February 2007, 5 pm / joe-gregorio, http, rest

Content delivery system design mistakes. Collection of tips for optimising Web server performance. Mentions lighttpd/nginx, Keep-Alive, expires headers, noatime and more.

# 15th February 2007, 11 am / http, performance, lighttpd, nginx