10 things to change in your thinking about XML protocols

This post hits the nail on the head. I've been blathering on about some of this stuff at work* for a while: Don't tie your protocol to your programming language, protocol is the most important thing in a distributed system, make data as simple/flexible/loosely-coupled as possible, don't constrain yourself with schemas. Now I've got something to link to.

N.B. I don't think this is just applicable to protocols - also data storage. Serialized objects and O-R mapping tools can seriously louse up your data if you're not careful.

  • usually to people that aren't interested

Server length limitations on HTTP GET URLs

I just did a little bit of testing at work and thought I'd dump it here for future googlers:

We've got an internal app team building some REST webservices and they wanted to know the practical limits of GET URL length. Now browser limits are well known, but since the clients will be programatic they wanted to know what the server limits were.

They're using java and so I tested apache+ajp+tomcat and apache+ajp+jboss, followed by tomcat and jboss standalone. (apache 2.0.49, jboss 4.0.0, tomcat 5.5.9)

In all cases url lengths of 8000 characters were processed correctly, but 8100 characters consistently caused failures in the webservers generating either a 500 error or just closing the socket.

Having thought about it, this could be a tomcat thing since jboss 4.0.0. embeds tomcat as the internal container. If I get the chance I might get round to trying a standalone apache (e.g. using CGI or something). (The http spec puts no limits on URLs btw)