Timezone in HTTP Header
[I have been thinking about this problem in the back of my head for the past few months. A Lazyweb request is in order.]
Web services are used from all over the globe. How is it that the HTTP request does not include the timezone the request is coming from?
Context: A few years ago I wrote a multi-system calendar widget in PHP, called Behdad Calendar
. It has many Iranians users in and out of Iran. Since the service is run on my web server somewhere in the western world, most Iranians in Iran see the date wrong for about one-third of the day.
My first response to this was "cool, I just need to adjust to the user's timezone which I can easily find somewhere in the HTTP request". Then I failed to find that. Then I noticed the stupid pattern: any complex-enough web application asks me to enter my timezone. Something my browser perfectly knows already.
So, why is that? How to fix it? Is there anything I've been missing?
[Before someone mentions, yes, some hosting companies will start blocking out Iranian users based on their uniquely distinct +3:30 timezone. Then again, Iranians are used to using anonymizers to work around various filters, originated in Iran or out.]
Labels: calendar, http, lazyweb, web2.0