在CGI腳本,在上面我們使用的程序:爲什麼在打印標題時在CGI腳本中使用` n`?
print "Content-type: text/html\n\n";
不使用\n
它不會執行。但是,在HTML體內,我們不使用\n
因爲\n
不能作出任何意義上說,新的生產線,我們使用<br>
標籤。
爲什麼\n
需要在標題行?
在CGI腳本,在上面我們使用的程序:爲什麼在打印標題時在CGI腳本中使用` n`?
print "Content-type: text/html\n\n";
不使用\n
它不會執行。但是,在HTML體內,我們不使用\n
因爲\n
不能作出任何意義上說,新的生產線,我們使用<br>
標籤。
爲什麼\n
需要在標題行?
Content-type: text/html
是HTTP報頭,而不是HTML。爲了檢測HTTP頭的結尾必須是一個空行。第一個\n
爲當前行結束,第二個\n
爲新的空行。
創建標題的明智方式其實,它是一個CGI標題。服務器接受CGI響應並將其轉換爲HTTP響應。這包括將裸新行轉換爲回車 - HTTP所需的新行對。 –
CGI腳本的第一行必須是Content-Type: text/html
和打印語句必須有2個\n
字符:
第二產生需要CGI標頭和數據之間的空行。
print "Content-Type: text/html\n\n";
任何HTTP響應(無論該內容是否是HTML或不)必須與一個狀態碼,Content-Type頭(其通常由web服務器,而不是CGI程序添加的)開始,和任選的一種或更多額外的標題。每個標題必須在一個單獨的行上(即以\n
終止)。所有標題發送完畢後,將使用空行表示標題已完成,並且響應正文如下。
標題完成後,然後 HTML(或其他)正文開始,\n
不再有任何實際意義,因爲HTML在呈現內容時忽略它。
HTTP使用CRLF分隔標題行。大多數CGI程序輸出的CGI標題都是爲了服務器的調整,並擴展到正確的形式。 –
這與Perl和與HTTP規範無關的所有內容(http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html) –
另外,所有的框架都有一個不需要輸入所有這些,甚至CGI'$ q-> header;' –