/ 最近 .rdf 追記 編集 設定 本棚

脳log[20060610] セクション毎にフットノートが付けられる。(やろうと思えば) | Windows Vista beta2、Irvine、2Gの壁 | index.rb: UAにキャッシュを許可。If-Modified-Sinceをチェック。



2006年06月10日 (土)

[tDiary] セクション毎にフットノートが付けられる。(やろうと思えば)

tDiary-2.1.4からは section_enter_procと section_leave_procが用意されてるので、現在 body_leave_procを使って一日毎に行ってることを、section_leave_procでセクション毎に行うだけ。

Windows Vista beta2、Irvine、2Gの壁

気が付いたらファイルサイズが 3.8GBを超えてるのにまだダウンロードしてる。32bit版は約 3.5GBのはずなのに。

ダウンロード済みのサイズがマイナスMBになってるし。進捗グラフがマイナス%になってる。MSのサーバーに「Range: bytes=-123456789-」みたいにマイナスから始まる変な要求を送ってる。

[tDiary] index.rb: UAにキャッシュを許可。If-Modified-Sinceをチェック。

構わないと思うのですよ、リロードの度にプラグインを評価しなくても。

--- index.rb~	2005-06-13 14:05:11.000000000 +0900
+++ index.rb	2006-06-11 00:52:18.203125000 +0900
@@ -60,11 +60,15 @@
 		body = ''
 		head['Last-Modified'] = CGI::rfc1123_date( tdiary.last_modified )

+		require 'time'
+		ims = ENV['HTTP_IF_MODIFIED_SINCE']; ims = ims ? Time.httpdate(ims) : Time.at(0); # ENV?
+		diary_changed = (tdiary.last_modified - ims) > 30; # 30?
+
 		# ETag testing code
 		#require 'md5'
 		#head['ETag'] = MD5::md5( body )

-		if /HEAD/i !~ @cgi.request_method then
+		if /HEAD/i !~ @cgi.request_method and diary_changed then
 			if @cgi.mobile_agent? then
 				body = conf.to_mobile( tdiary.eval_rhtml( 'i.' ) )
 				head['charset'] = conf.mobile_encoding
@@ -73,15 +77,15 @@
 				body = tdiary.eval_rhtml
 				head['charset'] = conf.encoding
 				head['Content-Length'] = body.size.to_s
-				head['Pragma'] = 'no-cache'
-				head['Cache-Control'] = 'no-cache'
+#				head['Pragma'] = 'no-cache'
+#				head['Cache-Control'] = 'no-cache'
 			end
 			head['cookie'] = tdiary.cookies if tdiary.cookies.size > 0
 			print @cgi.header( head )
 			print body
 		else
-			head['Pragma'] = 'no-cache'
-			head['Cache-Control'] = 'no-cache'
+#			head['Pragma'] = 'no-cache'
+#			head['Cache-Control'] = 'no-cache'
 			print @cgi.header( head )
 		end
 	rescue TDiary::ForceRedirect

See also...

listed by...