はじめに 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/3はどうやってWebを加速するか? TCP、TLS、HTTP/2の問題とHTTP/3での解決策~Fastly奥氏が解説(前編) Webの世界では新しいHTTPの標準として「HTTP/3」の策定が進み、現在最終段階にあります。このHTTP/3はこれまでのHTTPをどのように改善し、高速化を実現していくのでしょうか。 2020年11月25日と26日にオンラインで開催されたFastly Japan主催のイベント「Yamagoya Traverse 2020」のセッション「Webを加速するHTTP/3」で、同社の奥一穂氏がHTTP/3の解説を行っています。 奥氏はHTTP/3に対応したHTTPサーバ「H2O」の開発を行うだけでなく、IETFでHTTP/3の標準策定にも関わるなど、日本においてもっともHTTP/3に詳しい人の一人であるといえます。本記事では奥氏のセッションをダイジェストで
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? フューチャーアドベントカレンダー2018のピンチヒッターです。ワイキキの海を見下ろすホテルからこんばんわ。 QUICがリブランドされてHTTP/3になったというのはそれなりに大きな話題になりました。これを機に学ぼうという人も多いと思いますが、個人的には費用対効果を考えると、まだ早いのではないかと思います。HTTP/2のときともまた違ってそんな学んだことが役に立つ人も多くないのではないかな、と思います。 HTTP/2を学ぶべきだがHTTP/3を(あえて)学ぶ必要はないと思う理由 HTTP/1.1からHTTP/2はほとんどの部分が同じです。
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? #はじめに こちら、そろそろ知っておきたいHTTP/2の話という良くまとめられた記事を見ていて、色々と苦い記憶がよみがえってきたのですが、そういうHTTP/2仕様に困った系記事があまり見当たらなかったのでまとめました。 #HTTP/2とは ##機能 現在支流のHTTP 1/1よりもより効率よく、セキュアな通信をもらたす為に色々なアップグレードを施したHTTPの規格です。 特徴をざっというと、こんな感じ。 ストリーム、メッセージ、フレームという新しいデータの交換方式を利用することによる、実TCPセッション数削減 サーバー プッシュ機能によ
HTTPステータスコードを返すというのはとても単純なことです。ページがレンダリングできた?よし、それなら 200 を返しましょう。ページが存在しない?それなら 404 です。他のページにユーザをリダイレクトしたい? 302 、あるいは 301 かもしれません。 I like to imagine that HTTP status codes are like CB 10 codes. "Breakerbreaker, this is White Chocolate Thunder. We'vegot a 200 OK here." — Aaron Patterson (@tenderlove) 2015, 10月 7 訳:HTTPのステータスコードのことは、市民ラジオの10コードみたいなものだと考えるのが好きです。「ブレーカー、ブレーカー、こちらホワイト・チョコレート・サンダー。200
Android アプリで HTTP 通信を行うときは Volley を使っているのですが、とある事情により、もうちょっと直接的 (?) に HTTP 通信を行う必要がある場面に出くわしたときに使ってみたのが Square の OkHttp 2.0 です。 An HTTP & SPDY client forAndroid andJava applications とあるように、 SPDY にも対応していて、Android に限らず、Java アプリケーション中でも使えるようです。今回はAndroidプロジェクトで使ってみた雑感を書いてみたいと思います。プロジェクトへのインストール OkHttp のサイトには jar ファイルをダウンロードするか、 MAVEN の設定をする方法が書いてありますが、Android Studio ならばbuild.gradle の depende
現在トラノマキアプリでデータを更新する処理を作っています。 このアプリで使うベースとなるデータファイルはネット上に置いてあり、先ずはこれらの更新日を取得する必要があります。オープンな場所のファイル更新日を取得するだけならHttpURLConnectionを使う方法がお手軽で良い感じですが、今回は対象となるサイトにBasic認証を掛けてある為(大した情報は無いのですが保身的な人に知れると面倒なので)ひと工夫必要です。 という訳で、Basic認証を使ってネット上のファイルの更新日を取得する方法を調べてみました。 以下、一部抜粋 private Date getLastModified(String filename) { URL url; Date date = null; try { Authenticator.setDefault(new Authenticator() { protect
JavaでHTTPクライアントを作ろうと思ったときには、おそらく二つくらいのアプローチがあって、ひとつがApache JakartaプロジェクトのHTTPClientを使う方法、もうひとつがjava.net.HttpURLConnection を使う方法だ。まあもちろん、自前でTCPクライアントの上に乗せてもいいのだが、そんな車輪の再発明するくらいならもっと別のことに労力を使うべきだと思う。 というわけで、そのうちひとつのjava.net.HttpURLConnectionの件。HTTPは最初だけ大文字、後小文字の癖に、URLは全部大文字というよくわからんネーミングセンスについてはとりあえず置いておくとして、設計的によくわからないというか、何がしたいのか意味が不明なところがあるのでそれについて書く。 http://java.sun.com/j2se/1.5.0/docs/api/java/
The org.apache.http classes and theAndroidHttpClient class have been deprecated inAndroid 5.1. These classes are no longer being maintained and you should migrate any app code using theseAPIs to the URLConnection classes as soon as possible. org.apache.httpパッケージとAndroidHttpClientクラスはAndroid5.1で非推奨扱いとなる. 今後これらのクラスはメンテナンスされることがない. これらのAPIを使用しているアプリケーションはURLConnectionクラスへの変更が推奨される. 転載元: Yukiの枝折 -
9. ② バイナリメッセージ リクエストのHEADERSフレーム。 00 00 26 01 25 00 00 00 0d 00 00 00 0b 0f 82 84 87 41 8b 0b e2 5c 2e 3c b8 5b 7d 70 b2 cf 53 03 2a 2f 2a 90 7a 89 aa 69 d2 9a c4 c0 57 02 e0 緑箇所の3byte「00 00 26」がフレームサイズで38byte(0x26) 最初の9byte(固定長)は、フレームヘッダ。 青箇所の「01」がフレームタイプを表しており、0x01はHEADERSフレーム。 黄色箇所の「25」はFlagで詳細はRFC7540へ。 茶色箇所の4byte(正確には31bit分)はStream IDで、この場合は13。 10. ② バイナリメッセージ リクエストのHEADERSフレームペイロード(赤箇所) 00 0
2013-12-17 私がJava EE開発の現場から学んだこと こんにちは。このエントリはJava EE Advent Calendar 2013の17日目です。昨年に引き続き17日目を担当します。昨日は瑞鳳教徒・@btnrougeの「JSR 356―Java標準のWebSocketAPI」でした。明日は@kokuzawaさんです。 §1. 事の発端 私は19日のAdvent Calendar(JavaとJavaFX)に向けてJavaFX+JavaMailの試作品を作っていまして、全然暇じゃなかったのですが(後期ほとんど学校に行ってないですけど)、@btnrougeのド阿呆から仕事を手伝って欲しいと言われて、結局引き受けてしまったのが発端です。 何でも、Twitterをポーリングして(30秒おきだがレートリミット残によって間隔を微調整するらしい)特定キーワードを含むツイートをWebSo
■ HTTPリクエストの圧縮をサポートする HTTPクライアントから大きなデータをPOSTするときに圧縮可能ならそうして欲しい場合があって(もちろんブラウザはそんなことしてくれないので専用クライアントを使う前提)、サーバアプリは圧縮・未圧縮の状況にかかわりなく書きたいので、その部分だけRackミドルウェアにしてみた。ちなみにリクエストではなくてレスポンスなら普通の話なので何も考えずにRack::Deflaterを使えば良い。 最初、Rackでリクエストのbodyを操作する方法がわからなくてTwitterでつぶやいたら@moroが教えてくれたので解決。いつもいつも助かります(^^; こんな感じで使える: require 'rack/request_decompressor' use Rack::RequestDecompressor クライアントはContent-Encodingヘッダを追加
Takayuki Shimizukawa @shimizukawa @masa_edw コネクションプールが無い場合、使い終わったコネクションが即解放されない(解放まで多少遅延する)ので実際に使っているコネクションの数より多く存在する。その分メモリを圧迫して効率が悪い。っていう話は聞いたことがあるよ(要出典 2013-09-04 09:27:28 ハイパーむとう @masa_edw @voluntas 現状で必要な状況は理解していますが、なぜそうなるのか理解していないということです。他にもたとえば、bitlyの呼び出しはコネクションプールを使うべきか?なぜ(べき、べきでない)のか?どういう要請でそうなのか?と言う問いに僕は答えられません。 2013-09-04 09:31:22
Webサーバのレスポンスの計測をしたくて、Webサーバにはfluentdを導入済みなので、 Fluentd+GrowthForecastでやろうと思ったんですが、 Webサーバは全台muninでモニタリングしてて、muninとGrowthForecastでページが 分かれてしまうと視認性が下がるので、muninでグラフ化することにした。 munin自体はエンジニア以外の人も閲覧して、サーバの状態を判断しているので、 確認するページが複数にまたがるのもちょっと嫌だった。 計測にはzembutsuさんのpluginを利用することに。 導入に際してwarningとcriticalの値を設定出来るようにpull reqを出してmergeもしてもらった。 導入したサーバはCentOS4,CentOS5,CentOS6とSL6。 導入方法 httpingの導入 httpinのrpmは下記にあるので、そ
ウェブサービスのクライアントや、Net::Groonga::HTTP のようなミドルウェアのクライアント、いろいろありますが、HTTP サーバーへの簡単なアクセスを提供するライブラリをつくるときに僕が気をつけていることをここに記す。みんな気をつけたほうがいいです。 HTTP Client Library の引数を変更できるようにするか、HTTP Client Library のインスタンスをさしかえられるようにする 変更できないライブラリとか利用価値がないです。。 タイムアウトの設定もかえられないライブラリとか、たまにありますが、ちょっとひどいですね。 生のレスポンス情報がとれるようにする HTTP::Response なり Furl::Response なりをそのままとれるようにすべき。 たとえば、$client->last_response のようなメソッドを用意し、最後のレスポンスオ
Outbound Port 80blocking ⽵竹 <takesako@shibuya.pm.org> http://www.janog.gr.jp/meeting/janog31/program/OP80B.html [ ] �MacBookAir ⾏行行 � [ ] � ⾏行行 ⼈人 � [ ] � ⼊入 � [ ] � ⼈人 � [ ] � ⽤用Google Wireshark ⾯面⼈人 Firesheep � 2010 10⽉月 �Firefox � �Eric Butler⽒氏 � LAN facebookTwitter ⽂文 HTTPCookie � �PoC⽰示 Firesheep ⾯面 Eric Butler⽒氏⽤用 Firesheep � Web �Amazon.com CNET dropboxEvernote FacebookFlickr Gith
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く