![高頻度データ伝送におけるQUIC適用の検討 - aptpod Tech Blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/d0871457c41729d01fcccdf414195f42389d3fe2/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fa%2Faptpod_tech-writer%2F20200117%2F20200117184938.jpg)
Load Balancers plays a key role in Web Architecture. They allow distributing load among a set of backends. This makes services more scalable. Also since there are multiple backends configured the service become highly available as load balancer can pick up a working server in case of a failure. After playing with professional Load Balancers like NGINX I tried creating a simple Load Balancer for fu
リクエストに対してx-cacheレスポンスヘッダでキャッシュにhitしたか示すCDNベンダーもあります。 しかし、このx-cacheヘッダは各ベンダー独自のもので標準化されていませんでした。 そこでCache-Statusというヘッダをちゃんと定義する「The Cache-Status HTTP Response Header」という仕様がFastlyのMark Nottingham氏から出ています。 以前まではcacheヘッダという名前でしたが、draft 01ではCache-Statusヘッダと改称されました。それにあわせてヘッダ値もリファクタされています。 前の仕様は以前書いた通りです。 asnokaze.hatenablog.com Cache-Statusヘッダ Cache-Statusは以下のようになります。「Structured Headers for HTTP」の定義に従っ
Fastlyの「Binary Structured HTTP Headers」という提案仕様がでています。 目次 概要 BINHEADERSフレーム Binary Literal Representation Lists Dictionaries Items String Literals Item Payload Types Aliased Fields 概要 HTTPヘッダはテキストで表現されます。特に値に関して数値、日付やブーリアン値もテキストで表現されます。また、Accept-Encodingのようにリスト構造を持つヘッダ値もあります。 本来バイナリで表現できるデータ形式や構造をテキストで表現するのは、データ量が増えるほかパースコストがかかります。 そこで、Structured Headersの定義に基づいて、HTTPヘッダ値を直接バイナリで表現できるようにするのが「Binary
.app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads
facebookのHTTP Library proxygen がQUICとHTTP/3に対応しているらしいので動かしてみました。 github.com Note that currently this project has been tested on Ubuntu 18.04 and Mac OSX although it likely works on many other platforms. ubuntu16.04 でやると、ビルドスクリプト内部でapt-get してくるライブラリのバージョンに問題があるのでやめたほうがいいです。 ビルド方法 cd proxygen ./build.sh --with-quic サーバ側サンプル実行方法 _build/proxygen/httpserver/hq --qlogger_path /tmp/logs/ クライアント側サンプル実行方法
2020/060/01 追記 nginx公式版が提供されました。こちらを御覧ください asnokaze.hatenablog.com NginxをHTTP/3対応させるパッチがCloudflareから提供されました (CloudflareのHTTP/3ライブラリ Quicheを利用しています。現状ではHTTP/3ドラフト23版の対応になります) github.com 基本的に、書いてるとおりにやればビルドできるのですが、無事HTTP/3しゃべるところまで確認できました ビルド rustインストールしておく $ curl https://sh.rustup.rs -sSf | sh $ source $HOME/.cargo/env書いてあるとおり $ curl -O https://nginx.org/download/nginx-1.16.1.tar.gz $ tar xzvf ngin
「Of the Utmost Importance: Resource Prioritization in HTTP/3 over QUIC」を読みましたHTTP3 Of the Utmost Importance: Resource Prioritization in HTTP/3 over QUIC という論文が公開されていたので読んでみました。 HTTP/3の優先度制御について、11個の異なる方法を比較検討しています。ウェブページのロードの実験を複数のサイトのデータを使って行い、その実験結果から利点欠点と今後の標準化への提案を行っています。 評価結果から、優先度制御の方法はシーケンシャルな方法のほうがラウンドロビンの方法より優れているということがいえます。また、すべての場合に速い方法はないので、複数の実装が許容されているほうが良いようです。そして、サーバ側はウェブページのロードを早く
#include <assert.h> #include <libsxg.h> #include <openssl/crypto.h> #include <openssl/pem.h> #include <stdbool.h> #include <stdio.h> #include <time.h> int main() { // Load keys. char passwd[] = ""; FILE* keyfile = fopen("ecdsa.privkey", "r"); assert(keyfile != NULL); EVP_PKEY* priv_key = PEM_read_PrivateKey(keyfile, NULL, NULL, NULL); fclose(keyfile); FILE* certfile = fopen("ecdsa.cert", "r"); ass
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く