<div dir="ltr">Looking at the RFC, HTTP/1.0 requests are of the following form:<br><br><div>Request = Simple-Request | Full-Request</div><div>Simple-Request = &quot;GET&quot; SP Request-URI CRLF</div><div>Full-Request = Request-Line...</div><div>Request-Line = Method SP Request-URI SP HTTP-Version CRLF</div><div><br></div><div>So, that being said, your server must support:<br>GET URI, so GET /, GET /etc/passwd, etc. Note that this does <b>not</b> include the version string.</div><div>OR the Full-Request, which is METHOD URI VERSION. So &quot;GET HTTP/1.0&quot; falls under Simple-Request, so the server would try to serve the file/directory &quot;HTTP/1.0&quot;. Note that Simple-Request is technically an HTTP/0.9 request. Ensure that the proper Simple-Response is sent when a Simple-Request is received, as described in the RFC.</div><div><br></div><div>According to the RFC, we must allow HTTP/0.9 requests, as the RFC states &quot;If an HTTP/1.0 server receives a Simple-Request, it must respond with an HTTP/0.9 Simple-Response.&quot; So for #3, yes, your server must properly respond to HTTP/0.9 requests as the RFCs (up to HTTP/2.0, I believe) are written with backwards compatibility in mind.</div><div><br></div><div>For #4, yes, 3 formats are defined. The RFC states &quot;HTTP/1.0 applications have historically allowed three different formats for the representation of date/time stamp&quot;, which leads me to believe that any of the 3 are acceptable for the response.</div><div><br></div><div>Hopefully this was all clear.</div><div><br></div><div>Furthermore, your questions 1-3 are clearly defined in the RFC. As Professor Schaumann has indicated, make sure you&#39;ve thoroughly read and understand it.</div><div><br></div><div>Feel free to reply all with any further questions, and I&#39;ll try to respond tomorrow.</div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Nov 14, 2017 at 10:15 PM Yuan Ren &lt;<a href="mailto:yren14@stevens.edu">yren14@stevens.edu</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi there, <div><br></div><div>Here are some questions about the final project:</div><div><br></div><div>1. If the client request line is &quot;GET /&quot;, I mean no HTTP version specified. Should we default using HTTP/1.0 or respond to client with error status code? Because I noticed that the gws using the default HTTP/1.0 </div><div><br></div><div>2. If the client request line is &quot;GET HTTP/1.0&quot;, I mean no file or directory specified. Should we give the default directory or respond to client with error status code?</div><div><br></div><div>3. Should we using<span style="font-family:Helvetica;font-size:12px">&lt;major&gt;.&lt;minor&gt; numbering scheme to indicate versions of the protocol or just implement HTTP/1.0, any other versions like HTTP/0.9 would get respond with NO IMPLEMENT?</span></div><div><span style="font-family:Helvetica;font-size:12px"><br></span></div><div><span style="font-family:Helvetica;font-size:12px">4. </span><span style="font-family:Helvetica;font-size:12px">HTTP/1.0 allowed three different formats for the representation of date/time stamps:</span></div><div><span style="font-family:Helvetica;font-size:12px">     </span><span style="color:rgb(0,0,0);font-family:Courier;font-size:13.3px">Sun, 06 Nov 1994 08:49:37 GMT</span></div><div><span style="color:rgb(0,0,0);font-family:Courier;font-size:13.3px"></span><span style="font-family:Helvetica;font-size:12px">     </span><span style="color:rgb(0,0,0);font-family:Courier;font-size:13.3px">Sunday, 06-Nov-94 08:49:37 GMT</span></div><div><span style="color:rgb(0,0,0);font-family:Courier;font-size:13.3px">  Sun Nov</span><span style="color:rgb(0,0,0);font-family:Courier;font-size:13.3px">  </span><span style="color:rgb(0,0,0);font-family:Courier;font-size:13.3px">6 08:49:37 1994</span><span style="color:rgb(0,0,0);font-family:Courier;font-size:13.3px">  </span></div><div><span style="font-family:Helvetica;font-size:12px">Should we all implement? </span></div><div><span style="font-family:Helvetica;font-size:12px"><br></span></div><div><span style="font-family:Helvetica;font-size:12px">Thanks,</span></div><div><span style="font-family:Helvetica;font-size:12px">Yuan</span></div><div><span style="font-family:Helvetica;font-size:12px"><br></span></div></div>
_______________________________________________<br>
cs631apue mailing list<br>
<a href="mailto:cs631apue@lists.stevens.edu" target="_blank">cs631apue@lists.stevens.edu</a><br>
<a href="https://lists.stevens.edu/mailman/listinfo/cs631apue" rel="noreferrer" target="_blank">https://lists.stevens.edu/mailman/listinfo/cs631apue</a><br>
</blockquote></div><div dir="ltr">-- <br></div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Jason Ajmo</div><div>Stevens Institute of Technology</div><div>B.S. Cybersecurity &#39;17</div><div>M.S. Computer Science &#39;18</div><div>0x56FA3123</div></div></div>