為了支持304response,測試了 MSXML2.XMLHTTP.5.0,MSXML2.XMLHTTP.4.0,MSXML2.XMLHTTP.3.0,MSXML2.XMLHTT,Microsoft.XMLHTTP,MSXML2.DOMDocument.5.0,MSXML2.DOMDocument.3.0,MSXML2.DOMDocument,Microsoft.XMLDOM 用get方式分別去拉取一個(gè)允許304response的xml資源。結(jié)果發(fā)現(xiàn):
MSXML2.XMLHTTP.5.0 可以直接讀取到本機(jī)cache,不發(fā)出請求。但是沒有辦法根據(jù)本機(jī)的cache版本的last-modified時(shí)間去要求服務(wù)器驗(yàn)證并返回304,只能依靠腳本來控制是否允許cache。
MSXML2.XMLHTTP.4.0,MSXML2.XMLHTTP.3.0,MSXML2.XMLHTT,Microsoft.XMLHTTP,MSXML2.DOMDocument.4.0,MSXML2.DOMDocument.3.0,MSXML2.DOMDocument,Microsoft.XMLDOM 這幾個(gè)家伙全部根據(jù)操作系統(tǒng)不同,要么不支持cache,要么不發(fā)送請求,直接返回cache的版本,無法要求服務(wù)器驗(yàn)證并返回304。
惟一可以正確發(fā)送if-modified-since頭部的控件是:MSXML2.DOMDocument.5.0
MSXML2.XMLHTTP.6.0,,MSXML2.DOMDocument.6.0,MSXML3.DOMDocument等本機(jī)都不支持,無法測試。
每個(gè)版本的xmlhttp和xmldom都各有各的問題,唉,M$又讓偶失望了。