2017-08-16 164 views
0

我動態創建PDF文檔,並希望在我的處理程序中爲他們服務。我將content-type設置爲application/pdf,並且工作正常。我通過nginx代理運行我的服務器。服務大型PDF,我應該設置內容長度嗎?

我的問題是,有些請求會爲同一個文檔生成很多其他請求。我看了看標題,發現它想要一個塊式傳輸編碼。

我的解決方案是設置內容長度,它似乎工作正常。

我不知道這是否足夠,爲什麼我從來沒有用簡單的HTML頁面做。

+0

這可能與你的nginx配置有關。客戶不應該在乎它是否被分塊。 – JimB

回答

3

A comment in the source code says

如果處理程序沒有聲明內容長度達陣,我們或者進入分塊模式,或者如果處理程序完成分塊緩衝區大小運行前,我們計算一個內容 - 長度並將其發送到標題中。

如果你想避免分塊,然後設置內容的長度。爲較大的響應設置內容長度會減少傳輸的數據量,並可減少HTTP服務器內的複製。

作爲一個經驗法則,如果在生成響應主體之前知道長度,則設置內容長度。

您的簡單HTML頁面可能小於分塊緩衝區大小。如果是這樣,他們不被分塊。