<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin-top:0in;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
text-align:justify;
text-indent:.5in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:.5in;
text-align:justify;
text-indent:.5in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
.MsoPapDefault
{mso-style-type:export-only;
margin-bottom:6.0pt;
text-align:justify;
text-indent:.5in;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:1287156496;
mso-list-type:hybrid;
mso-list-template-ids:66718472 -1673918946 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
{mso-level-text:"\(%1\)";
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level2
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level3
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l0:level4
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level5
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level6
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l0:level7
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level8
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level9
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal style='text-indent:0in'>I have several questions about the XMLHttpRequest specification.<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>(1)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>As far as I can tell, if the response is of type “text”, then a partial response can be accessed during the transmission of the response. However, if the response is of any other type, then the response cannot be accessed until the transmission is finished. Why is that so? I have an application for which it is important to access partial responses while the transmission is in progress for a “blob” response (actually an ISO BMFF file). <o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>(2)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>The specification talks about the “response’s body’s transmitted” and the “response’s body’s length”. What do these mean? I cannot find any definition of them in the standard. Is the “response’s body’s transmitted” the number of bytes that have been transmitted so far? Is the “response’s body’s length” the total length of the response in bytes? It would be good to define these terms in the specifications. <o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>(3)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>After reading the relevant part of the specification three times, I am still confused about what causes an “onprogress” event to be fired. In particular is a “progress” event named “progress” fired at regular intervals during transmission of a response, or whenever additional bytes arrive for a response, or what? I would find the first of these useful if my app was tracking the progress of a response for display to a human user. I would find the second of these useful if I was able to access partial responses and wanted to know when there is something new to access. <o:p></o:p></p><p class=MsoNormal style='text-indent:0in'>Regards, Gomer Thomas<o:p></o:p></p><p class=MsoNormal align=left style='margin-bottom:0in;margin-bottom:.0001pt;text-align:left;text-indent:0in'>--<o:p></o:p></p><p class=MsoNormal align=left style='margin-bottom:0in;margin-bottom:.0001pt;text-align:left;text-indent:0in'>Gomer Thomas Consulting, LLC<o:p></o:p></p><p class=MsoNormal align=left style='margin-bottom:0in;margin-bottom:.0001pt;text-align:left;text-indent:0in'>9810 132<sup>nd</sup> St NE<o:p></o:p></p><p class=MsoNormal align=left style='margin-bottom:0in;margin-bottom:.0001pt;text-align:left;text-indent:0in'>Arlington, WA 98223<o:p></o:p></p><p class=MsoNormal align=left style='margin-bottom:0in;margin-bottom:.0001pt;text-align:left;text-indent:0in'>Cell: 425-309-9933<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>