JSON-RPC can be simply tunneled through HTTP or HTTPS. 1 pipelined Requests/ResponsesBy default, every HTTP-message contains only a single JSON-RPC object. But high-performance servers MAY allow several concatenated JSON-RPC Requests in a single HTTP message by using e.g. a JSON-splitter, and MAY then return concatenated Responses. (Note that this has nothing to do with HTTP/1.1 pipelining; HTTP
2023年03月31日追記:この記事を基に、@sadnessOjisanさんより、コードレベルにより踏み込んだ、かつ、グリーンスレッドベースの新しいWebサーバアーキテクチャも含めて整理された記事 Webサーバーアーキテクチャ進化論2023 | blog.ojisan.io が公開されました。 主に新卒のWebエンジニア向けに、古典的なWebサーバアーキテクチャを学ぶ道のりと代表的な実装モデルの概要を紹介します。 この辺りの話題がWeb界隈で流行っていたのは数年以上前というイメージですが、Webサービスは相変わらずWebサーバの上で動いているので、流行り廃り関係なく学ぶべき内容だと思っています。 また、HTTP/2がいよいよRFC化し、既にh2oやtrusterdなどのHTTP/2のサーバ実装があり、今後Webサーバアーキテクチャを再訪することが増えるような気がしています。 ところが、We
はじめに 私は自ら「串職人」と名乗るほどウェブの(つまりHTTPの)Proxyサーバが好きで、もう10年以上もプロキシサーバを作り続けています。このブログの主題であるクラウド型WAF、Scutumもそのひとつです。そもそもプロトコルとしてのHTTPが好きです。ウェブの裏側に、とてもシンプルな、テキストベースのHTTPプロトコルが活躍しているということが私の串職人としての出発点です。 HTTP/2が出た 先日、ついにHTTP/2が出ました。 数年前から、「SPDY」などのキーワードに代表される次世代のHTTPが模索されていることは何となく知っていましたが、どうもGoogleのような非常に大きいトラフィックを処理している組織が主導しているもので、一般の開発者やウェブの利用者にとってそれほど魅力的なものではなさそうだな、という印象を抱いていました。 サーバ側を作っているのもGoogle、ブラウザ
第3会FRESH勉強会で発表予定のスライド。HTTPについて詳しくない人のために HTTPの概要から先日RFC化されたHTTP/2の新機能、使いどころを解説します。
2. 自己紹介 • 名前: 大津 繁樹 • 所属: 株式会社インターネットイニシアティブ(IIJ) アプリケーション開発部 • Twitter: @jovi0608 • ブログ: ぼちぼち日記 http://d.hatena.ne.jp/jovi0608/ • GitHub: https://github.com/shigeki/ • 新技術の検証・評価を行ってます。 (Node.js, io.js,SPDY, HTTP/2,HTML5) • iij-http2の開発を通じてIETFのHTTP/2標準化作業に参画中 3. HTTP/2 はRFC化目前です • HTTP/2 • IESGレビュー終了。コメントを受け てドラフトを改訂。その後承認見込 • HPACK • IESG承認済(1/23) 発行プロセスが順調なら桜が咲く前にはRFC化かも Ethernet IP(v4/v6) TCP
次期HTTPの有力候補に挙げられたSPDY Googleが提唱している「SPDY(スピーディ)」がにわかに注目を集めている。 SPDYは高速なWebコンテンツ転送を実現するための新しいネットワークプロトコルである。Googleは以前からWebの高速化に極めて熱心に取り組んできた。そのために開発されたプロダクトは、Webサーバ、Webブラウザ、JavaScriptエンジン、各種開発ツールなど、Web技術のあらゆる側面をカバーしている。SPDYもその取り組みの一環であり、ネットワークプロトコルというWebの基幹部分から高速化へのアプローチを進めようというものだ。 SPDYは2010年に発表され、2011年前半にはブラウザのChromeに実装され、一般のユーザーでも利用できるようになった。このとき、Googleの一部のサービスではChromeとの通信にSPDYを利用していることが明かされている。
NSURLSession が SPDY をサポート iOS 8 / OS X Yosemite より、NSURLSession で SPDY(スピーディ) プロトコルがサポートされました。 これまで SPDY プロトコルで通信するには CocoaSPDY などのような OSS を利用する必要がありましたが、iOS 8 / OS X Yosemite からは OS レベルでサポートされているため、Safari や UIWebView (または WKWebView) による通信処理でも SPDY プロトコルで通信できるようになりました。 ということで、下記サイトの「What's New in Foundation Networking」をベースに、iOS 8 / OS X Yosemite で 利用できる SPDY プロトコルについての基礎知識をまとめてみました。 https://develo
(※)このページで紹介している事項は記事初出時点の情報に基づいたものです。本ページはアーカイブとして掲載しています。 ツイート 2013年8月6日 はじめに SPDY(スピーディと読みます)は、GoogleがWebの表示を高速化するために開発した、新しいプロトコルです。新しいと言っても、今後普及が見込まれるような新技術ではなく、既に実用化され多くの方が日常的に利用しています。 現在ChromeやFirefox、Operaのブラウザを使われている方は、Googleのサービスやtwitterにアクセスしていると、実は全く気付かないうちに、このプロトコルを利用しています。 SPDYは2010年6月にリリースされたChromeのバージョン6安定版からデフォルトで有効になっており、Chrome利用者はこの新技術を3年以上も利用していることになります。 一般のユーザはSPDYを使っているかどうか、どう
ストリームによる多重化 2つ目の特徴は「ストリーム」です。従来のHTTPでは、リクエストとレスポンスの組を1つずつしか同時に送受信できないことが、パフォーマンス上のボトルネックになっています。この問題を改善するべくHTTP/1.1では新たにパイプラインが導入されましたが、一部のレスポンスに時間がかかるような場面でレスポンスが詰まってしまう問題などがあり、広く使われてはいません。そこで、HTTP/2では1つの接続上にストリームと呼ばれる仮想的な双方向シーケンスを作ることでこの問題に取り組んでいます。 1つの接続上に作られた複数のストリーム上では、複数のフレームを同時並行で転送できます。例えば、あるストリーム上ではリクエストにあたるフレームが送信中でも、別のストリームではレスポンスにあたるフレームを受信するといったことが可能になります。これにより、全体的なパフォーマンスが向上します。 ヘッダー
Swift is the best programming language you should learn and make your dream app easily. Swift programming is a powerful yet easy-to-learn coding language created by Apple. It's frequently used for developing iOS and macOS applications, as well as tvOS and watchOS apps. While you can use other languages to create Apple apps, Swift is the preferred language, and it's recommended because its code is
Webサーバーがレスポンスを発行する際に、HTTPレスポンスヘッダーに付けるとセキュリティレベルの向上につながるヘッダーフィールドを紹介します。 囲み内は推奨する設定の一例です。ブラウザによっては対応していないヘッダーフィールドやオプションなどもありますので、クライアントの環境によっては機能しないこともあります。 X-Frame-Options ブラウザが frame または iframe で指定したフレーム内にページを表示することを制御するためのヘッダーフィールドです。主にクリックジャッキングという攻撃を防ぐために用いられます。 X-Frame-Options: SAMEORIGIN DENY フレーム内にページを表示することを禁止(同じサイト内であっても禁止です) SAMEORIGIN 自分自身と生成元が同じフレームの場合にページを表示することを許可(他のサイトに禁止したい場合は主にこ
1. はじめに、 ただ今IETF-88@バンクーバーの開催が真っただ中です。スノーデン事件の余波もあり、インターネット技術(特にセキュリティ関連)の議論は熱くなっています。 ちょうど今朝未明(バンクバーでは11/5朝)に HTTP/2.0の標準化を進める httpbis ワーキンググループとセキュリティエリアの合同セッションが開催されました。合同セッションでは、ヘッダ圧縮技術(HPACK)のセキュリティや、HTTP接続(HTTPSではない)で通信の暗号化を行ったらどうか、といった興味深い議論が行われました。このうち将来HTTP/2.0の展開に重要な ALPN(Application Layer Protocol Negotiation) は、このミーティングで最終的な仕様を確定させる段階での議論でした。議論の中で、ALPNの導入によってブラウザから既存の実サービスへの接続に(少なからず)影
このシリーズはHTTPリクエストの理解を通じてWebパフォーマンスの重要性について考える5章構成になっている。 【序章】HTTPリクエストは甘え 【CSS Sprite編】スプライト地獄からの解放 【WebFont編】ドラッグ&ドロップしてコマンド叩いてウェーイ 【DataURI編】遅延ロードでレンダリングブロックを回避 【終章】我々には1000msの猶予しか残されていない 1日目は、HTTPリクエストの概要について説明する。 例えに、私のポートフォリオページ(t32k.me)が表示されるまでの流れを見ていく。まず、検索からでも方法はなんでもよいが、ブラウザのURLバーにt32k.meと打ち込んでアクセスする。そのページを見にいくということは、つまりt32k.meに対してHTTPスキームでリクエストするということを意味している。 クライアントであるブラウザは入力されたURLを判断して、リソ
軽量HTTPクライアント SuperAgentとは、柔軟性と読みやすさを兼ね備えた、軽量HTTPクライアントです。 シンプルな使い方から高機能な使い方まで、用途に応じて簡単に使用することができます。 環境構築方法 今回使用した動作環境は以下のとおりです。 OS : MacOS X 10.7.5 Node.js : v0.10.4 npm : 1.2.18 npmを使用してモジュールをインストールしましょう。 % mkdir superagent % cd superagent % npm install superagent サンプルプログラム作成 superagentモジュールをrequireし、メソッドと宛先URLを指定するだけでリクエストを送信することができます。 end関数でコールバックを指定し、レスポンスを参照することができます。 var request = require('s
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く