Are there really HTTP 1.0 servers out there still?

On 2006-09-13, at 12:32 EDT, Jim Grandy wrote:

> This doesn't work in HTTP 1.0, but can we detect HTTP 1.0 and use  
> the clean solution only for more modern servers?
>
> On Sep 13, 2006, at 4:18 AM, P T Withington wrote:
>
>> So the [cache request directive](http://www.w3.org/Protocols/rfc2616/
>> rfc2616-sec14.html#sec14.9.1) is not sufficient?  Do we use that?  I
>> agree with Max, we _really_ need to document kludges like this...
>>
>> On 2006-09-13, at 01:34 EDT, Max Carlson wrote:
>>
>>> Adding this extra mystery query arg has always freaked me out.
>>> Backends
>>> that don't know to ignore it will get confused...  At the very
>>> least, we
>>> need to document this behavior so developer don't get confused also!
>>>
>>> -Max
>>>
>>> [EMAIL PROTECTED] wrote:
>>>> Author: hqm
>>>> Date: 2006-09-12 20:07:10 -0700 (Tue, 12 Sep 2006)
>>>> New Revision: 1825
>>>>
>>>> Added:
>>>>    openlaszlo/branches/legals/test/lfc/data/httpsequence.jsp
>>>>    openlaszlo/branches/legals/test/lfc/data/
>>>> testclientcachebreaker.lzx
>>>> Modified:
>>>>    openlaszlo/branches/legals/WEB-INF/lps/lfc/data/
>>>> LzHTTPDatasource.lzs
>>>>    openlaszlo/branches/legals/WEB-INF/lps/lfc/kernel/dhtml/
>>>> LzHTTPLoader.js
>>>>    openlaszlo/branches/legals/test/lfc/data/alldata.lzx
>>>>    openlaszlo/branches/legals/test/lfc/data/testsetheaders.lzx
>>>> Log:
>>>> Change change.LscKi6240.txt by [EMAIL PROTECTED] /home/hqm/src/
>>>> svn/openlaszlo/branches/legals/WEB-INF/lps/lfc/ on 2006-09-12
>>>> 23:02:57 EDT
>>>>
>>>> Summary: add cache breaking query arg to SOLO requests
>>>>
>>>> New Features:
>>>>
>>>> Bugs Fixed: LPPP-2677
>>>>
>>>> Technical Reviewer: (pending)
>>>> QA Reviewer: (pending)
>>>> Doc Reviewer: (pending)
>>>>
>>>> Documentation:
>>>>
>>>> Release Notes:
>>>>
>>>> Details:
>>>>
>>>> The cache breaking query arg was only being added to proxied  
>>>> requests
>>>>
>>>>
>>>> Tests:
>>>>
>>>> test/lfc/data/alldata.lzx
>>>>
>>>>
>>>>
>>>>
>>>> Modified: openlaszlo/branches/legals/WEB-INF/lps/lfc/data/
>>>> LzHTTPDatasource.lzs
>>>> ===================================================================
>>>> --- openlaszlo/branches/legals/WEB-INF/lps/lfc/data/
>>>> LzHTTPDatasource.lzs       2006-09-12 22:42:41 UTC (rev 1824)
>>>> +++ openlaszlo/branches/legals/WEB-INF/lps/lfc/data/
>>>> LzHTTPDatasource.lzs       2006-09-13 03:07:10 UTC (rev 1825)
>>>> @@ -101,7 +101,17 @@
>>>>
>>>>      if (proxied) {
>>>>          url = tloader.makeProxiedURL(url, this.reqtype);
>>>> -    }
>>>> +    }  else {
>>>> +        // break the browser cache by creating an arg with a
>>>> unique value
>>>> +        if (!forset.clientcacheable) {
>>>> +            var cachebreak = "__lzbc__="+(new Date()).getTime();
>>>> +            if (url.indexOf('?') >= 0) {
>>>> +                url = url + "&" + cachebreak;
>>>> +            } else {
>>>> +                url = url + "?" + cachebreak;
>>>> +            }
>>>> +        }
>>>> +    }
>>>>
>>>>      // [todo hqm 09-2006] For proxied requests, should the HTTP
>>>> method
>>>>      // (GET/POST) of the client->server HTTP method match the
>>>> @@ -140,6 +150,11 @@
>>>>      forset.rawtext = d.rawtext;
>>>>      var proxied = this.isProxied(forset);
>>>>
>>>> +    if (d == null) {
>>>> +        forset.gotError("client could not parse XML from server");
>>>> +        return;
>>>> +    }
>>>> +
>>>>      if (d.childNodes[0].nodeName == "error") {
>>>>          forset.gotError(d.childNodes[0].attributes['msg']);
>>>>          return;
>>>>
>>>> Modified: openlaszlo/branches/legals/WEB-INF/lps/lfc/kernel/dhtml/
>>>> LzHTTPLoader.js
>>>> ===================================================================
>>>> --- openlaszlo/branches/legals/WEB-INF/lps/lfc/kernel/dhtml/
>>>> LzHTTPLoader.js    2006-09-12 22:42:41 UTC (rev 1824)
>>>> +++ openlaszlo/branches/legals/WEB-INF/lps/lfc/kernel/dhtml/
>>>> LzHTTPLoader.js    2006-09-13 03:07:10 UTC (rev 1825)
>>>> @@ -230,24 +230,29 @@
>>>>                  // only if "OK"
>>>>                  if (__pthis__.req.status == 200 ||
>>>> __pthis__.req.status == 304) {
>>>>                      var elt = null;
>>>> -                    var nodes =
>>>> __pthis__.req.responseXML.childNodes;
>>>> -                    //Debug.write('onreadystatechange
>>>> resposnexml=',  __pthis__.req.responseXML);
>>>> -                    //Debug.info('LzDataset.childNodes',
>>>> __pthis__.req.responseXML.nodeName, __pthis__.type);
>>>> -                    // find first content (type == 1) child node
>>>> -                    for (var i = 0; i < nodes.length; i++) {
>>>> -                        var child = nodes.item(i);
>>>> -                        if (child.nodeType == 1) {
>>>> -                            elt = child;
>>>> -                            break;
>>>> +                    var xml = __pthis__.req.responseXML;
>>>> +                    var lzxdata = null;
>>>> +                    if (xml != null) {
>>>> +                        var nodes =
>>>> __pthis__.req.responseXML.childNodes;
>>>> +                        // find first content (type == 1) child  
>>>> node
>>>> +                        for (var i = 0; i < nodes.length; i++) {
>>>> +                            var child = nodes.item(i);
>>>> +                            if (child.nodeType == 1) {
>>>> +                                elt = child;
>>>> +                                break;
>>>> +                            }
>>>>                          }
>>>> -                    }
>>>> -                    __pthis__.removeTimeout(__pthis__);
>>>> -                    var d = LzXMLTranslator.copyXML(elt,
>>>> +                        lzxdata = LzXMLTranslator.copyXML(elt,
>>>>
>>>> __pthis__.options.trimwhitespace,
>>>>
>>>> __pthis__.options.nsprefix);
>>>> +                    }
>>>> +
>>>>                      __pthis__.responseText =
>>>> __pthis__.req.responseText;
>>>> -                    //Debug.write('onreadystatechange
>>>> responseText=',__pthis__.req.responseText);
>>>> +                    __pthis__.removeTimeout(__pthis__);
>>>>
>>>> +                    Debug.write('onreadystatechange
>>>> responseXML=',xml);
>>>> +                    Debug.write('onreadystatechange
>>>> responseText=',__pthis__.req.responseText);
>>>> +
>>>>                      /**** DEBUGGING
>>>>                      var xmlSerializer = new XMLSerializer();
>>>>                      var markup = xmlSerializer.serializeToString
>>>> (elt);
>>>> @@ -255,7 +260,7 @@
>>>>                       *** /DEBUGGING
>>>>                       */
>>>>
>>>> -                    __pthis__.loadSuccess(__pthis__, d);
>>>> +                    __pthis__.loadSuccess(__pthis__, lzxdata);
>>>>                  } else {
>>>>                      __pthis__.loadError(__pthis__, null);
>>>>                  }
>>>>
>>>> Modified: openlaszlo/branches/legals/test/lfc/data/alldata.lzx
>>>> ===================================================================
>>>> --- openlaszlo/branches/legals/test/lfc/data/alldata.lzx   
>>>> 2006-09-12 22:42:41 UTC (rev 1824)
>>>> +++ openlaszlo/branches/legals/test/lfc/data/alldata.lzx   
>>>> 2006-09-13 03:07:10 UTC (rev 1825)
>>>> @@ -18,6 +18,7 @@
>>>>      <include href="testrawpost.lzx"/>
>>>>      <include href="testrawpost-solo.lzx"/>
>>>>      <include href="testheaderresponse.lzx"/>
>>>> +    <include href="testclientcachebreaker.lzx"/>
>>>>
>>>>      <TestSuite>
>>>>          <TestDatanode/>
>>>> @@ -35,6 +36,7 @@
>>>>          <TestRawPost/>
>>>>          <TestRawPostSOLO/>
>>>>          <TestResponseHeaders/>
>>>> +        <TestClientCacheBreaker/>
>>>>      </TestSuite>
>>>>  </canvas>
>>>>  <!-- * X_LZ_COPYRIGHT_BEGIN
>>>> ***************************************************
>>>>
>>>> Added: openlaszlo/branches/legals/test/lfc/data/httpsequence.jsp
>>>>
>>>>
>>>> Property changes on: openlaszlo/branches/legals/test/lfc/data/
>>>> httpsequence.jsp
>>>> ___________________________________________________________________
>>>> Name: svn:mime-type
>>>>    + text/plain
>>>> Name: svn:eol-style
>>>>    + native
>>>>
>>>> Added: openlaszlo/branches/legals/test/lfc/data/
>>>> testclientcachebreaker.lzx
>>>>
>>>>
>>>> Property changes on: openlaszlo/branches/legals/test/lfc/data/
>>>> testclientcachebreaker.lzx
>>>> ___________________________________________________________________
>>>> Name: svn:mime-type
>>>>    + text/plain
>>>> Name: svn:eol-style
>>>>    + native
>>>>
>>>> Modified: openlaszlo/branches/legals/test/lfc/data/ 
>>>> testsetheaders.lzx
>>>> ===================================================================
>>>> --- openlaszlo/branches/legals/test/lfc/data/testsetheaders.lzx    
>>>> 2006-09-12 22:42:41 UTC (rev 1824)
>>>> +++ openlaszlo/branches/legals/test/lfc/data/testsetheaders.lzx    
>>>> 2006-09-13 03:07:10 UTC (rev 1825)
>>>> @@ -9,9 +9,13 @@
>>>>      <attribute name="waitcnt" value="0"/>
>>>>
>>>>      <datapointer xpath="edata:/echo" name="dp"
>>>> -                 oninit="parent.sendit()"
>>>> -                 ondata="parent.dpready = true"/>
>>>> +                 oninit="parent.sendit()" />
>>>>
>>>> +    <handler reference="edata" name="ondata">
>>>> +       Debug.write('testcase got edata ondata');
>>>> +       this.dpready = true;
>>>> +    </handler>
>>>> +
>>>>      <method name="sendit">
>>>>        edata.setHeader("content-type", "application/xml");
>>>>        edata.setQueryType("POST");
>>>>
>>>>
>>>> _______________________________________________
>>>> Laszlo-checkins mailing list
>>>> [EMAIL PROTECTED]
>>>> http://www.openlaszlo.org/mailman/listinfo/laszlo-checkins
>>>
>>> _______________________________________________
>>> Laszlo-dev mailing list
>>> [email protected]
>>> http://www.openlaszlo.org/mailman/listinfo/laszlo-dev
>>
>>
>> _______________________________________________
>> Laszlo-dev mailing list
>> [email protected]
>> http://www.openlaszlo.org/mailman/listinfo/laszlo-dev
>


_______________________________________________
Laszlo-dev mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-dev

Reply via email to