<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">If the content-type header was the last header in your set of headers, then that makes sense. Safari is merely strictly adhering to the RFC:<div><br></div><div><a href="https://tools.ietf.org/html/rfc2616#section-6">https://tools.ietf.org/html/rfc2616#section-6</a><br></div><div>"</div><div><div>After receiving and interpreting a request message, a server responds</div><div>   with an HTTP response message.</div><div><br></div><div>       Response      = Status-Line               ; Section 6.1</div><div>                       *(( general-header        ; Section 4.5</div><div>                        | response-header        ; Section 6.2</div><div>                        | entity-header ) CRLF)  ; Section 7.1</div><div>                       CRLF</div><div>                       [ message-body ]          ; Section 7.2</div></div><div>"</div><div><br></div><div>Note the two "CRLF" sequences following the "entity-header" block.</div><div><br></div><div>See <a href="https://tools.ietf.org/html/rfc2616#section-2.2">https://tools.ietf.org/html/rfc2616#section-2.2</a> for a definition of "CRLF".</div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 2, 2018 at 4:05 PM, Charles Shapiro via Ale <span dir="ltr"><<a href="mailto:ale@ale.org" target="_blank">ale@ale.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>Nemmine, solved it.  You need two linefeeds after the "Content-Type:" line:<br><br></div>print("Content-Type: text/html\n\n")<br><br></div>Then it works on all browsers.  Ugh.<br><br></div>-- CHS<br><br></div><div class="HOEnZb"><div class="h5"><br><div class="gmail_quote"><div dir="ltr">On Tue, Oct 2, 2018 at 3:58 PM Charles Shapiro <<a href="mailto:hooterpincher@gmail.com" target="_blank">hooterpincher@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I have a  python 2.7 CGI script using the cgi module running inside lighttpd on a raspberry pi.  It works fine in firefox, chrome, and even the browser that comes with Windows 10 (edge?).  In Safari and konquerer, the CGI runs fine but the browsers won't render the HTML it prints.  Instead, these two browsers print the output of my script as if it were text.  If I run cgi.test(), they render the HTML correctly. If I purposely mung the python script ( I have cgitb enabled), the errors render correctly. The correctly rendered HTML and the HTML rendered as text both appear to lack headers as  shown by view source in all browsers.  If I put my cgi-bin output into a file named "foo.html", it renders correctly in all browsers ( I presume they are deducing that it is HTML by the file extension).   If I put a "Content-Type: text/html" line into my  cgi-bin output, then firefox and others offer to download the output of my script rather than displaying it ( it has no effect on the behavior of Safari).  <br><br>The web is silent on this matter.  Has anyone here experienced this?<br></div>
</blockquote></div>
</div></div><br>______________________________<wbr>_________________<br>
Ale mailing list<br>
<a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
<a href="https://mail.ale.org/mailman/listinfo/ale" rel="noreferrer" target="_blank">https://mail.ale.org/mailman/<wbr>listinfo/ale</a><br>
See JOBS, ANNOUNCE and SCHOOLS lists at<br>
<a href="http://mail.ale.org/mailman/listinfo" rel="noreferrer" target="_blank">http://mail.ale.org/mailman/<wbr>listinfo</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">James Sumners<br><a href="http://james.sumners.info/" target="_blank">http://james.sumners.info/</a> (technical profile)<br><a href="http://jrfom.com/" target="_blank">http://jrfom.com/</a> (personal site)<br><a href="http://haplo.bandcamp.com/" target="_blank">http://haplo.bandcamp.com/</a> (music)</div>
</div>