At work we ran up against the problem of setting server-side cookies – a lot of them. Right now we have a PHP script, the sole purpose of which is to set a cookie on the client for our domain. This happens a lot more than ‘normal’ requests to the server (which is running an app), so we’ve discussed moving it to its own server. This would be an Apache server, probably dedicated, with one PHP script 3 lines long, just running over and over again.
Surely there must be a faster, better way of doing this, rather than starting up the whole PHP environment. Basically, I need something super simple that can sit around all day/night doing the following:
- Check if a certain cookie is set, and
- If that cookie is not set, fill it with a random hash (right now it’s a simple
md5(microtime))
Any suggestions?
You could create a simple http server yourself to accept requests and return the set-cookie header and empty body. This would allow you to move the cookie generation overhead to wherever you see fit.
I echo the sentiments above though; Unless cookie generation is significantly expensive, I don’t think you will gain much by moving from your current setup.
By way of an example, here is an extremely simple server written with Tornado that simply sets a cookie on GET or HEAD requests to ‘/’. It includes an async example listening for ‘/async’ which may be of use depending on what you are doing to get your cookie value.
Launch this process with Supervisord and you’ll have a simple, fast, low-overhead server that sets cookies.