GDDとは「Gut's Driven Development」の略です。簡単にいうとガッツ駆動方式のシステム開発です。 えぇまぁ、私の開発スタイルです。このBlogでは、そんなシステム開発の作業で発見したことを記録していきます。 (Google Developer Daysとはなんの関係ありません。)
TechEd 2009 での私のシアターセッション「SQL Server 動的管理ビュー再入門」で紹介した「プロシージャ キャッシュの中身」を参照できるスクリプトです。DMV(動的管理ビュー)の dm_exec_cached_plans と、動的管理関数(DMF)の dm_exec_query_plan、dm_exec_sql_text を利用しています。 SELECT text AS sqltext, query_plan AS 実行プラン, usecounts, * FROM sys.dm_exec_cached_plans CROSS APPLY sys.dm_exec_query_plan (plan_handle) CROSS APPLY sys.dm_exec_sql_text( plan_handle )
何だか訳の分からないニッチな案件ですが。。。 Cache-Controlヘッダがno-cacheな画像ファイルにFirefoxで直接アクセスした場合、LiveHTTPHeadersで確認すると2回リクエストが送信されてるんですよね。。。1回目は通常のリクエスト、2回目はFirefoxのタブに縮小版を表示させるための画像を取得するため(?)のリクエストっぽいんですが、2回リクエストが送信されているのでApacheのアクセスログにも当然2行残ります。 ちなみに、Chromeだと1回しかリクエストが送信されません。 で、こういう状況でFirefoxに2回リクエストさせない、かつ、毎回HTTP 200を返すようにするにはどうしたらいいか、ちょっと試してみました。 環境 サーバー CentOS 6.4 Apache2.2.29(src) クライアント Windows 7 Professional(6
Leverage Browser Caching Stay organized with collections Save and categorize content based on your preferences. This rule triggers when PageSpeed Insights detects that the response from your server does not include caching headers or if the resources are specified to be cached for only a short time. Overview Fetching resources over the network is both slow and expensive: the download may require m
ほとんどのブラウザで、通常リロードは Cache-Control: max-age=0、スーパーリロードで Cache-Control: no-cache がリクエストヘッダとして送られてくるみたいなのですが、実際の挙動はともかく意味の違いがよくわかりませんでした。 RFC7234 によると max-age は The "max-age" request directive indicates that the client is unwilling to accept a response whose age is greater than the specified number of seconds. Unless the max-stale request directive is also present, the client is not willing to accept
Apacheのモジュール、mod_expiresを利用してキャッシュを利用し、転送量を軽減させて負荷対策します。 キャッシュを利用すると負荷対策ばかりか、体感速度も向上します。 キャッシュして欲しくないファイルまでキャッシュされては困ります…が、 mod_expiresは指定したファイルタイプのみキャッシュさせる事ができます。 mod_expiresの組み込みを確認 このサイトのApacheのインストール方法でApacheのインストールを進めていただけたなら すでにApacheのモジュールとして組み込まれています。 /usr/local/apache2/conf/httpd.conf にて以下の行がある事を確認してください LoadModule expires_module modules/mod_expires.so まだモジュールのインストールがされていない場合は場合によ
ExpiresByType が JavaScript に対して効かない? CATEGORY: HTML/CSS 2013年9月26日 HTTP ヘッダ(Expires ヘッダ)を追加して、ファイルをブラウザにキャッシュさせるように .htaccess にキャッシュの期限を指定しているのに、YSlow の評価を見ると何故か JavaScript だけがキャッシュされていなかったのでその解決方法のメモ。 結論としては、ExpiresByType での JavaScript のファイルタイプの指定のシンタックス(記述方法)を変更して解決。 NG だった指定方法 ExpiresByType text/javascript "access plus 1 month" ExpiresByType application/x-javascript "access plus 1 month"
①ブラウザに一切、キャッシュさせたくない場合 サーバからクライアントへのHTTP応答ヘッダ → Cache-Control "no-cache" アクセス毎に内容が変わったり、サーバにアクセスしてもらわないと困るようなコンコンテンツの場合です。 スクリプト言語等で生成する動的コンテンツは、このようにした方が安全です。 例えば対象コンテンツが画像である場合、ブラウザで同じ画像のURLが含まれたHTMLを開いた場合は、 もちろんローカルにキャッシュがないので、サーバへ問い合わせを行う 条件つきリクエスト(If-Modified-Since、If-None-Match)もサーバへ送ってこない ②ブラウザにキャッシュさせるけど、変更ないか都度確認するようにしたい サーバからクライアントへのHTTP応答ヘッダ → Cache-Control "max-age=0" → Expires "Mon, 2
ツイート DNSキャッシュポゾニングの仕組み DNSキャッシュポイゾニングは、偽のゾーン情報をDNSに登録し、悪意あるサイトに誘導する手法である。簡単に説明すると、DNSサーバがゾーン情報を問い合わせ正規の回答をもらう前に、攻撃者が偽の回答を送りつけDNSサーバに登録するという手法である。DNSキャッシュポイゾニングは「コンテンツサーバとキャッシュサーバ」の違いや「再帰問問合せと反復問合せの違い」を知らないと理解しにくい。 DNSにはキャッシュの仕組みがあって、一度他のDNSから回答をもらうとTTL( Time To Live)に設定されている時間だけキャッシュする。あるホスト名のTTLの時間が経過している場合に、攻撃者がホスト名をこのDNSに問合せ、自分で回答を送りつけることで、偽の回答をキャッシュさせる。これをDNSキャッシュポイゾニングという。 この攻撃が成功するためには下のようにい
FirefoxでYoutubeを閲覧したことのある動画が削除されたとき、あわてて動画ファイルを自分のパソコンに保存する方法。 Firefoxの場合、アクセスしたサイトのキャッシュはこのディレクトリに溜まります。 [user name]は人それぞれ。 何もしていなければrootかもしれません。 C:\Documents and Settings\[user name]\Local Settings\Application Data\Mozilla\Firefox\Profiles\ 実際にはこのディレクトリの下に細かく分かれたフォルダがあり、動画キャッシュはそのどこかにあります。 Firefoxのアドレスバーに「about:cache」と入れても、キャッシュの在り処は確認できます。 ややこしいのは、細かなフォルダのどこに目的のファイルがあるのかわかりにくということ。 でも、探しているのが動画
すべての Microsoft 製品 Microsoft 365 Office Windows Surface Xbox セール サポート ソフトウェア Windows アプリ OneDrive Outlook Skype OneNote Microsoft Teams PC とデバイス Xbox を購入する アクセサリ VR & 複合現実 エンタメ Xbox Game Pass Ultimate Xbox Live Gold Xbox とゲーム PC ゲーム Windows ゲーム 映画とテレビ番組 法人向け Microsoft Azure Microsoft Dynamics 365 Microsoft 365 Microsoft Industry データ プラットフォーム Power Platform 法人向けを購入する Developer & IT .NET Visual Studi
IEではウェブサーバから取得したファイルを「Temporary Internet Files」というキャッシュフォルダに保存しておき、同じファイルを何度も取得しなくて済むようにしている。このキャッシュフォルダには、過去にアクセスしたことのあるサイトのファイルが残っていたりするので、サイトの場所を忘れてしまった際の手がかりなどに使える。 キャッシュフォルダはVistaではシステムフォルダ扱いになっているため最初は非表示になっている。表示する設定に変更しよう。 インターネットオプションの「全般」タブで、「閲覧の履歴」の「設定」を押し、表示されたウインドウで「ファイルの表示」を押そう IEのキャッシュフォルダが表示されるぞ コントロールパネルから「フォルダオプション」を開き、「表示」タブで「保護されたオペレーティングシステムファイルを表示しない」のチェックを外しておけば、エクスプローラでフォルダ
形式 <form action="...">~</form> サポート LS / H2 / e2 / Ch1 / Fx1 / Sa1 / Op1 / N2 / i1 カテゴリ フローコンテンツ パルパブルコンテンツ 親要素 フローコンテンツ を子要素に持てるもの 子要素 フローコンテンツ (ただし、form要素を子孫に持つことはできない) タグの省略 開始タグ:必須 / 終了タグ:必須 属性 グローバル属性 accept-charset action autocomplete enctype method name novalidate target rel 入力フォームを表示します。<form>~</form> がひとつのフォームとなります。フォームの中には <input>、<select>、<textarea> などのフォーム部品を配置します。 フォームは通常サブミット(実行)ボタンを
知らんかったです。普通のサイトだと、ユーザー名やパスワードをブラウザが自動補完してくれます。あ。自動補完って言っちゃった。オートコンプリートしてくれます。ところが、自動補完、あ、オートコンプリートされないサイトがありました。不思議に思って、HTMLのソースを見てみました。 <form action="https://google.co.jp/" method="POST" autocomplete="off"> </form> autocompleteなんて属性があったんですね。知らんかったです。 自動補完、あ、オートコンプリートなんて自己責任でいいんじゃないかと思うのですが、大人の事情があるんでしょうね。
Firefox は、あなたがウェブページ上のフォームに入力した内容を記憶しています。フォームはテキストフィールドとも言います。ウェブページ上の (検索ボックスなどの) フォームに何かを入力すると、次回そのページを開いた時、以前入力した内容を再利用できます。この記事は、フォームの自動補完機能の使い方と、記憶した内容を消去する方法、または記憶させない方法について説明します。 フォームへの入力を自動補完する フォームに以前入力した内容を使用するには: 保存されたエントリーの最初の数文字をフォームフィールドに入力してください。以前、そのフォームに入力した内容がドロップダウンメニューで表示されます。 特定のフォームフィールドに保存されたエントリーの一覧を表示するには、フィールドに何も入力していない状態で ↓ キーを押してください。 ↓ キーを押して再利用したいエントリーを選択してください。適切なエン
問題 画像やCSVファイル、PDFファイル、負荷の高い画面などで、なるべくブラウザにキャッシュを使ってもらうためのヘッダはどうしたらいい? 答え HTTPヘッダのExpiresを使って、なるべくキャッシュを使ってもらえるようにする。 例えばあるjpeg画像を10時間キャッシュしてもらうヘッダを出す場合。 <?php $expires = 36000; header('Last-Modified: Fri Jan 01 2010 00:00:00 GMT'); header('Expires: ' . gmdate('D, d M Y H:i:s T', time() + $expires)); header('Cache-Control: private, max-age=' . $expires); header('Pragma: '); header('Content-Type: im
php はSESSIONを使うとデフォルトで No Cache、つまり「キャッシュ禁止」を指示する HTTPヘッダを3種類吐きます。 (PHP 5.2.0 で検証) Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache これは、php.ini の session.cache_limiter の設定がデフォルトで nocache になっていることに起因します。 less /path/to/php.ini : session.cache_limiter = nocache :
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く