Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...
今回は ETag(Entity Tag) の話題です。サーバの構成をいろいろと考えていて気になり始めた技術の一つです。 ETag の詳細な説明は省きますが、HTTP/1.1 で定義されているヘッダで、キャッシュコントロールに使われます。 Apache の実装ではデフォルトで ETag はファイルサイズ、最終更新日時、inode 番号の3つから計算されるのですが、これが分散環境ではキャッシュの効かない原因になります。(同じ内容ファイルでも別のサーバ上にある場合には inode 番号が同じになることはほぼあり得ないため、負荷分散の都合で別サーバに割り当てられた場合、ETagも変わってしまう。)サーバの分散をするに当たってどんな問題があるかを調べていてみつけました。これを回避するためには、Apache 2.0 以降では FileETag ディレクティブの設定で ETag に inode 番号を含
高速道路が渋滞している時に、合流の所でお互いに譲りあって一台づつ交互に進めば全体として一番早く進む。我先にと進路を奪いあえば、流れは滞るし、接触事故なども起きやすく、平均の流量は最低になる。 この譲りあいの暗黙のルールが守られる度合いは地域によって違うと聞いたことがあるが、自然発生的にそれができていれば、自分が譲ってもすぐ次に行けると期待できるので、自然と譲る人が多くなるだろう。 「一台づつ交互に」というのはマナーでもあるがプロトコルでもある。 プロトコルが存在していれば、ドライバーの平均のマナーレベルが低くても、つまり、他人より自分を優先して考える人が多くても車は進む。その逆に、譲る気持ちを持ったドライバーの存在密度が高くても、プロトコルがないとマナーのレベルの低いドライバーの行動様式が全体を支配する。 プロトコルが存在しない所にプロトコルを確立するには、マナーが必要である。だが、すでに
Wbox aims to help you having fun while testing HTTP related stuff. You can use it to perform many tasks, including the following. Benchmarking how much time it takes to generate content for your web application. Web server and web application stressing. Testing virtual domains configuration without the need to alter your local resolver. Check if your redirects are working correctly emitting the ri
REST本とか見てると、 status = '201 Created' とかハードコーディングしてるけど、こみゅすけのコードとか見てるとそんなことしてなくて、 head :created とか書いてあったのでrailsのコード内をgrepかけたら見つかった。メモっておく。 % ./script/console Loading development environment (Rails 2.0.2) >> p ActionController::StatusCodes::STATUS_CODES {500=>"Internal Server Error", 423=>"Locked", 412=>"Precondition Failed", 401=>"Unauthorized", 302=>"Found", 203=>"Non-Authoritative Information", 40
More than 5,000 companies count on our digital courses and more to guide their teams through the tools and technologies that drive business outcomes. We can help yours too. New AI policy for O’Reilly authors and talent O’Reilly president Laura Baldwin shares the company’s ethical approach to leveraging GenAI tools and ensuring O’Reilly experts are compensated for their work. See it now It’s time t
もちろん、パフォーマンス最適化の至言「二度測ってから切れ」が適用されます。おっと、いや、これは大工の格言でしたが、しかし私たちにも同様に役立ちます。 Content Body ETag フィルタ 私たちが見る最初のアプローチは、ページコンテンツすなわちMVCのViewに基づくETagトークンを生成するサーブレットフィルタの作成です。一見したところ、このアプローチで得られるパフォーマンスの向上は直感的でないように思えるかもしれません。私たちは相変わらずページを生成しなければなりませんし、それにトークンを生成する計算処理が加わります。しかし、このアイデアは転送量を減少させるためのものなのです。クライアントが地球の反対側からアクセスしている時など待ち時間の大きな状況で、このアプローチは特に有益です。私は、東京のオフィスで利用されるアプリケーションをニューヨークのサーバにホスティングしているケース
Web+DB Press を見て、羃等なメソッドという概念を知った。 Studying HTTP 経由で [Studying HTTP] HTTP Method メソッドは、(エラーや期限切れ発行とは別に) 同一のリクエストの N > 0 の副作用が単一のリクエストにおけるものと同じであるような際には "冪等{idempotence}" の性質を持つ事もできる。 GET, HEAD, PUT, DELETE 各メソッドはこの性質を共有する。 また、OPTIONS と TRACE 各メソッドは副作用を持つべきではないし、本来冪等であるものである。 しかしながら、[...] http://www.studyinghttp.net/method#Idempotent_Methods 原文へ。 9.1.2 Idempotent Methods Methods can also have the p
Firefox2でもhttponlyが使えるという話を耳にしました。 httpOnly - Firefox Add-ons*1 httponlyがいよいよ普及するか? というのでネタにしてみます。 なお、この日記は、WinXP+IE6SP2環境を前提として書きました。 はじめに httponlyは、XSS脆弱性がある状況においても、cookieを窃取されないようにすることを狙ったIEの独自機能です。 MSDN - Mitigating Cross-site Scripting With HTTP-only Cookies この機能を有効にするためには、発行するcookieにhttponly属性を付けます。 Set-Cookie: key=value; domain=example.com; HttpOnly httponly属性が付けられたcookieは、JavaScriptのdocume
「Beginner's Guide: Web サービスの基礎知識」というエントリーがはてぶの人気エントリーに入っていたが、実際のところWSDLだとかUDDIなどのIT業界の重鎮たちによって作られた標準規格が、HTTP/HTML/RSSが成し遂げたようなレベルの本当の意味での標準になるとは、私にはどうしても思えないのだがどうなんだろう。 今でも忘れられないのが、90年代の中頃にHTTPとHTMLの仕様に出会った時のショック。アーキテクチャが不必要なまでに複雑化してしまったGUI OSのアーキテクチャに根本的な疑問を持ち始めていた私には、HTTPとHTMLのシンプルさは本当に「目からウロコが落ちる」感動を味合わせてくれた。 その意味では、RSSとかJSONとかはその延長上にあり、「シンプルでありながらパワフル」であるからこそこれらのものがこれだけ普及していることは明白。スペックそのものがとても
Hi, I’m Mark Nottingham. I write about the Web, protocol design, HTTP, Internet governance, and more. This is a personal blog, it does not represent anyone else. Find out more. Comments? Let's talk on Mastodon. @mnot@techpolicy.social other HTTP Caching posts The State of Browser Caching, Revisited Thursday, 16 March 2017 RFC5861: HTTP Stale Controls Thursday, 6 May 2010 Expires vs. max-age Tuesda
2007年2月23日に, Lingr APIにいくつかの 機能追加が行われた(現時点の最新のAPIは 3月6日リリースのもの)。その中で, The room.enter method now supports a new idempotent parameter. というものがある。「idempotent」って何だろうか。さっそく ググると,「冪等(idempotent)」というような言葉が多くヒットする。 ん?初めて見る漢字。まず,読めない。しかも,漢字からその意味を全く推測できない。自分の学のなさを痛感させられる。 まず,冪等は「べきとう」と読む。そして冪等という言葉の(IT業界での?)意味は, Java Reload (experimental) simple Supportより: 「その操作を何回繰り返しても,1回だけ実行した時と同じ結果になること。」 である。 この言葉は,HTT
先週はIETF 70に行ってきた。本業の件でプロジェクトメンバー達と。IETFに参加したのは今回が初めて。初日のレセプションではたくさんの日本人を見かけた。面識のない方々がほとんどだった。自分達が参加したHTTPの分野とTLSの分野では日本人はほとんどみかけなかった。ネットワーク系の人々が大半なのだろうか。 本業のことはここにはあまり書かないポリシーだが、少し書くと、行ってみて感じたことは、コミュニティの分断。 phishingの問題は日本の状況とは比較にならないほど英語圏では深刻なのだから、もっと皆、連携するなりして多方面から解決しようとしているのではないかと推測していたが、どうもそんな感じがしない。10月にAPWGに行ったときに感じたのは、APWGの人たちは技術による解決にはあまり関心がないようで、犯人達を分析することや被害者の行動を分析することに注視している様子だった。まあそれはそう
Hi, I’m Mark Nottingham. I write about the Web, protocol design, HTTP, Internet governance, and more. This is a personal blog, it does not represent anyone else. Find out more. Comments? Let's talk on Mastodon. @mnot@techpolicy.social other HTTP posts Yet More New HTTP Specs Wednesday, 8 June 2022 A New Definition of HTTP Monday, 6 June 2022 How Multiplexing Changes Your HTTP APIs Sunday, 13 Octob
_ Catalyst::Controller::Atompub - キャッシュやバージョン管理 [perl][atompub] Atompub モジュールの使い方シリーズ 昨日のエントリ [2007-11-26-1] で,相互接続性のポイントのひとつとし て ETag/Last-Modified を挙げました.これらはキャッシュやバージョン 管理を実現するために使われます. このエントリでは,Atompub モジュールを使って ETag/Last-Modified を サポートする方法を紹介します.その前に,メカニズムを簡単に説明して おきます. サーバは,Entry などのリソースを返すときに ETag header を付与します. クライアントは,リソースを取得 (GET) するときに, If-None-Match header として ETag 値を設定します.サーバは値が一致しなけ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く