タグ

Web制作とApacheに関するpmakinoのブックマーク (44)

  • Cache-Control: no-transform で各種メディアの変換(再圧縮等)を防ぐ

    まとめ サーバ側のHTTPレスポンスヘッダに Cache-Control: no-transform を設定することで、プロキシ含む通信経路上でのメディアの変換を禁止できる。 概要 モバイル版Chromeにおける帯域圧縮時のEXIF欠損について、という記事でモバイル版Chromeの「データ使用量を節約」機能を利用している場合には画像のEXIF情報を利用するWebアプリの動作に支障があるという話を書きました。 自分の場合にはEXIFデータのOrientation(画像の回転方向)を利用したアプリにおいて、モバイル版Chromeのデータ使用量節約時に画像の回転方法がおかしくなる不具合がありました。 この件について、2014年11月に開催されたハイパフォーマンス ブラウザネットワーキング ミートアップにてGoogleのIlya Grigorikさんに直接質問できる機会があり聞いてみたところ、HT

    Cache-Control: no-transform で各種メディアの変換(再圧縮等)を防ぐ
  • ApacheとIISのシェア逆転!? nginxは? Webサーバの世界で今何が起きているのか (1/3)

    1995年のWeb黎明期に誕生したWebサーバの「Apache」は、当時の主要WebサーバだったNCSAを瞬く間に抜き去り、翌年には業界最大手のシェアを持つWebサーバソフトウェアとなった。20年近い年月を経てなおトップの座に居続けるApacheだが、この状況に最近になり変化が訪れつつある。 Netcraftが今年6月6日に発表した「June 2014 Web Server Survey」によれば、世界のWebサイト全体に対する最新調査において、MicrosoftのIIS(Microsoft Internet Information Services)で稼働するWebサイトの数がApacheに肉迫し、ほぼ拮抗状態となっている。 Apacheのシェアはここ数年減少の一途をたどっており、その減少分をMicrosoftが獲得し続けている形だ。直近の5月と6月のサイト数比較でも、Apacheのサイ

    ApacheとIISのシェア逆転!? nginxは? Webサーバの世界で今何が起きているのか (1/3)
  • POST をリダイレクトすると GET になる件について調べた - 理系学生日記

    とある事情により、POST リクエストをリダイレクトさせる必要が生じました。単純にリダイレクトさせてみたところ、リダイレクトはされるものの、POST リクエストに付与していた HTTP_BODY が取得できません。どうも、リダイレクト時に GET に変更されているみたいです。 ぼくは怒りに震えたものの、RFC 的にはどう振る舞うべきなんだ、各種ブラウザの振舞いはどうなっているんだ、ということが気になったのでまとめてみました。内容としては、 -POSTリクエストをリダイレクトするとGETされる?POSTされる? - はこべにっき ♨ の二番煎じになります。 先に結果を示しておくと、以下のとおりでした。 Status Code 期待動作 Firefox (25.0.1) Safari(7.0) Chrome (31.0) 301 POST GET GET GET 302 POST GET GE

    POST をリダイレクトすると GET になる件について調べた - 理系学生日記
    pmakino
    pmakino 2013/12/15
    要するに307を使えばおk? ただ言及されていないIEの挙動が気になる
  • Webサーバの性能を測る | IIJの技術 | インターネットイニシアティブ(IIJ)

    UNIX系のOSで利用できるWebサーバの性能測定ツールといえば、Apache Benchやhttperfを思い浮かべる人が多いのではないでしょうか。これらの計測ツールは、残念ながら最近の高速なWebサーバを計測するには非力です。この記事では、高速なWebサーバにも負けないweighttpの使い方を紹介します。 weighttpとは何か weighttpは、Webサーバlighttpdの開発者が実装したWebサーバの性能測定ツールです。以下のような特徴を持ちます。 Webサーバのスループット(リクエスト毎秒)を測定できる ネイティブスレッドを複数起動し測定性能を向上できる libevを利用することで、モダンなポール・システムコールを利用する Apache Benchによく似たコマンドラインオプションを持つ 2.は Apache Benchやhttperfにはない機能です。ここが決定的に異な

    Webサーバの性能を測る | IIJの技術 | インターネットイニシアティブ(IIJ)
  • TechCrunch | Startup and Technology News

    Welcome back to TechCrunch Mobility — your central hub for news and insights on the future of transportation. Sign up here for free — just click TechCrunch Mobility! Okay, okay…

    TechCrunch | Startup and Technology News
  • インストールするだけ! お手軽サイト高速化ツールGoogle mod_pagespeedはスゴかった | 初代編集長ブログ―安田英久

    どれぐらいスゴいかというと、「サーバーにインストールするだけで、あとは設定ファイルをちょちょっといじれば、かなり高速化できちゃう」というぐらいスゴいのです。しかも、どんなサイトでも、どんなCMSを使っていても「インストールするだけ」。 Webサイトを高速化すると、ユーザーに優しいし、場合によっては検索結果での順位にも良い影響が出るかもしれない……それはわかっていても、なかなか格的にサイトを高速化するのは難しいものです。 サーバー側の高速化に加えて、HTMLのつくりや画像のファイルサイズ最適化、さらにはCSSを調整しての画像スプライト化やCSS/JSファイルの結合・最適化によるブラウザとサーバーの通信数削減などなど、実はやらなきゃいけないことがたくさん。 グーグルの提供するmod_pagespeedは、そうしたことの、かなりの部分を自動的に行うものです。 mod_pagespeedはこん

    インストールするだけ! お手軽サイト高速化ツールGoogle mod_pagespeedはスゴかった | 初代編集長ブログ―安田英久
  • 改行削除するくらいなら gzip したらいいじゃない

    CSSJavaScript ファイルなどを gzip 圧縮して転送量の削減や Web サイト表示速度の向上を実現する方法を解説。既存 Web サイトのソースには一切手を加えない方法でまとめています。おまけでキャッシュ関連の記述もあり。 いや、1バイトの無駄もゆるせねぇんだよとか、難読化したいとかなら別にやればいいんですけど、CSSJavaScript ファイルの改行やスペースを削除しただけでファイル容量圧縮、読み込み速ーい的なこという人がいるので今さらですが書いてみます。すでに色々なところで書かれてるのでかぶるのは承知の上で。 改行や無駄なスペースなどを削除すること自体が悪いと言ってるわけではありませんのでその辺は誤解ないようにお願いします。ただ、gzip 使って圧縮するのに比べたら、改行削除して削れるファイルサイズなんて微々たるものです。もちろん、両方やれば最大限ファイルサイ

    改行削除するくらいなら gzip したらいいじゃない
  • .htaccess だけで簡単キャリア判定してみる | バシャログ。

    まだ 6 月だってのに早くも今年初あせもができちゃったよ!かいーの nakamura です。 サイトのモバイル、スマホ対応もすっかり一般的になってきた今日この頃、みなさんいつもどんな方法でキャリア判定を実装しているでしょうか。がっつりフレームワークなどを使っていればさほど難しくはありませんが、ほとんどプログラムが動いていないような静的なサイトの場合はちょっと面倒ですね。今日はそんな時に有用な .htaccess を使ったキャリア判定の方法をご紹介します。 仕様 今回、ルートディレクトリ / は PC 用サイト、/m/ 以下がモバイルサイト、/sp/ 以下がスマホサイトとして以下の仕様を元に記述方法を考えていきます。 PC で /m/, /sp/ 以下にアクセスしたら / にリダイレクト。 モバイル、スマホで PC サイトにアクセスしたらそれぞれ /m/, /sp/ にリダイレクト。 モバイ

    .htaccess だけで簡単キャリア判定してみる | バシャログ。
  • wget で取得した QUERY_STRING 付きページをオリジナルと同じ URI で表示させるには - [ぴ](2011-03-21)

    _ [Web制作][システム運用] wget で取得した QUERY_STRING 付きページをオリジナルと同じ URI で表示させるには wget --mirror で Web サイトをまとめて取得すると、QUERY_STRING がついている URI は ? が @ に置き換えられた形で保存される。 これを無理矢理元のサイトと同様に表示させたかったらどうすれば良いか。 mod_rewrite 使って URL 中の ? を内部で @ に書き換えて実ファイルにつなげてやればいいんでないの、と単純に考えると、 RewriteEngine on RewriteRule (.*)\?(.*) $1@$2 …となるわけだが、実際にはこれではうまくいかない。 原因は RewriteRule に QUERY_STRING は渡らないため。 ならば、こうすれば良い。 RewriteEngine on R

    wget で取得した QUERY_STRING 付きページをオリジナルと同じ URI で表示させるには - [ぴ](2011-03-21)
    pmakino
    pmakino 2011/03/22
    同じものを表示できさえすれば当面更新できなくて良いという条件付きならこれでいけそう
  • HTTPコンテンツ圧縮とPlack - blog.nomadscafe.jp

    「HTTPコンテンツ圧縮はどのレイヤーで行うのがいいか」で書いたりしましたが、高トラフィック環境では、サーバ間の通信量も問題となるため、ApplicationサーバでもHTTP圧縮をかけたほう良さげです。Plackには既にPlack::Middleware::DeflaterというApacheのmod_deflate相当のMiddlewareがあるのですが、ちょいちょい弄っていたりするのでその紹介。 その前に、HTTPコンテンツ圧縮のおさらいです。HTTP圧縮はリクエストのAccept-Encodingにgzipやdeflateがあった場合に、コンテンツをgzip、deflateなどで圧縮し、レスポンスのContent-Encodingヘッダに圧縮に用いた方式を表記することで実現されます。さらに、クライアントサーバ間にキャッシュサーバが存在した場合に、Accept-Encodingを送って

  • さくらのVPSにmod_pagespeedを入れたらabパフォーマンスが二割低下したの巻 (Re::Monologue)

    さくらのVPSでmod_pagespeedを試してみました。 wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_x86_64.rpm wget https://dl-ssl.google.com/linux/linux_signing_key.pub rpm --import linux_signing_key.pub yum localinstall mod-pagespeed-beta_current_x86_64.rpm vim /etc/httpd/conf.d/pagespeed.conf # Allow from localhost Allow from all /etc/init.d/httpd restart インストール。 ab -n 1000 -c 100 http://w

  • mod_pagespeed をちょっとだけ試してみた - 酒日記 はてな支店

    Google の Page Speed の Apache module 版 mod_pagespeed をインストールして、ちょっとだけ動きを見てみた。 インストールは Ubuntu に deb パッケージで。 $ wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_amd64.deb # sudo dpkg -i mod-pagespeed-beta_current_amd64.debconfig はデフォルトで入るものそのまま。 <IfModule pagespeed_module> SetOutputFilter MOD_PAGESPEED_OUTPUT_FILTER ModPagespeed on ModPagespeedUrlPrefix "http://localhost/mod_p

    mod_pagespeed をちょっとだけ試してみた - 酒日記 はてな支店
  • ApacheログをDBに保存するperlスクリプト

    Apache Logを解析するためにMySQLに保存したいなーと思ったのでスクリプトを書いてみた。 DBIを利用するのが初めて、perlの理解もいまいちだったので苦労した・・ 携帯サイト用なので一応uidも考慮。docomoのuidはパラメータしか取得できないのでちょっと面倒。 テーブルはこんな感じ。とりあえずつくったので、けっこう適当です。 ====== CREATE TABLE `ap_log` ( `id` int(11) NOT NULL auto_increment, `lb` varchar(10) default NULL, `a_datetime` datetime default NULL, `remote_host` varchar(256) default NULL, `remote_user` varchar(256) default NULL, `x_docomo

  • HTTPリクエスト/レスポンスとは? HTTPヘッダーを理解しよう | 初代編集長ブログ―安田英久

    今日は、少し技術的な話ですが、Web担当者も知っておくといい知識を。テーマは「HTTPヘッダー」です。知らなくてもWebサイトは作れますが、知っておくとサイト上での仕組み作りの視野が広がるかもしれません。 ブラウザでWebページを表示するときに、ブラウザはWebサーバーと通信しています。そのときに使われるのが「HTTP」というルールです。 HTTPは「HTTPリクエスト」と「HTTPレスポンス」に分けて考えます。ブラウザがサーバーに「このページを見たい」と頼む通信が「HTTPリクエスト」で、そのリクエストに応えてサーバーがブラウザに返す通信が「HTTPレスポンス」です。 まず、ブラウザ → サーバーの「HTTPリクエスト」から説明しましょう。 HTTPリクエストはブラウザが送るものですから、HTTPリクエストを作るのはブラウザです。サーバーは、受け取ったHTTPリクエストの内容からどんな情

    HTTPリクエスト/レスポンスとは? HTTPヘッダーを理解しよう | 初代編集長ブログ―安田英久
  • HTTPエラーページに意味を持たせよう

    Translation of: Adding meaning to your HTTP error pages! by Stuart Colville This article is licensed under a Creative Commons Attribution, Non Commercial - Share Alike 2.5 license はじめに ウェブ上で何かを検索しようとすると、既に存在しないページしか検索結果になく、それらへのリンクをクリックすることはよくあるだろう。その開いたページにデフォルトのエラー・メッセージの他に何も情報が載っていなかった場合、多くの人々は戻るボタンを押し次の検索結果を開こうとするだろう。 サイト製作者である我々はもっと訪問者に意味のあるエラーページを作成することができる。そうすればたとえエラーページであっても訪問者をサイトに留まらせ、彼ら

  • メンテナンス中画面を出す正しい作法と.htaccessの書き方 | Web担当者Forum

    今回は、Webサイトやサービスをメンテナンス中にする場合に、どのURLにアクセスしても「メインテナンス中です」の画面を出す正しいやり方を、人間にも検索エンジンにも適切にする作法を主眼に解説します。 この週末の土曜深夜~日曜早朝にかけて、データセンターの設備メインテナンスのため、Web担を含むインプレスグループのほとんどのWebサイトが、どのURLにアクセスしても「メンテ中です」という表示になっていました。 なのですが、その実装がちょっと気になったので、「正しいメンテナンス画面の出し方」を説明してみます。 ※2010-01-16 Retry-Afterを指定するHeaderの指定を修正しました(コメント参照) ※2009-06-17 RewriteCondから [NC] 条件を削除しました(コメント参照) ※2009-06-16 Retry-Afterの記述をGMTに変更しました(コメント参

    メンテナンス中画面を出す正しい作法と.htaccessの書き方 | Web担当者Forum
    pmakino
    pmakino 2009/08/03
    amebloの中の人が読むべきだった文書
  • application/xhtml+xml を mod_rewrite で text/html に書き換える - ぽち*ぷ〜ち

    ぽち*ぷ〜ちのページは今のところ XHTML1.1 と CSS2.1 で書かれています。ところが、XHTML1.1 で書かれたページを IE8 からそのままの形で閲覧しようとすると、表示するのではなくてダウンロードしようとしてしまいます。 これは Internet Explorer が Webコンテンツとしてアクセスできる XHTML文書の MIMEタイプは、"text/html" でなければならいといった致命的な実装が原因となっているようです。つまり、仕様に準拠した MIMEタイプを設定すると Internet Explorer では、最新版の Windows版Internet Explorer 7 も含めて、XHTML文書を観覧することができません。 「直接 HTTPヘッダに文書の MIMEタイプを設定する - XHTML1.1 - 解説 - XHTML - W3G」より IE9 でや

  • SFC の Web サイトリニューアル後の復旧状況と残課題 - [ぴ](2008-12-22)

    _ [Web制作][アクセシビリティ][SEO] SFC の Web サイトリニューアル後の復旧状況と残課題 先日リニューアルされてからその酷さで大人気の SFC トップページ。 /. でも慶應SFCのWebサイト、Flashに依存した形にリニューアルして酷評されるとしてタレコまれ、livedoor ニュースやエキサイトニュースにも載る形に。 19日深夜には旧サイトが http://www-old.sfc.keio.ac.jp/ として復活、ブラクラ状態だった Flash コンテンツもユーザ操作によって初めて重いアニメーションが動く形に変更され、だいぶ復旧された。 この動きは実に迅速で素晴らしい。中の人乙と言いたい。(でもできれば公開する前に気づいて欲しかった) さて、この改善時の残課題として、旧版の提供サーバが www-old と、www からホスト名が変わってしまっていたために、sit

    SFC の Web サイトリニューアル後の復旧状況と残課題 - [ぴ](2008-12-22)
  • http://www.machu.jp/posts/20080708/p01/

  • ~/index.html へのアクセスを ~/ に転送する

    _ [Web制作] サイト運営者は SEO/SBO を考慮して URL を正規化し分散させないようにすべき 「ソーシャルブックマーク最適化(SBO)」を考えてみよう@小林Scrap Book とか日の超人気エントリから読み解く人気エントリタイトル作り7の実例@YappoLogs 等という、内容の書き方を中心とした SBO について語られているエントリがあるのだが、まあまず最初にやるべきことは同一の情報を複数の URL に分散させないことだろうということでメモをまとめておく。 はてブを使い始めてそろそろ1年近く経つが、その中で時々気になるのが、Slashdot の同一エントリがバラバラに複数ブクマされてること。 原因は、 トップページからのリンク先 → http://slashdot.jp/articles/YY/MM/DD/XXXXXXX.shtml古いストーリーからのリンク先 → ht

    ~/index.html へのアクセスを ~/ に転送する
    pmakino
    pmakino 2008/07/08
    セルクマ。