2012-05-23 114 views
0

我有一個通過Python動態創建的網頁。其目的是提供圖像,所以第一行設置的內容類型:如何設置不同內容類型的http標頭

Content-Type: image/png 

我想設置HTTP頭,特別是高速緩存控制,但我不太知道如何在內容類型不是HTML ,所以我敢肯定,我不能將html樣式標題放入它。

編輯:代碼開始簡單:

#!/usr/bin/python 
# -*- coding: UTF-8 -*- 
import string, sys, math, os 
print("Content-Type: image/png\n") 
+0

你在使用什麼框架/庫?答案完全取決於這些信息。 (一旦你擁有了,發現並不重要) –

+0

該頁面位於Apache 2.2服務器上,並且是通過Python 2.7.1創建的,沒有擴展名或模塊 –

+0

您可以提供一個帶有相關imports/calls的代碼片段嗎? –

回答

1

Cache-Control,Content-Type等是HTTP標題,而不是「html樣式標題」。無論內容類型如何,您都可以使用它們。

+0

這個問題上啊,我明白了,我很傻並且駁斥了_Content-Type_是一個http頭部的事實,我正在考慮頭部必須放在html頭部。我已經修復了在第一行用分號分隔的額外頭文件的代碼。謝謝。 –

+0

@ Arty-fishL你的意思是Python代碼中的分號?你不需要那樣做。您可以在不同的行上打印報表。您的網絡服務器並不在乎您如何格式化您的代碼。它只關心其輸出的格式。首先,您需要HTTP標頭的「name:value」行,一個空行,然後是內容的主體。再次,這是* output *的格式,而不是Python代碼的格式。 –

0
import string, sys, math, os 
print("Cache-Control: max-age=" + str(86400 * 3650) + ", public") 
print("Content-Type: image/png") 
print("\n") 

那臺資源在十年內到期。

+0

這個問題上它的CGI,不是整個網絡服務器(它運行在heliohost.org服務器上),我將代碼的開頭放在 –

相關問題