タグ

httpに関するkiririmodeのブックマーク (29)

  • 不正なリクエストを弾くために使える Fetch Metadata という仕様について

    作成日 2023-01-29 更新日 2023-01-29 author @bokken_ tag Web, App, Sec はじめに リクエストのコンテキストをサーバ側に伝えることで、サーバ側でリクエストが危険なものかを判別するための Fetch Metadata Request Headers という仕様がある。今回、このヘッダがどういったものなのかについて Fetch Metadata Request Headers を読んだり、周辺のドキュメントを読んでまとめる。¶ TL;DR Fetch Metadata ヘッダはクライアント側では特に何も設定する必要はなく、サポートされていればブラウザによってリクエストに自動的にヘッダに付与されサーバに送付される サーバは送られてきた Fetch Metadata をもとに CSRF などの、攻撃の可能性があるリクエストを弾く事ができる 20

    不正なリクエストを弾くために使える Fetch Metadata という仕様について
    kiririmode
    kiririmode 2024/01/03
    Sec-Fetch系ヘッダ。ブラウザが勝手に送ってくれるため、その組み合わせを判断することでリクエストのコンテキストを検知しCSRFを含むアタックに対する遮断等が可能になる
  • HTTP検索条件、GETにするか?POSTにするか? | フューチャー技術ブログ

    はじめにTIG DXユニット 1真野です。 RESTfullとかRESTishな方針でWebA PIの横断検索を設計する際にチーム内で方針について議論したやり取りの備忘記事です。 注意としてB2C向けなWeb APIを提供するというよりは、主に企業間または企業内部で使われるようなAPIの設計のバイアスがあります。LSUDs(Large Set of Unknown Developers)かSSKDs(Small Set of Known Developers)で言えば、確実にSSKDs脳で記事が書かれています。 REST API広く使われているため日語記事も多数です。実践RESTful HTTP - InfoQ や、0からREST APIについて調べてみた など良さそうな記事が沢山でてくるの読むと良いでしょう。一般的な設計方法はやや古いですがWeb API: The Good Parts

    HTTP検索条件、GETにするか?POSTにするか? | フューチャー技術ブログ
    kiririmode
    kiririmode 2021/09/24
    REST APIで検索条件をBODYに持たせる場合はPOSTを選択するのが現時点では妥当な理由
  • QUICとHTTP/3時代のインターネット解説書はどうあるべきだろう - golden-luckyの日記

    OSI参照モデルとTCP/IPモデル なぜいまでもOSI参照モデルによる説明が多いか QUICは、TCP/IPモデルのトランスポートとはいえるが、OSI参照モデルのレイヤ4とはいいにくい HTTP/QUICモデル QUICをどう解説するか OSI参照モデルとTCP/IPモデル かつてぼくたちは、7つのレイヤに分かれたOSI参照モデルという姿でコンピュータネットワークを学び、その7層のモデルにそって各種のプロトコルを理解しようとしていました。 だから、「SONET/SDH上のATM回線でIPパケットをやり取りする」という構想をきけば、「つまり、SONET/SDHがレイヤ1で、ATMがレイヤ2で、IPがレイヤ3なのだな」という枠組みを頭に描いていました。 と同時に、OSIのレイヤとはいったい……、というアンビバレントな想いにさいなまれることもよくありました。 「SONET/SDHがレイヤ1って

    QUICとHTTP/3時代のインターネット解説書はどうあるべきだろう - golden-luckyの日記
    kiririmode
    kiririmode 2021/08/14
    quicはosi参照モデルではなくhttp/quicとして理解するのがわかりやすそう
  • Firefox 87 trims HTTP Referrers by default to protect user privacy – Mozilla Security Blog

    Firefox 87 trims HTTP Referrers by default to protect user privacy We are pleased to announce that Firefox 87 will introduce a stricter, more privacy-preserving default Referrer Policy. From now on, by default, Firefox will trim path and query string information from referrer headers to prevent sites from accidentally leaking sensitive user data. Referrer headers and Referrer Policy Browsers send

    kiririmode
    kiririmode 2021/03/28
    Firefoxのポリシーもstrict-origin-when-cross-originになって粗方のブラウザでポリシーが揃った?
  • HTTPのバージョンについて、現在のまとめ - Qiita

    はじめに HTTPのバージョンと仕様について、個々最近の動きについて整理しておこうかと思います。 HTTPには幾つかのバージョンが有り、現在HTTP/1.1とHTTP/2が広く利用されており、HTTP/3も徐々に使われだしています。 バージョンが異なっていても、クライアントからHTTPリクエストを送り、サーバがHTTPレスポンスを返すのは変わりません。HTTPメッセージをどのようなフォーマットで送るかはバージョンによって異なりますが、HTTPメッセージが持つ意味は変わりません。 意味(セマンティクス)とは、GETリクエストやPOSTリクエスト、ステータスコード、ヘッダがどういった意味を持つかということです。 バージョンと、セマンティクスの歴史的遷移は下記のとおりです。 HTTP/1.1とセマンティクス HTTPは最初0.9から始まり、HTTP/1.0、HTTP/1.1と進んできました。 H

    HTTPのバージョンについて、現在のまとめ - Qiita
  • はてなブログのキャッシュ周りをきちんと改善したら、アプリケーションサーバの台数を半分にできた話 - Hatena Developer Blog

    はてなブログでSREをやっているid:cohalzです。 2019年12月頃からid:utgwkkやid:onkとともに、はてなブログにおけるキャッシュ周りの改善を行いました。その結果、次のような成果が得られました。 ブログ記事のキャッシュヒット率が、1日平均で8%から58%に向上 アプリケーションサーバの台数を、以前の半数以下に削減 DBに届くリクエスト数が、以前の3分の2まで減少 レスポンスタイムの平均が、以前の8割まで減少 この記事では、実際にどういった改善を行ったのか、その際に気をつけたことや大変だったことを紹介します。 はてなブログがVarnishを導入した経緯と課題 開発合宿をきっかけに問題が明らかになる 進め方をまず考える ホストのメモリをできるだけたくさん利用する メモリを積んだホストでなぜかレイテンシが悪化 キャッシュが分散しないようVaryヘッダを使う デバイス情報を適

    はてなブログのキャッシュ周りをきちんと改善したら、アプリケーションサーバの台数を半分にできた話 - Hatena Developer Blog
    kiririmode
    kiririmode 2020/09/20
    nginx-varnishの構成。varyヘッダをuaに対して適用していたがそれをpc/mobileの2つに集約
  • Referrer-Policy によるリファラ制御 | blog.jxck.io

    Intro リファラはリンクなどでページを遷移する際に、遷移元の URL をリクエストの Referer ヘッダに載せる仕様である。 この付与はブラウザが自動で行うため、場合によっては非公開として扱っている URL が意図せず漏れることがある。 この挙動を制御することができる、 Referrer-Policy ヘッダについて解説する。 Referer or Referrer 来の英語としては RefeRRer が正しいが、 HTTP Header ではスペルミスした RefeRer が互換性を保つためそのまま使われている。 しかし、新しく定義された Referre-Policy は、正しいスペルが採用されている。 Referer ヘッダ 例えば https://example.com/index.html に貼られたリンクから https://blog.jxck.io に遷移する場合を考

    Referrer-Policy によるリファラ制御 | blog.jxck.io
    kiririmode
    kiririmode 2020/08/01
    referrerの用途とその制御の方法
  • Goでnet/httpを使う時のこまごまとした注意 - Qiita

    resp, err := http.DefaultClient.Do(req) if err != nil { return err } defer resp.Body.Close() HTTPレスポンスを受け取ったとき、err != nilのときresp.Bodyは常に非nilである(たとえBodyが0バイトであっても)。このresp.Body を Close するのは呼び出し側の責務である。Body.Close を怠ると、Keep-Alive(デフォルトで有効)のためにTCPコネクションが再利用されない。…ということが ドキュメントに口を酸っぱくして書いてある。 同一ホストへのコネクション数はデフォルトで最大2に制限されている 同一ホストへのコネクション数はhttp.DefaultMaxIdleConnsPerHost定数によりデフォルトで2に制限されている。 // DefaultMa

    Goでnet/httpを使う時のこまごまとした注意 - Qiita
    kiririmode
    kiririmode 2019/12/17
    http.Clientは使いまわし推奨
  • GRPC Core: gRPC over HTTP2

  • クラウド・ネイティブのお作法(2)「リトライ」~効率的なリトライ手法「Exponential Backoff and jitter」とは何か

    こんにちは。アマゾンウェブサービス クラウドサポートエンジニアの小武です。Amazon EC2、Amazon RDS、Amazon Redshiftなどのサービスの他、AWSの内部を支える裏側の技術に日々Dive Deepしています。連載ではAWSサポートのエンジニアがそれぞれ「今一番AWSユーザーに伝えたいこと」を連載の形でお届けしています。 私の担当回では、AWSという巨大な分散システムを支える技術要素のうち、アーキテクチャ設計、プログラミング技術のいくつかについて見ていきたいと思います。これらは、AWSの内部を支える技術というだけでなく、皆さんのアプリケーションをダウンタイムゼロのシステムに近づけるための基礎技術、クラウド・ネイティヴなアプリケーションを構築する基礎的なテクニックとも言えると思います。 その基礎的なテクニックは大きく、下記の4つがあります。 非同期処理(Asynch

    クラウド・ネイティブのお作法(2)「リトライ」~効率的なリトライ手法「Exponential Backoff and jitter」とは何か
    kiririmode
    kiririmode 2018/05/24
    リトライアルゴリズムの評価、あと 429 の Too many requests 知らんかった
  • CSP Report 収集と実レポートの考察 | blog.jxck.io

    Intro このブログで CSP レポートの収集を開始してもうすぐ 1 年になる。 現状、対象ドメイン内で <input> は一切提供しておらず、大半が静的に生成されたページであるが、この条件でも、かなり多くのレポートが集まった。 今回は、収集した実際のレポートを例に、攻撃ではないと思われるレポートとしてどういったものが送られて来たかを中心に、その内容やレポーティングサーバ、 CSP の運用に関する現時点の考察についてまとめる。 収集目的 CSP の基は、意図しないリソースの読み込みや、 Inline Script の実行を防ぐことにある。 例えば、エスケープ漏れにより XSS が発生し、悪意のある Inline Script が埋め込まれた場合でも、 Inline Script を禁止するポリシーを適用したページでは、その実行はブラウザによって Violation(違反)と判断されブロ

    CSP Report 収集と実レポートの考察 | blog.jxck.io
  • Best practices for using the Vary header

    Best practices for using the Vary headerWhat is Vary?Vary is one of the most powerful HTTP response headers. Used correctly, it can do wonderful things. Unfortunately, this header is frequently used incorrectly, which can lead to abysmal hit ratios. Worse still, if it's not used when it should be, the wrong content could be delivered. Instead of just pointing you to the Vary specification, I'm goi

    Best practices for using the Vary header
  • HTTP caching - HTTP | MDN

    HTTP Guides Resources and URIs Identifying resources on the Web Data URLs Introduction to MIME types Common MIME types Choosing between www and non-www URLs HTTP guide Basics of HTTP Overview of HTTP Evolution of HTTP HTTP Messages A typical HTTP session Connection management in HTTP/1.x Protocol upgrade mechanism HTTP security Content Security Policy (CSP) HTTP Strict Transport Security (HSTS) X-

    HTTP caching - HTTP | MDN
  • Retrying HTTP Requests

    HTTP allows requests to be automatically retried under certain circumstances. This draft explores how this is implemented, requirements for similar functionality from other parts of the stack, and potential future improvements. Note to Readers This draft is not intended to be published as an RFC. The issues list for this draft can be found at https://github.com/mnot/I-D/labels/httpbis-retry . The

  • 今夜つける HTTPレスポンスヘッダー (セキュリティ編) - うさぎ文学日記

    Webサーバーがレスポンスを発行する際に、HTTPレスポンスヘッダーに付けるとセキュリティレベルの向上につながるヘッダーフィールドを紹介します。 囲み内は推奨する設定の一例です。ブラウザによっては対応していないヘッダーフィールドやオプションなどもありますので、クライアントの環境によっては機能しないこともあります。 X-Frame-Options ブラウザが frame または iframe で指定したフレーム内にページを表示することを制御するためのヘッダーフィールドです。主にクリックジャッキングという攻撃を防ぐために用いられます。 X-Frame-Options: SAMEORIGIN DENY フレーム内にページを表示することを禁止(同じサイト内であっても禁止です) SAMEORIGIN 自分自身と生成元が同じフレームの場合にページを表示することを許可(他のサイトに禁止したい場合は主にこ

    今夜つける HTTPレスポンスヘッダー (セキュリティ編) - うさぎ文学日記
  • [Ann] Initial release of H2O, and why HTTPD performance will matter in 2015

    [Ann] Initial release of H2O, and why HTTPD performance will matter in 2015 Happy Holidays! Today I am delighted to announce the first release of H2O, version 0.9.0; this is a christmas gift from me. H2O is an optimized HTTP server with support for HTTP/1.x and the upcoming HTTP/2; it can be used either as a standalone server or a library. Built around PicoHTTPParser (a very efficient HTTP/1 parse

    [Ann] Initial release of H2O, and why HTTPD performance will matter in 2015
  • HTTP Status Codes

    This page is created from HTTP status code information found at ietf.org and Wikipedia. Click on the category heading or the status code link to read more. This class of status code indicates a provisional response, consisting only of the Status-Line and optional headers, and is terminated by an empty line. There are no required headers for this class of status code. Since HTTP/1.0 did not define

  • Blocksを使ったHTTPリクエスト - mixi engineer blog

    聖闘士星矢Ωが、思ったより面白くて小宇宙が軽く爆発しそうなk_kinukawaです。 今回は、iOSアプリでHTTP通信を行うときの話です。 2012年4月27日 「メインスレッド上で処理している」について一部修正 従来のNSURLConnectionは、レスポンスをdelegateでハンドリングしていました。 そのため、リクエストを投げる箇所とレスポンスを受ける箇所がコード上で離れてしまい、可読性がよくありませんでした。 また、レスポンスを受け取ったあとの処理についても、delegate内で条件分けをして処理をしているうちに分岐/ネスト地獄になりがちでした。 一方、iOS5からNSURLConnectionにsendAsynchronousRequest:queue:completionHandler:というメソッドが誕生しました。 引数を見る限り、GCDを使って非同期リクエストをする系

    Blocksを使ったHTTPリクエスト - mixi engineer blog
  • 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を送って

  • ウェブページを完全に削除したときは404よりも410のHTTPステータスコードを返すといい

    今日は技術的なトピックを扱います。 通常、ウェブページがもう存在しなくなったときは404のHTTPステータスコードを返します。 するとしらばくすれば検索結果からも消えます。 しかしGoogleウェブマスターツールでは、ずっと以前になくなったはずのページが「クロールエラー」セクションで「見つかりませんでした」として表示されることがあります。 理由は、404エラーを返したページが今でもないままなのか確認するためにGooglebotが再訪問するためです。 404は“Not Found”(見つからない)で、ページがなくなったことではなくアクセスできない状態を示します。 アクセスできない理由は、ページを削除したことではなくネットワークの障害やサーバーの不具合による一時的なものかもしれません。 通常のページよりは頻度が低いですが、その404を返したページを再び訪問して相変わらずないままなのかそれとも再

    ウェブページを完全に削除したときは404よりも410のHTTPステータスコードを返すといい