NotesThis document defines the syntax and semantics of the Do-Not-Stab header, a proposed HTTP header that allows users to indicate to a website their preferences about being stabbed. It also provides a standard for how services should comply with such user preferences, if they wish to.FeedUnfurl
NotesThe Speculation Rules API is designed to improve performance for future navigations. It targets document URLs rather than specific resource files, and so makes sense for multi-page applications (MPAs) rather than single-page applications (SPAs).FeedUnfurl
Notes"so I implemented a virtual file system that fetches chunks of the database with HTTP Range requests when SQLite tries to read from the filesystem"FeedUnfurl
NotesRetrieves the relevant favicon for a URL, or returns a default icon should it not be able to find it. Works better than the Google version as it will find favicons specified by an HTML page's <link> element. Feel free to hotlink, although it would be nice if you could email me if you're going to make more than a couple of requests a second.Unfurl
NotesURI.js is a javascript library for working with URLs. It offers a "jQuery-style" API (Fluent Interface, Method Chaining) to read and write all regular components and a number of convenience methods like .directory() and .authority().Unfurl
NotesHello! I've got some good news for you: your web browser has just been upgraded to a web server. It's responding to HTTP requests on the Internet as you read this.Unfurl
NotesRED is a robot that checks HTTP resources to see how they'll behave, pointing out common problems and suggesting improvements. Although it is not a HTTP conformance tester, it can find a number of HTTP-related issues.Unfurl
NotesWebDAV implemented as a Django application. The motivation for this project is to allow authentication of users against Django's contrib.auth system, while also exporting different directories per user. Many Django tools and app can be combined with this such as django-digest etc. to provide a powerful WebDAV server. Unfurl
NotesNow, when I said ânobodyâ does this, what I meant was âfor APIs.â This is exactly how the Web works. Think about it. You start off on the homepage. Thatâs the only URL you have to know. From there, a bunch of links point you towards each state that you can reach from there. People would consider it ludicrous if they had to remember a dozen URLs to navigate a website, so why do we expect the consumers of our APIs to do so as well?Unfurl
NotesRails-style MVC frameworks are both too much, and not enough at the same time. It really is time for a new framework to support this new architecture.Unfurl
NotesEver seen those sites with using anything.domain.com as URLs? An example from yesteryear would be ytmnd.com. If you want this on your site, read on.Unfurl
Notes"Letâs talk about how to hijack HTTP traffic on your home subnet using ARP and iptables. Itâs an easy and fun way to harass your friends, family, or flatmates while exploring the networking protocols."Unfurl
Notes"I think HTTP based Git will be a huge part of the future of Git, so if youâre running your own Git server, you should really check it out. If youâre not, GitHub and Iâm sure other hosts will soon be supporting it - upgrade your Git client to 1.7ish soon so you can take advantage of it when it happens."Unfurl
Notes"Siege is an http load testing and benchmarking utility. It was designed to let web developers measure their code under duress, to see how it will stand up to load on the internet. Siege supports basic authentication, cookies, HTTP and HTTPS protocols. It lets its user hit a web server with a configurable number of simulated web browsers. Those browsers place the server "under siege." "FeedEmbedUnfurl
Notes"justniffer is a tcp packet sniffer. It can log network traffic in a 'standard' (web server like) or in a customized way. It can also log response times, useful for tracking network services performances (e.g. web server, application server, etc.)."Unfurl
NotesThis is very annoying for Palm webOS, where WebKit is basically the top-level OS and not a browser. Might be a problem for ChromeOS too? Apps can't set their own User-Agent headers: "For security reasons, these steps should be terminated if header is an ASCII case-insensitive match for one of the following headers: ... User-Agent"Unfurl
Notes"From time to time I need to debug OAuth-protected APIs, checking response headers and examining XML and JSON payloads. curl generally rocks for this sort of thing, but when the APIs in question are protected with OAuth, things break down. Likewise for benchmarking (ab, httperf, etc.) and explorationâisnât it nice to browse APIs that return XML in Firefox?
This neednât to be the case."FeedUnfurl
Notes"EvServer is a lightweight http server, created especially to host python WSGI applications. Additionally, it supports little known Asynchronous WSGI extension, which was suggested by Christopher Stawarz. Using this extension it's possible to create an output html response in many data chunks, without blocking the main server process while your application waits for external resources. "Unfurl
Notes"This specification formalizes two types of feeds that can span one or more feed documents; "paged" feeds and "archived" feeds. Additionally, it defines "complete" feeds to cover the case when a single feed document explicitly represents all of the feed's entries."Unfurl
Notes"This explains when to use POST or PUT for creating new resources. The answer ultimately lies in who is responsible for determining the new resourceâs URI. If the client is in charge, the client can use PUT to the new URI (like we did for user accounts) and the service can return a response code of 201 (âCreatedâ). However, if the service is in charge of generating the new URI, the client should POST the new resource to a factory URI like weâve done for bookmarks. Then, the service can return a response code of 201 (âCreatedâ) along with the URI of the new resource in the response âLocationâ header."FeedEmbedUnfurl
Notes"Siege is an http regression testing and benchmarking utility. It was designed to let web developers measure the performance of their code under duress, to see how it will stand up to load on the internet. Siege supports basic authentication, cookies, HTTP and HTTPS protocols. It allows the user hit a web server with a configurable number of concurrent simulated users. Those users place the webserver "under siege." "FeedEmbedUnfurl
Notes"What needs to be done to make the REST architectural style clear on the notion that hypertext is a constraint? In other words, if the engine of application state (and hence the API) is not being driven by hypertext, then it cannot be RESTful and cannot be a REST API. Period. Is there some broken manual somewhere that needs to be fixed?"FeedEmbedUnfurl
Notes"After a point the sql server becomes the bottleneck in lots of web application, and to scale, master-slave replication with single master, multiple slave is recommended. This setup with nginx can be used to accomplish traffic distribution between master and slave based on request method. "FeedUnfurl
Notes"I was talking to a colleague who has to become savvy in a hurry about modern Web applications and he asked âHow do I learn about REST?â Good question. I thought of a couple of suggestions, then asked Twitter and got some more. Here they are."FeedUnfurl
Notes"But on a technical level, the point is not that "whatever!" is evil. The point is that if you chip a piece off "whatever!" and make it mean something specific, you can optimize around the constraints and reap the benefits."Unfurl
Notes"Tsk! Status code "418 I'm a teapot" shouldn't be removed, it's from a real actual IETF blessed RFC. Albeit in the fine tradition of April 1st RFC"FeedUnfurl
Notes"418 I'm a teapot ... Any attempt to brew coffee with a teapot should result in the error code "418 I'm a teapot". The resulting entity body MAY be short and stout. "FeedUnfurl
Notes"In this article, I will try to provide a pragmatic introduction to REST and RESTful HTTP application integration without digressing into this debate"Unfurl
Notes"So stop asking the server to "hold on to things" for you. Please. If you do that one simple thing when you build an application architecture, you have freed the server infrastructure; you have given it wings."FeedUnfurl
Notes"Following my post yesterday about delaying the loading of avatar images to cut down on HTTP requests I was wondering if there is a way to do this without having to resort to a server side solution. In short, there is."Unfurl