Re: [PHP] [RFC] HTTP timezone

2007-06-11 Thread Stefanos Harhalakis
On Monday 11 June 2007 16:05, Lester Caine wrote:
 Timezone information is only of use for the CURRENT day - even if it is
 wrong. It is ESSENTIAL that any changes also include the daylight saving
 information. Since this is not included, all current sites handling event
 related information in real time need to manually log a users PROPER time
 and daylight saving information so that they know if 8AM today is the same
 as 8AM tomorrow.

  Since HTTP is a query and response protocol, timezone information will be 
sent on each query. Lets say that it is XX of month Y 1:59 and that the 
timeoffset is changed at '2:00' by +1. A request  sent at 1:59 will have an 
offset, lets say +0200. A request sent at 3:00 (that's one minute after 1:59) 
will have an offset of +0300. 

  Full timezone information requires a POSIX 1003.1 timezone string that is 
quite complex to parse and support, since the server side script must be able 
to identify all of the available timezones. The first draft proposed this 
representation but was changed after the suggestions of ietf-http-wg mailing 
list people to only include the offset for simplicity.

  Timezone information is not meant to be stored as session information nor 
being used for anything else than one-time time/date representation. It is 
just a way for the client to say: If you're going to show me something that 
is time related then you should know that you should represent it using this 
offset from GMT. Something like the Accepted-Language header.

  Lets say you're viewing an MRTG generated graph. This graph uses the time as 
the X-axis value. Lets say that the server is in Greece where the offset is 
+0200 (+0300 during DST) and that the time is 14:10. The graph will end its X 
axis at the current time (14:10). Someone from the UK visits the graph page 
and he should see the same graph ending in 12:10 (UK is +). An incorrect 
timezone string will only result in 'bad' time representation which will be 
the case anyway (without TZ).

  There is no need to include the DST information since when on DST the client 
will be sending the propper offset. For example, EET+2EEST is +0200 during 
winter and +0300 during DST.

  Hope this clears things a bit... 

  By the way, what makes you think that most people have an invalid timezone 
configured? Windows XP have NTP support that is enabled by default. Without a 
proper timezone this should result in an always invalid time. Linux and BSD 
systems have more experienced users that set their timezone correctly most of 
the time.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] [RFC] HTTP timezone

2007-06-11 Thread Stefanos Harhalakis
On Monday 11 June 2007 18:15, Lester Caine wrote:
 calender of events over a change in daylight saving I NEED to know !!!

  I believe that I finally understand your thoughts. You mean that you need to 
use the timezone information to know when in the future the time will change 
(or in the past). I believe that you're correct.

  I assume that providing the current offset and the timezone as two separate 
strings would be the most appropriate thing. The offset will provide 
simplicity for simple applications. The timezone will provide full 
information for applications that support it and the browser will not need to 
do much work since both of them are immediately available (Just a sprintf()).

  What about something like:

Timezone: offset; posix_timezone

for example:

Timezone: +0200; EET-2EEST

?

 Correct, so people select the timezone that gives the right time, if the
 daylight saving switch is off. And then the calendar gives the wrong times
 when trying to display a weekend containing a daylight saving change. (
 THAT one wasted a few hours before we twigged what was wrong - since the
 clock was right :) )

  Your comments are of great importance to this attempt. I'll be glad if we 
can come with a solution that will fit your experienced needs on this 
subject. This may help other people too.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] [RFC] HTTP timezone

2007-06-10 Thread Stefanos Harhalakis
On Sunday 10 June 2007, Tijnema wrote:
 On 6/9/07, Richard Lynch [EMAIL PROTECTED] wrote:
  On Sat, June 9, 2007 8:06 am, Stefanos Harhalakis wrote:
   Timezone: +0200
  
   that will specify their timezone offset. This way scripts will be able
   to
   provide appropriate date/time strings/representations and/or content.
 
  It's pretty useless and unreliable since user's clocks/timezone
  settings are incorrect far too often...
 
  YMMV

 I agree with you, clock settings are incorrect way too often, I just
 checked my own, and I see that the time is correct, but the Timezone
 is at GMT, while i live in GMT+1, but in summer, it's GMT+2.
 That brings me to the next point, what about DST?
 I've read your complete draft, and it doesn't say anything about DST,
 What should browsers send for my country? +0100 or +0200?

In DST the offset from UTC is adjusted and thus it will become +2 in your 
case. Perhaps a note about DST would be usefull. The original idea was to use 
the POSIX 1003.1 timezone string that optionally includes the DST information 
but this introduces a lot of complexity and was changed to include just the 
current offset.

 Ps. what's the next thing we send to the browser? We already sent a
 lot of info through the user-agent header... Next year we send our
 computers specs to the server so that we get a site that is made for
 the performance of our computer?

Perhaps you didn't had a need about this in the past. Have you ever tried 
looking at graphs that include time information in them? Just have a look at 
mrtg graphs or stock graphs and try to figure what time each point is 
supposed to represent.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] [RFC] HTTP timezone

2007-06-10 Thread Stefanos Harhalakis
On Sunday 10 June 2007, Tijnema wrote:
 To get back to the point, I think that the timezone should be defined
 on what time it actually is at his PC, and what time it is on
 time.nist.gov for example, and not lookng at some setting... Timezone
 setting is often wrong, people just update their time to match the
 time of their watch. This sets the UTC time wrong too, but still
 displays the right time to the user. So if you compare this time to
 time on web servers that are allways right, and you compare the
 difference between that, then you know the timezone that is probably
 right.

  Timezone is a property of the user and some times of the session. It is not 
a property of a system. Different users of a system may use different 
timezones (unless they use Windows where they can't). 

  Anyway, I strongly believe that the issue of providing the correct timezone 
should be a concern of the end user and the browser. Any error checking and 
workarounds should be performed by those two and not by the server side 
scripts.

  In any way, there is no guarantee that the timezone information provided by 
clients will be correct. That's why it should only be used for informational 
purposes and not for security etc.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] [RFC] HTTP timezone

2007-06-09 Thread Stefanos Harhalakis
Hello there,

  I'm currently writting and Internet Draft candidate to describe an HTTP 
header that will be used to transfer timezone information from browsers to 
servers. Compliant browsers will need to send a timezone string:

Timezone: +0200

that will specify their timezone offset. This way scripts will be able to 
provide appropriate date/time strings/representations and/or content.

  I'm sending this email as a request for comments. Any ideas/suggestions will 
be greatly appreciated and will help in forming the final document.

  You can find the current draft in: 
http://www.it.teithe.gr/~v13/draft-sharhalakis-httptz-02.txt

  This and all future versions will be available in the IETF I-D database at: 
https://datatracker.ietf.org/public/idindex.cgi
Just search for 'httptz'. Revision 02 will be available really soon in the I-D 
DB too.

  Please CC me since I'm not subscribed to the mailing list.

Harhalakis Stefanos

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] [RFC] HTTP timezone

2007-06-09 Thread Stefanos Harhalakis
On Saturday 09 June 2007, Daniel Brown wrote:
 On 6/9/07, Stefanos Harhalakis [EMAIL PROTECTED] wrote:
I'm currently writting and Internet Draft candidate to describe an HTTP
  header that will be used to transfer timezone information from browsers
  to servers. Compliant browsers will need to send a timezone string:
 
 It's a good idea, but in no way related to PHP.

  Just wanted the opinion of PHP people/developers since PHP programmers will 
be most affected by this. Can you point me to the proper php related list to 
ask?

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] [RFC] HTTP timezone

2007-06-09 Thread Stefanos Harhalakis
On Saturday 09 June 2007, Stut wrote:
Just wanted the opinion of PHP people/developers since PHP programmers
  will be most affected by this. Can you point me to the proper php related
  list to ask?

 I fail to see how PHP programmers will be most affected by this since
 it would equally apply to any web developer using any language.

By saying PHP programmers I mean people using PHP to write programs and not 
developers of the PHP language. I'm saying 'most' since the majority of 
dynamic web pages are written in PHP. Of course anyone writting non-static 
web content will be able to use it.

 However, I like the idea but would modify it slightly such that it send
 an RFC 2822 formatted date which will include the timezone but would
 also allow the server to determine if the datetime on the client is
 wrong. This can be important for applications that make extensive use of
 client-side technologies such as Javascript.

I've already thought about providing the full time but I didn't find any 
applications. Can you provide some examples about its usage? How can you tell 
whether a user has wrong time and not wrong timezone?

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] [RFC] HTTP timezone

2007-06-09 Thread Stefanos Harhalakis
On Saturday 09 June 2007, Stut wrote:
 Stefanos Harhalakis wrote:
 I meant people using PHP to write programs also. I would dispute your
 assertion that the majority of dynamic web pages are written in PHP. I
 would accept an assertion that PHP is one of the most widely used
 languages for web development.

 But this is all more off-topic than your original request.

Should we stop CCing the list?

  However, I like the idea but would modify it slightly such that it send
  an RFC 2822 formatted date which will include the timezone but would
  also allow the server to determine if the datetime on the client is
  wrong. This can be important for applications that make extensive use of
  client-side technologies such as Javascript.
 
  I've already thought about providing the full time but I didn't find any
  applications. Can you provide some examples about its usage? How can you
  tell whether a user has wrong time and not wrong timezone?

 You can't. But just because we can't immediately think of a use doesn't
 mean uses don't exist.

 Now, to the point. Including the time would only slightly modify RFC
 2616 which states that Clients SHOULD only send a Date header field in
 messages that include an entity-body, as in the case of PUT and POST
 requests, and even then it is optional (section 14.18).

 I don't know the reason for that clause excluding other requests, but
 you would be well-advised to find out why before submitting your RFC. In
 any event, adding a new header seems daft to me when there is an
 existing header that is currently acceptable in certain cases that
 includes the information your new header would provide.

 In my opinion your RFC should recommend that Clients SHOULD send a Date
 header with every request unless the client does not have a clock. A
 client without a clock MUST NOT send a Date header field in a  request.

I don't know the reason either but I'll ask the http-wg mailing list about it. 
As for the date, since HTTP1.1 covers this, an RFC that overlaps with it will 
not be accepted. Apart from that, it would need an RFC that would obsolete 
RFC2616 which I'd preffer not to do. Most probably we will need a new HTTP 
version since this will produce an incompatible protocol.

As for the usage of client Date/Time information, as a programmer I know that 
I'd never use this at the server side because of errors and malicious usage. 
Knowing the clients time isn't something usefull since the server side 
already knows it, assuming that the client has correct time. If the client 
side has an incorrect clock setting the why should one use this? Even if 
there is a reason, I believe that javascript would fit this need.

Finally, modifying the Date field to include the clients timezone offset would 
result once again in an incompatible protocol.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] [RFC] HTTP timezone

2007-06-09 Thread Stefanos Harhalakis
On Sunday 10 June 2007, Richard Lynch wrote:
 On Sat, June 9, 2007 8:06 am, Stefanos Harhalakis wrote:
  Timezone: +0200
 
  that will specify their timezone offset. This way scripts will be able
  to
  provide appropriate date/time strings/representations and/or content.

 It's pretty useless and unreliable since user's clocks/timezone
 settings are incorrect far too often...

I'm only considering the timezone information. I believe that this is not the 
proper way to think before making a start. The fact that many user's timezone 
is incorrect doesn't mean that this is not needed. Lets just hope that one 
day Windows will do the right thing and keep the time in UTC while displaying 
it using the appropriate timezone.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php