<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Client Side Web Development</title><link>http://forums.asp.net/130.aspx</link><description>Client-side programming discussions, including CSS, DHTML, JScript/Javascript, etc. &lt;a href="http://aspadvice.com/SignUp/list.aspx?l=18&amp;c=16" target="_blank"&gt;Email List&lt;/a&gt;</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Re: Difference between MSXML2.XmlHttp and Microsoft.XmlHttp ProgIDs</title><link>http://forums.asp.net/thread/3511365.aspx</link><pubDate>Fri, 13 Nov 2009 16:35:06 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3511365</guid><dc:creator>Fotiman</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3511365.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=130&amp;PostID=3511365</wfw:commentRss><description>&lt;p&gt;Deleted duplicate post.&lt;/p&gt;</description></item><item><title>Re: Difference between MSXML2.XmlHttp and Microsoft.XmlHttp ProgIDs</title><link>http://forums.asp.net/thread/3511363.aspx</link><pubDate>Fri, 13 Nov 2009 16:34:06 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3511363</guid><dc:creator>Fotiman</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3511363.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=130&amp;PostID=3511363</wfw:commentRss><description>&lt;p&gt;The arguments about Microsoft dropping support for the Microsoft namespace in the future are irrelevant. &amp;nbsp;That has already happened. &amp;nbsp;You can not get an MSXML2.XMLHTTP.6.0 object using the Microsoft.XMLHTTP namespace (and nor can you get an MSXML2.XMLHTTP.6.0 object using the MSXML2.XMLHTTP namespace only). &amp;nbsp;&lt;/p&gt;&lt;p&gt;If you want to support IE5, IE5.5, and IE6 you NEED to use Microsoft.XMLHTTP.&lt;/p&gt;&lt;p&gt;If you want to support only IE6 (and explicitly NOT support IE5 and IE5.5), then you should include MSXML2.XMLHTTP.&lt;/p&gt;&lt;p&gt;There is no logical reason to check BOTH MSXML2.XMLHTTP and Microsoft.XMLHTTP, unless you intend to identify (perhaps via log messages) that the user may be using an unsupported implementation. &amp;nbsp;For example, if MSXML2.XMLHTTP does not work, but Microsoft.XMLHTTP does work, then you know the client is IE5 or IE5.5 and might be at higher risk for problems. &amp;nbsp;If, however, you are not bothering to make this distinction, then it is pointless to check for both.&lt;/p&gt;&lt;p&gt;With that said, I believe the best approach is to check for MSXML2.XMLHTTP.6.0, then Microsoft.XMLHTTP (if you want to support the widest range of IE browsers). &amp;nbsp;In this case, if MSXML2.XMLHTTP.6.0 is not available, then Microsoft.XMLHTTP will pick up the next available version from version 3.0 down.&lt;/p&gt;&lt;p&gt;If you only want to support browsers back to IE6, then check for MSXML2.XMLHTTP.6.0, then MSXML2.XMLHTTP. &amp;nbsp;In this case, if MSXML2.XMLHTTP.6.0 is not available, then MSXMLHTTP will pick up the next available version from version 3.0 down (excluding old IE5/5.5 installations).&lt;/p&gt;&lt;p&gt;If you only want to support browsers back to IE6 and only using 6.0 or 3.0 (and nothing older), then check for MSXML2.XMLHTTP.6.0, then MSXML2.XMLHTTP.3.0. This will not match older versions that might be running 2.6 or earlier.&lt;/p&gt;&lt;p&gt;Reference:&lt;/p&gt;&lt;p&gt;&lt;a href="http://support.microsoft.com/kb/269238"&gt;http://support.microsoft.com/kb/269238&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: Difference between MSXML2.XmlHttp and Microsoft.XmlHttp ProgIDs</title><link>http://forums.asp.net/thread/2900620.aspx</link><pubDate>Thu, 29 Jan 2009 11:06:20 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2900620</guid><dc:creator>Wukfit</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2900620.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=130&amp;PostID=2900620</wfw:commentRss><description>&lt;p&gt;Your right - I don&amp;#39;t think using the deprecated namespace is the right way to go - also the code from Dojo above doesn&amp;#39;t test for the lastest version (MSXML2.XMLHTTP.6.0).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;I use the following code (as per M$ recommendation):&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;pre class="coloredcode"&gt;        var tr = !!window.clientInformation,
	progids = [&lt;span class="st"&gt;&amp;#39;MSXML2.XMLHTTP.6.0&amp;#39;&lt;/span&gt;, &lt;span class="st"&gt;&amp;#39;MSXML2.XMLHTTP.3.0&amp;#39;&lt;/span&gt;, &lt;span class="st"&gt;&amp;#39;Microsoft.XMLHTTP&amp;#39;&lt;/span&gt;],
	sProgid = &lt;span class="kwd"&gt;null&lt;/span&gt;;
	
	&lt;span class="cmt"&gt;// Wrapper for IE&amp;#39;s ActiveObject&lt;/span&gt;
	&lt;span class="kwd"&gt;if&lt;/span&gt; (tr &amp;amp;&amp;amp; !window.XMLHttpRequest) {
		&lt;span class="cmt"&gt;// Returns null if the ActiveX Object can&amp;#39;t be created&lt;/span&gt;
		window.XMLHttpRequest = function () {
			&lt;span class="cmt"&gt;// Holds a ref to the ActiveXObject or null...&lt;/span&gt;
			var xhr = &lt;span class="kwd"&gt;null&lt;/span&gt;,
			i = 0;
	
			&lt;span class="cmt"&gt;/* 
			 * Try version 6 first, (the most recent version as of March 2008),
			 * then version 3 (Win2k+) - these two versions are the only ones
			 * offically supported by Microsoft.
			 * 
			 * If these fail fallback to any available version, however,
			 * do we want to do this as we are unable to test this scenario?
			 * 
			 * 6.0 Shipped from Nov 2005 - &amp;quot;in the box&amp;quot; with Vista
			 * 3.0 Most widely deployed - available on W2k+
			 * 
			 * @see http://blogs.msdn.com/xmlteam/archive/2006/10/23/using-the-right-version-of-msxml-in-internet-explorer.aspx
			 */&lt;/span&gt;
			&lt;span class="kwd"&gt;if&lt;/span&gt; (sProgid) {
				xhr = &lt;span class="kwd"&gt;new&lt;/span&gt; window.ActiveXObject(sProgid);
			} &lt;span class="kwd"&gt;else&lt;/span&gt; {
				&lt;span class="kwd"&gt;for&lt;/span&gt; (; i &amp;lt; progids.length; i += 1) {
					&lt;span class="kwd"&gt;try&lt;/span&gt; {
						xhr = &lt;span class="kwd"&gt;new&lt;/span&gt; window.ActiveXObject(progids[i]);
						sProgid = progids[i];
						&lt;span class="kwd"&gt;break&lt;/span&gt;;
					} &lt;span class="kwd"&gt;catch&lt;/span&gt; (e) {
						&lt;span class="cmt"&gt;// Consume...&lt;/span&gt;
					}
				}
			}
			
			&lt;span class="kwd"&gt;return&lt;/span&gt; (xhr || &lt;span class="kwd"&gt;null&lt;/span&gt;);
		};
	}&lt;/pre&gt;&amp;nbsp;</description></item><item><title>Re: Difference between MSXML2.XmlHttp and Microsoft.XmlHttp ProgIDs</title><link>http://forums.asp.net/thread/2899334.aspx</link><pubDate>Wed, 28 Jan 2009 22:49:53 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2899334</guid><dc:creator>Nath-22</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2899334.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=130&amp;PostID=2899334</wfw:commentRss><description>&lt;p&gt;That&amp;#39;s true, think of it instead as &amp;quot;future revisions of MSXML2 may not support the Microsoft namespace&amp;quot;.&lt;/p&gt;&lt;p&gt;Maybe the reason they do it, is simply because MSXML2.XmlHttp is the preferred namespace, so they test for that first, however if your browser/COM object whatever you want to call it, doesn&amp;#39;t support the MSXML2.XmlHttp namespace, use the Microsoft.XmlHttp namespace instead.&lt;/p&gt;&lt;p&gt;You shouldn&amp;#39;t favour/encourage the use of a deprecated method, regardless of whether or not you think it works better or makes more sense (I am guilty of this by using COMPUTE in my T-SQL 2005 queries).&lt;/p&gt;&lt;p&gt;I think you are also partly right with your lack of documentation theory;&amp;nbsp; people may have seen it used in what examples they could find supplied by Microsoft and implemented the same or similar code in their own toolkit, without actually knowing why it was used in the first place.&lt;/p&gt;&lt;p&gt;My thoughts were on the original reason behind it, or, &amp;quot;Why would you want to test for both?&amp;quot;and not &amp;quot;I did it because I saw somebody else do it.&amp;quot;&lt;/p&gt;&lt;p&gt;Anyway, you&amp;#39;re right, we&amp;#39;ll probably never know the real reason without hearing from someone who knows first hand. &lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: Difference between MSXML2.XmlHttp and Microsoft.XmlHttp ProgIDs</title><link>http://forums.asp.net/thread/2897289.aspx</link><pubDate>Wed, 28 Jan 2009 09:23:21 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2897289</guid><dc:creator>Wukfit</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2897289.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=130&amp;PostID=2897289</wfw:commentRss><description>&lt;p&gt;@Nath-22 Remember&amp;nbsp;MSXML is&amp;nbsp;not tied to a particular browser version and can be updated independantly.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;I still think it&amp;#39;s lack of good documentation &lt;img src="http://forums.asp.net/emoticons/emotion-1.gif" alt="Smile" /&gt;&amp;nbsp;- I can find no evidence that say, DOJO (for instance)&amp;nbsp;is doing anything &lt;em&gt;special&lt;/em&gt; with Msxml2.XMLHTTP.4.0 -- unless someone from Dojo (or any of the other js toolkits)&amp;nbsp;wants to comment?&lt;/p&gt;
&lt;p&gt;Latest Version (1.2.3)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;pre class="coloredcode"&gt;		&lt;span class="cmt"&gt;// These are in order of decreasing likelihood; this will change in time.&lt;/span&gt;
		d._XMLHTTP_PROGIDS = [&lt;span class="st"&gt;&amp;#39;Msxml2.XMLHTTP&amp;#39;&lt;/span&gt;, &lt;span class="st"&gt;&amp;#39;Microsoft.XMLHTTP&amp;#39;&lt;/span&gt;, &lt;span class="st"&gt;&amp;#39;Msxml2.XMLHTTP.4.0&amp;#39;&lt;/span&gt;];

		d._xhrObj = function(){
			&lt;span class="cmt"&gt;// summary: 
			//		does the work of portably generating a new XMLHTTPRequest
			//		object.&lt;/span&gt;
			var http = &lt;span class="kwd"&gt;null&lt;/span&gt;;
			var last_e = &lt;span class="kwd"&gt;null&lt;/span&gt;;
			&lt;span class="kwd"&gt;if&lt;/span&gt;(!dojo.isIE || !dojo.config.ieForceActiveXXhr){
				&lt;span class="kwd"&gt;try&lt;/span&gt;{ http = &lt;span class="kwd"&gt;new&lt;/span&gt; XMLHttpRequest(); }&lt;span class="kwd"&gt;catch&lt;/span&gt;(e){}
			}
			&lt;span class="kwd"&gt;if&lt;/span&gt;(!http){
				&lt;span class="kwd"&gt;for&lt;/span&gt;(var i=0; i&amp;lt;3; ++i){
					var progid = d._XMLHTTP_PROGIDS[i];
					&lt;span class="kwd"&gt;try&lt;/span&gt;{
						http = &lt;span class="kwd"&gt;new&lt;/span&gt; ActiveXObject(progid);
					}&lt;span class="kwd"&gt;catch&lt;/span&gt;(e){
						last_e = e;
					}

					&lt;span class="kwd"&gt;if&lt;/span&gt;(http){
						d._XMLHTTP_PROGIDS = [progid];  &lt;span class="cmt"&gt;// so faster next time&lt;/span&gt;
						&lt;span class="kwd"&gt;break&lt;/span&gt;;
					}
				}
			}

			&lt;span class="kwd"&gt;if&lt;/span&gt;(!http){
				&lt;span class="kwd"&gt;throw new&lt;/span&gt; Error(&lt;span class="st"&gt;&amp;quot;XMLHTTP not available: &amp;quot;&lt;/span&gt;+last_e);
			}

			&lt;span class="kwd"&gt;return&lt;/span&gt; http; &lt;span class="cmt"&gt;// XMLHTTPRequest instance&lt;/span&gt;
		}
&lt;/pre&gt;&amp;nbsp;</description></item><item><title>Re: Difference between MSXML2.XmlHttp and Microsoft.XmlHttp ProgIDs</title><link>http://forums.asp.net/thread/2896857.aspx</link><pubDate>Wed, 28 Jan 2009 06:12:16 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2896857</guid><dc:creator>Nath-22</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2896857.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=130&amp;PostID=2896857</wfw:commentRss><description>&lt;p&gt;Hi All,

I know this topic is really, REALLY old and everyone has put their two cents in by now, but here&amp;#39;s mine:&lt;/p&gt;&lt;p&gt;Think of it as &amp;quot;forward compatibility&amp;quot;, I think it has been touched on previously: there&amp;#39;s no telling if/when they will completely drop support for the deprecated namespace (that&amp;#39;s Microsoft.XmlHttp) in favor of the newer one (MSXML2.XmlHttp).&lt;/p&gt;&lt;p&gt;Also, as previously mentioned, older browsers will NOT support the newer namespace.

Future browsers may not support Microsoft.XmlHttp, and older browsers won&amp;#39;t support MXML2.XmlHttp.

Seeings as either namespace will do, they test for both.&lt;/p&gt;&lt;p&gt;Makes sense to me, anyhow.&lt;/p&gt;</description></item><item><title>Re: Difference between MSXML2.XmlHttp and Microsoft.XmlHttp ProgIDs</title><link>http://forums.asp.net/thread/2730892.aspx</link><pubDate>Fri, 07 Nov 2008 10:25:13 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2730892</guid><dc:creator>Wukfit</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2730892.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=130&amp;PostID=2730892</wfw:commentRss><description>&lt;p&gt;Hi there webjose,&lt;/p&gt;
&lt;p&gt;Just goes to show how crap/confusing MS documentaion is - posting to a 2yr old thread!&lt;/p&gt;
&lt;p&gt;I think the original question was more of a why do &amp;#39;all&amp;#39; the&amp;nbsp;Ajax Libraries test for MSXML2.XMLHttp.3.0, Microsoft.XMLHTTP, MSXML2.XMLHTTP when Microsoft.XMLHTTP will suffice?&lt;/p&gt;
&lt;p&gt;I stand by my original answer - lack of good documentation from MS.&lt;/p&gt;
&lt;p&gt;But the bigger question to ask is &amp;quot;is this really relevant any more?&amp;quot; - Do you still want to support&amp;nbsp;outdated&amp;nbsp;web browsers for this type of functionality? I know most business will be using at least win2k, probably XP/2003 sure there will be a few IE 5 users out there but looking at the logs of a public facing (non-technical) website I look after, in the last year there was only one visitor using IE5...&lt;/p&gt;
&lt;p&gt;E.g.&lt;/p&gt;
&lt;p&gt;Prototype:&lt;/p&gt;&lt;pre class="coloredcode"&gt;&lt;b id="1"&gt;1    &lt;/b&gt;  getTransport: function() {
&lt;b id="2"&gt;2    &lt;/b&gt;    &lt;span class="kwd"&gt;return&lt;/span&gt; Try.these(
&lt;b id="3"&gt;3    &lt;/b&gt;      function() {&lt;span class="kwd"&gt;return new&lt;/span&gt; XMLHttpRequest()},
&lt;b id="4"&gt;4    &lt;/b&gt;      function() {&lt;span class="kwd"&gt;return new&lt;/span&gt; ActiveXObject(&lt;span class="st"&gt;&amp;#39;Msxml2.XMLHTTP&amp;#39;&lt;/span&gt;)},
&lt;b id="5"&gt;5    &lt;/b&gt;      function() {&lt;span class="kwd"&gt;return new&lt;/span&gt; ActiveXObject(&lt;span class="st"&gt;&amp;#39;Microsoft.XMLHTTP&amp;#39;&lt;/span&gt;)}
&lt;b id="6"&gt;6    &lt;/b&gt;    ) || &lt;span class="kwd"&gt;false&lt;/span&gt;;
&lt;b id="7"&gt;7    &lt;/b&gt;  },
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;DOJO&lt;/p&gt;
&lt;p&gt;&amp;quot;Msxml2.XMLHTTP&amp;quot;,&amp;quot;Microsoft.XMLHTTP&amp;quot;,&amp;quot;Msxml2.XMLHTTP.4.0&amp;quot;&lt;/p&gt;
&lt;p&gt;YUI&lt;/p&gt;
&lt;p&gt;&lt;span class="nx"&gt;_msxml_progid&lt;/span&gt;&lt;span class="o"&gt;:[&lt;/span&gt;&lt;br /&gt;&lt;span class="s1"&gt;&amp;#39;Microsoft.XMLHTTP&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span class="s1"&gt;&amp;#39;MSXML2.XMLHTTP.3.0&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span class="s1"&gt;&amp;#39;MSXML2.XMLHTTP&amp;#39;&lt;/span&gt;&lt;br /&gt;&lt;span class="o"&gt;],&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;EXT&lt;/p&gt;
&lt;p&gt;&amp;nbsp;activeX:[&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;MSXML2.XMLHTTP.3.0&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;MSXML2.XMLHTTP&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Microsoft.XMLHTTP&amp;#39;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ]&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;JQuery&lt;/p&gt;
&lt;p&gt;var xhr = window.ActiveXObject ? new ActiveXObject(&amp;quot;Microsoft.XMLHTTP&amp;quot;) : new XMLHttpRequest();&lt;/p&gt;
&lt;p&gt;IMHO JQuery has the correct approach - as I doubt very much any of the libs are taking into account the &amp;quot;differences between the two objects...the older one only supported UTF-8&amp;quot; - MS has no documentaion that I could find on older versions... &lt;/p&gt;
&lt;p&gt;Cheers!&lt;/p&gt;</description></item><item><title>Re: Difference between MSXML2.XmlHttp and Microsoft.XmlHttp ProgIDs</title><link>http://forums.asp.net/thread/2730176.aspx</link><pubDate>Fri, 07 Nov 2008 03:05:04 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2730176</guid><dc:creator>webJose</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2730176.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=130&amp;PostID=2730176</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;Ok, old topic, I know, but I think I have the definitive answer to this question.&amp;nbsp; Here I go.&amp;nbsp;&lt;img src="http://forums.asp.net/emoticons/emotion-2.gif" alt="Big Smile" /&gt; &lt;/p&gt;&lt;p&gt;&amp;nbsp;Microsoft.XmlHttp is the ProgID of the XMLHTTPRequest object found in msxml.dll, while MSXML2.XmlHttp is found in msxml2.dll.&amp;nbsp; In Windows XP, you can find both DLLs; in Windows Vista only msxml2.dll is found.&amp;nbsp; If you only have msxml.dll, then Microsoft.XmlHttp is your only way to go; if you have the newer version, its installer redirected Microsoft.XmlHttp to the newer MSXML2.XmlHttp object found in mxml2.dll, resulting in identical objects.&lt;/p&gt;&lt;p&gt;Why do you see that code is tested for both?&amp;nbsp; Compatibility.&amp;nbsp; I don&amp;#39;t know the differences between the two objects, but someone mentioned that the older one only supported UTF-8, so on older or outdated systems where only msxml.dll exists, your code might break if it is not accounting for the shortcomings of using the older version.&lt;/p&gt;&lt;p&gt;&amp;nbsp;There! (I hope, haha)&amp;nbsp;&lt;img src="http://forums.asp.net/emoticons/emotion-4.gif" alt="Stick out tongue" /&gt; &lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: Difference between MSXML2.XmlHttp and Microsoft.XmlHttp ProgIDs</title><link>http://forums.asp.net/thread/2367062.aspx</link><pubDate>Mon, 19 May 2008 21:04:13 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2367062</guid><dc:creator>Julien de Prabere</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2367062.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=130&amp;PostID=2367062</wfw:commentRss><description>&lt;p&gt;On IE6, Microsoft.XMLHTTP seems not&amp;nbsp;to take care at charset and work only with utf-8 encoded responses, while Msxml2.XMLHTTP, like XMLHttpRequest on other browsers, &lt;br /&gt;respect the charset if it&amp;#39;s done (for exemple with an header(&amp;quot;Content-Type: text/html; charset=ISO-8859-1&amp;quot;); in PHP)&amp;nbsp;!&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;It&amp;#39;s&amp;nbsp;very&amp;nbsp;important to use pages on other code than utf-8 wich are very usefull with actual PHP...&lt;/p&gt;
&lt;p&gt;Julien de Prabère (with an accent please !)&lt;/p&gt;</description></item><item><title>Re: Difference between MSXML2.XmlHttp and Microsoft.XmlHttp ProgIDs</title><link>http://forums.asp.net/thread/1863590.aspx</link><pubDate>Fri, 17 Aug 2007 14:56:47 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1863590</guid><dc:creator>A1ien51</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/1863590.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=130&amp;PostID=1863590</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="/Themes/fan/images/icon-quote.gif"&gt; &lt;strong&gt;Wukfit:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt; 
&lt;p&gt;@eric Hi Eric I just wanted to clarify something with you, are you saying that legacy browser support (e.g. IE 5.x) requires the use of both MSXML2.XMLHTTP and Microsoft.XMLHTTP?&lt;/p&gt;
&lt;p&gt;Cheers,&lt;br /&gt;Wukfit&lt;/p&gt;
&lt;p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;br /&gt;Only&amp;nbsp;Microsoft.XMLHTTP is needed and is what I do now. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;A good filter would be to use&amp;nbsp;MSXML2 if you do not want the older browsers! &lt;/p&gt;
&lt;p&gt;Now in the future browsers, if MS dumps the Microsoft namespace in IE8+, would we need to use the MSXML2 if we expect our site to be along that long? LOL&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Eric&lt;/p&gt;</description></item><item><title>Re: Difference between MSXML2.XmlHttp and Microsoft.XmlHttp ProgIDs</title><link>http://forums.asp.net/thread/1863479.aspx</link><pubDate>Fri, 17 Aug 2007 14:07:40 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1863479</guid><dc:creator>Wukfit</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/1863479.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=130&amp;PostID=1863479</wfw:commentRss><description>&lt;p&gt;@eric Hi Eric I just wanted to clarify something with you, are you saying that legacy browser support (e.g. IE 5.x) requires the use of both MSXML2.XMLHTTP and Microsoft.XMLHTTP?&lt;/p&gt;
&lt;p&gt;Cheers,&lt;br /&gt;Wukfit&lt;/p&gt;</description></item><item><title>Re: Difference between MSXML2.XmlHttp and Microsoft.XmlHttp ProgIDs</title><link>http://forums.asp.net/thread/1863394.aspx</link><pubDate>Fri, 17 Aug 2007 13:27:09 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1863394</guid><dc:creator>A1ien51</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/1863394.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=130&amp;PostID=1863394</wfw:commentRss><description>&lt;p&gt;The only thing I tried to say in my post is the only difference between MSXML2.XmlHttp and Microsoft.XmlHttp is nothing unless you are using an old machine with IE5.x. So using MSXML2.XmlHttp and Microsoft.XmlHttp in the same detecttion is like doing if(apple==&amp;quot;red&amp;quot;){} else if(apple==&amp;quot;red&amp;quot;){}. If I remember correctly that was the whole basis for this discussion.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The only reason I bring up the fact why you could not just use&amp;nbsp; MSXML2.XmlHttp
is the fact that there are browsers that do not support it that are out
in the wild. If we were talking about a serverside framework, we would
not be talking about that because once you upgrade, you get the latest
and greatest, and you forget that the outdated namespaces do not exist. I wish that was the case with JavaScript! &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;What I tell people is this:&lt;br /&gt;&lt;/b&gt;If you want to just use the generic ids all you have to test for is the Native Imp and &lt;font size="2"&gt;Microsoft.XMLHTTP. [&lt;/font&gt;Microsoft.XmlHttp here is the catch all - uses the browser default version]&lt;br /&gt;If you want to specify versions pick out Native Imp., 6, 3, and &lt;font size="2"&gt;Microsoft.XMLHTTP. [&lt;/font&gt;&lt;font size="2"&gt;Microsoft.XMLHTTP is used here as a catch all if someone is running IE5.X and you care about supporting it.]&lt;/font&gt;&lt;/p&gt;&lt;p&gt;Why is specifing versions bad?&lt;b&gt;&lt;br /&gt;&lt;/b&gt;Because you have to change your code in the future when MS releases a new version! &lt;/p&gt;&lt;p&gt;Why is specifing versions good?&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;If you are using just responseText and repsonseXML, there is nothing good about it. It you are using other features built into it, than it is good since you can work around known issues. &amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Why would people use both?&lt;br /&gt;&lt;/b&gt;Lack of good documentation, people wanting to use the new namespace instead of the outdated namespace, and old browser support while wanting to use the new namespace. I lean towards lack of documentation like Wukfit said above. I know when I wrote AIA I had trouble finding decent information on it. Playing with my virtual machines with old versions of IE is where I noticed why Microsoft.XmlHttp was needed hence why it was added it with MSXML2.XmlHttp since with testing I knew it worked with IE6.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Eric&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: Difference between MSXML2.XmlHttp and Microsoft.XmlHttp ProgIDs</title><link>http://forums.asp.net/thread/1863026.aspx</link><pubDate>Fri, 17 Aug 2007 09:44:13 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1863026</guid><dc:creator>Wukfit</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/1863026.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=130&amp;PostID=1863026</wfw:commentRss><description>&lt;p&gt;I wasn&amp;#39;t implying that you were a beginner I&amp;#39;ve no idea what the level of knowledge/experience is of people&amp;nbsp;posting to this forum - so please don&amp;#39;t take offence.&lt;/p&gt;
&lt;p&gt;OK Just to back up my reasoning for why AJAX frameworks test for multiple versions of the progid...&lt;/p&gt;This snippet is taken from a recent version of the YUI (Yahoo) Library:&lt;br /&gt;&lt;font size="2"&gt;&lt;br /&gt;YAHOO.util.Connect = &lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;/**&lt;br /&gt;&amp;nbsp;* @description Array of MSFT ActiveX ids for XMLHttpRequest.&lt;br /&gt;&amp;nbsp;* @property _msxml_progid&lt;br /&gt;&amp;nbsp;* @private&lt;br /&gt;&amp;nbsp;* @static&lt;br /&gt;&amp;nbsp;* @type array&lt;br /&gt;&amp;nbsp;*/&lt;/font&gt;&lt;font size="2"&gt;_msxml_progid:[&amp;#39;MSXML2.XMLHTTP.3.0&amp;#39;, &amp;#39;MSXML2.XMLHTTP&amp;#39;, &amp;#39;Microsoft.XMLHTTP&amp;#39;],&lt;br /&gt;&lt;br /&gt;and...&lt;br /&gt;&lt;br /&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;catch(e) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(var i=0; i&amp;lt;this._msxml_progid.length; ++i){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;try{&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Instantiates XMLHttpRequest for IE and assign to http.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;http = new ActiveXObject(this._msxml_progid[i]);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Object literal with conn and tId properties&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj = { conn:http, tId:transactionId };&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;break;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch(e){}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;}... etc&lt;/p&gt;
&lt;p&gt;Also from DOJO...&lt;/p&gt;&lt;font size="2"&gt;
&lt;p&gt;dojo.hostenv._XMLHTTP_PROGIDS = [&amp;quot;Msxml2.XMLHTTP&amp;quot;, &amp;quot;Microsoft.XMLHTTP&amp;quot;, &amp;quot;Msxml2.XMLHTTP.4.0&amp;quot;]; etc, etc,.&lt;/p&gt;
&lt;p&gt;I agree with you in that Eric is wrong - as it stands to instantiate an MSXML to MSXML&lt;strong&gt;3&lt;/strong&gt; XHR object&amp;nbsp;you only need to&amp;nbsp;use the Microsoft.XMLHTTP progid (the &lt;strong&gt;danger&lt;/strong&gt; is you don&amp;#39;t necessarily know &lt;strong&gt;which one got created - &lt;/strong&gt;there &lt;strong&gt;might be bugs in the&amp;nbsp;earlier versions&lt;/strong&gt;)&lt;/p&gt;
&lt;p&gt;Is it possible that legacy support for the Microsoft namespace will be dropped in future versions of Internet Explorer/MSXML?&lt;/p&gt;
&lt;p&gt;Like I said I believe it&amp;#39;s lack of knowledge that is directly related to the considerable lack of (usable)&amp;nbsp;documentation from Microsoft on what the best practises are - I was not saying that creators of these frameworks were &amp;quot;stupid&amp;quot; only that there was little or no documentation/best practises&amp;nbsp;for them to follow.&lt;/p&gt;
&lt;p&gt;[EDIT] Incidentally the younger Ajax libraries like JQuery and MooTools only test against/use the Microsoft.XMHTTP progid&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;Cheers,&lt;br /&gt;Wukfit&lt;/p&gt;</description></item><item><title>Re: Difference between MSXML2.XmlHttp and Microsoft.XmlHttp ProgIDs</title><link>http://forums.asp.net/thread/1862789.aspx</link><pubDate>Fri, 17 Aug 2007 06:46:00 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1862789</guid><dc:creator>AGS777</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/1862789.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=130&amp;PostID=1862789</wfw:commentRss><description>&lt;p&gt;Eric,&lt;/p&gt;&lt;p&gt;You didn&amp;#39;t miss the topic, but, sorry, I don&amp;#39;t see logic in your answer. &lt;/p&gt;&lt;p&gt;Of course client machine can have old version of MSXML. But in all the cases Microsoft.XmlHttp is enough to test.&lt;/p&gt;&lt;p&gt;For older systems - it is the only variant, for systems supporting MSXML2 - both MSXML2.XmlHttp and Microsoft.XmlHttp instantiate the same instance of XMLHttp object and the maximum version is MSXML2.XmlHttp.3.0.&lt;/p&gt;&lt;p&gt;So the question WAS AND IS &amp;quot;why to test BOTH?&amp;quot;.&lt;/p&gt;&lt;p&gt;Well, you almost convinced me that I am a complete idiot and cannot formulate simple questions correctly&amp;nbsp; (or, I know it for sure, my English is terrible).&lt;/p&gt;&lt;p&gt;But please, I am working with the technology long enough. There is no need for lengthy explanations. I was curious about specific question.&lt;/p&gt;&lt;p&gt;And if the question seems very simple it doesn&amp;#39;t necessarily mean that it IS and an author of the question is a beginner. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;So once again: name of the thread is&amp;nbsp; &amp;quot;Difference between MSXML2.XmlHttp and Microsoft.XmlHttp ProgIDs&amp;quot;.&lt;/p&gt;&lt;p&gt;IT IS NOT &amp;quot;Difference between various versions of MSXML libarary&amp;quot;.&lt;/p&gt;&lt;p&gt;&amp;nbsp;Best regards,&lt;/p&gt;&lt;p&gt;Alexei&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: Difference between MSXML2.XmlHttp and Microsoft.XmlHttp ProgIDs</title><link>http://forums.asp.net/thread/1862393.aspx</link><pubDate>Thu, 16 Aug 2007 23:26:52 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1862393</guid><dc:creator>A1ien51</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/1862393.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=130&amp;PostID=1862393</wfw:commentRss><description>&lt;p&gt;Here is the answer: They are trying to support Win98 with IE5.x!&amp;nbsp; Well I doubt they really are, but that is what it comes down too.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Not sure if this link [&lt;a href="http://support.microsoft.com/kb/269238" target="_blank"&gt;http://support.microsoft.com/kb/269238&lt;/a&gt;] was ever post above. I did not see it unless I missed it. The link shows all the versions, info about them, browser support, how you got it, etc.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Now why would you use the Microsoft namespace in the detection?&lt;/b&gt; When I worked at a website where mom and pops would come to with there old machines, there was an a lot of people coming in with window 98 machines with IE5.5. I was surprised at the numbers and wondered what version of AOL they were running!!!&amp;nbsp;&amp;nbsp; So if you need to support IE5.5 and under that are not upgraded to the latest and greatest, Microsoft.XmlHttp is needed since it lacks the MSXML2 namespace. There are a bunch of JavaScript version issues with running IE5.X so I am sure most code now a days would fail anyay so supporting Microsoft.XmlHttp is rather a waste of time! I rember the fun with IE5.5 to IE6 with new features added to the arrays! Using Array.prototype fixed all of those wonderful holes! I highly doubt anyone is really doing that anymore. &lt;br /&gt; &lt;/p&gt;&lt;p&gt;As mention already in this thread, the Microsoft.XmlHttp means the same thing as&amp;nbsp; MSXML2.XmlHttp where&amp;nbsp; MSXML2.XmlHttp is supported. The only reason why Microsoft did this was to support&amp;nbsp; backwards capability when they changed the namespace. They still do it today since we still visit websites from back in the 1995-1998 era! Seeing Microsoft.XmlHttp is sort of like seeing code looking at document.layers, document.all, and blink tags. Someone still wants to support Netscape4.x, just incase there is that one usr reliving the good ole days of browser wars.&amp;nbsp;
&amp;quot;&lt;i&gt;640K ought to be enough for anybody.&lt;/i&gt;&amp;quot; &lt;/p&gt;&lt;p&gt;&amp;nbsp;Personally I specify the 3 and 6, but when I want to have fun in a demo, I start up my virtaul machine with Windows98se and IE5.0 and show people that it has been around for a long time. :) Hopefully in the future we can get away from the ActiveX for good once the IE6 is put to its grave! I been seeing numbers of IE6 drop on website status and moving to IE7. Too bad in IE7, native support can be disabled!&amp;nbsp;
&lt;/p&gt;&lt;p&gt;Man I almost forgot about this topic. LOL, maybe I missed the point again for the 100th time.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Eric&lt;br /&gt;&lt;/p&gt;</description></item></channel></rss>