You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
QUIC(Quick UDP Internet Connections)プロトコルは、TCPではなくUDPをベースとして開発された、全く新しいWeb向けのプロトコルです。 (冗談で) TCP/2 と呼ぶ人までいます。 私がQUICについて知ったのは数週間前のことです。 SysCast Podcastのcurlとlibcurlについてのエピソード を聞いていた時でした。 QUICプロトコルの本当に面白い点は、UDPへの移行というところだと思います。 現在、Webの伝送プロトコルは、信頼性を確保するため、TCP上に構築されています。このTCP接続を開始するためには、 3wayハンドシェイク が行われています。つまりこれは、接続を開始するたびにラウンドトリップ (ネットワークパケットの往復) が追加されるということであり、新たな接続先に対し大幅な遅延を生じさせているのです。 (出典: UDPを介
私はpingが大好きです!簡単に使えて、ネットワークが稼働しているかを直接明らかにできます。 「 Pingはセキュリティの欠陥ではない!(むしろ友達である) 」、「 Traceroute上級 」の記事をご参照ください。少なくとも、外行きのping(trust(=信頼されるゾーン)からunstrust(=そうでないゾーン)へ)はセキュリティ上の心配なしに用いられるべきです。しかし、これらのuntrustからDMZへのICMPエコー・リクエストは多くの会社で拒否されているため、すべてのサーバが起動・稼働しているかをテストするのが困難になっています。 私は、顧客のサイトのDMZファイアウォールの置き換えに取り組んでいました。当然ながら私は「すべてのサーバが適切に接続されているか(NAT)」「ファイアウォールが接続を許可しているか(ポリシー)」を(外部から)知ろうとしました。 そこで私は、さまざま
[レベル: 上級] GoogleのGary Illyes(ゲイリー・イリーズ)氏によると、HTTPSでインデックスされるはずのURLのうち、80%以上がHTTPでインデックスされているということです。 イリーズ氏は、HTTPSをランキング要因にすることを最初に提案し、このアルゴリズムを開発した人物です。 HTTPSへの正規化ミスが原因 80%以上のHTTPSページが、HTTPSではなくHTTPでインデックスされてしまっています。 小規模な調査の結果とのことですが、HTTPSを利用しているのに非常に高い割合いでGoogleに正しく認識されていないということになります。 HTTPSに正しく正規化されていない理由として、次のような構成ミスの例をイリーズ氏は挙げています。 サイトマップにHTTPのURLを記述している rel=”canonical” でHTTPのURLを指定している rel=”al
HTTP ガイド HTTP の概要 典型的な HTTP セッション HTTP メッセージ MIME タイプ(IANA メディア種別) HTTP の圧縮 HTTP キャッシュ HTTP 認証 HTTP Cookie の使用 HTTP のリダイレクト HTTP 条件付きリクエスト HTTP 範囲リクエスト コンテンツネゴシエーション HTTP/1.x のコネクション管理 HTTP の進化 プロトコルのアップグレードの仕組み プロキシサーバーとトンネリング HTTP クライアントヒント HTTP セキュリティ サイトの安全化 HTTP Observatory Permissions Policy コンテンツセキュリティポリシー (CSP) オリジン間リソース共有 (CORS) Cross-Origin Resource Policy (CORP) Strict-Transport-Securit
Webサーバーがレスポンスを発行する際に、HTTPレスポンスヘッダーに付けるとセキュリティレベルの向上につながるヘッダーフィールドを紹介します。 囲み内は推奨する設定の一例です。ブラウザによっては対応していないヘッダーフィールドやオプションなどもありますので、クライアントの環境によっては機能しないこともあります。 X-Frame-Options ブラウザが frame または iframe で指定したフレーム内にページを表示することを制御するためのヘッダーフィールドです。主にクリックジャッキングという攻撃を防ぐために用いられます。 X-Frame-Options: SAMEORIGIN DENY フレーム内にページを表示することを禁止(同じサイト内であっても禁止です) SAMEORIGIN 自分自身と生成元が同じフレームの場合にページを表示することを許可(他のサイトに禁止したい場合は主にこ
■ HTTPでHashやArrayを送る手法に仕様は存在しない……の? jQueryでこんなふうに書くと: $.post('/', { hash: { foo: 'hoge', bar: 'fuga'}, array: ['baz', 'piyo'] }); サーバ側でこんなふうに受け取れて(これはSinatra): post '/' do params.each do |key, val| puts "#{key}: #{val} as #{val.class}" end end ちゃんとHashやArrayとしてアクセスできる: hash: {"foo"=>"hoge", "bar"=>"fuga"} as Hash array: ["baz", "piyo"] as Array ああこりゃ便利だね、で済ましてもいいんだけど、HTTP POSTの中身なんてただのバイト列なんだから型の情
問題 Firefoxで、httpsのページでhttpの外部JavaScriptや画像の読み込みがブロックされるのを、ブロックしないように設定できる?逆にちゃんとブロックさせたりとか。 答え オプションの設定画面にはないので、about:config で設定する。 1、アドレスバーに「about:config」と入力して、Enterキー押下。 2、「動作保障対象外になります!」の警告が表示されたら、「細心の注意を払って使用する」を押下。 3、検索に「security.mixed」など入力して絞り込むと、該当の項目が見つかる。 true/falseの部分をダブルクリックすると、値が切り替わる。 trueにすると混在時にhttpのコンテンツをブロック。falseにするとスルー。 security.mixed_content.block_active_content スクリプト、スタイルシート、プ
by Vernon Swanepoel ウェブサイトのユーザーがどれぐらいページを見てくれているのか、訪問頻度はどれぐらいなのかといった情報を追跡するのにはクッキー(Cookie)やJavaScriptなどが使用されますが、そうやって追跡されるのがイヤだということでCookieを受け入れないように設定したり、JavaScriptをオフにしているという人もいるはず。しかし、それでもユーザーを個別に追跡する方法があります。 Lucb1e.com :: Cookieless Cookies http://lucb1e.com/rp/cookielesscookies/ これはオランダ在住でコード・セキュリティ・ネットワークを愛しているというlucb1eさんが明らかにしたもの。手法としては新しいものではなく、多数のサイトで使われているにもかかわらず、そのことを認識している人はほとんどいないというも
Postman あらゆるRESTのテストが出来るWEB開発者用Chromeアプリ「Postman」。 通常のHTTP、Basic認証、ダイジェスト認証、OAuth等のテスト用クライアントとして活用できます。 HTTPであればGET、POST等のメソッドを選んで、任意のデータを送信することが可能。 返却値はHTMLでもJSONでもハイライトして見やすく表示してくれます。レスポンスBodyだけではなくヘッダーなんかも表示することができます。 Chromeアプリなのでとりあえず追加しておくだけでもしておくといいかも デザインがBootstrapベースでカッコよく使いやすいのも特徴 関連エントリ POSTやファイルアップロード等がPHPから簡単に行えるHTTPライブラリ「Unirest」
先日、PHP5.5.0がリリースされましたね。さっそくビルドしてニヨニヨしているところです。 5.5の新機能と言えばGeneratorやfinallyなどですが、個人的に注目しているのがcURLの機能強化です。詳しい内容がまだ公式ドキュメントに書かれていないのですが、結構おもしろいので紹介してみます。 cURLとは何か かーると発音する人が多いようです。C言語で書かれたHTTPのclientライブラリであり、WebAPIやスクレイピング、クローラなどを扱うときに非常に便利です。PHP版のバインディングは標準でPHP本体にバンドルされているため、大抵のレンタルサーバーでも使えるようになっています。 ただ、オリジナルのlibcurlそのままの関数風インターフェースを踏襲しており、オブジェクト指向型のラッパーなどは用意されていないため、あまり使いやすくはありません。が、並列リクエストが可能であっ
Chunked Transferとは 一般にHTTP KeepAliveを利用するには、レスポンスのボディがどこで終わり、次のレスポンスがどこから始まるかをクライアントが知る必要があります、そのためHTTP/1.0ではKeepAliveを行う為にボディの長さをContent-Lengthをヘッダに入れなければなりませんでしたが、サイズを測るためにデータをすべてメモリに読み込むなどの処理が必要になり、レスポンス開始までの時間もかかります。(一般的なアプリケーションにはあまり影響がありませんが) そこでHTTP/1.1ではChunked Transferという仕組みが入っていて、事前に全体のレスポンスの長さが分からなくても、chunk=固まり毎にサイズを記してレスポンスを返していき、最後に0byteと送信することで、コンテンツの切れ目がわかるようになっています。 HTTP/1.1 200 OK
<fs 150%><color red>@kfujieda さんによるもっと良い翻訳が登場しました.勉強になります.このページのものよりそちらをご参照ください.</color>→ SSL is not about encryption</fs> <color red>言い訳になりますが,もちろん藤枝さんのおっしゃるような「SSLの主目的は暗号化ではない」というのは理解しています.そこをあえて今回のようなタイトルに訳したのは私なりの考えがあってのことです.ただ,「翻訳」というものが期待されるものからすると不適当だったかも知れません.</color> <color red>自分が通信をしたい相手であることがきちんと確認が取れた相手と暗号化通信を行わないと意味がないと思いますが,「暗号化されてるからいいでしょ」というような事を今まで何度か聞いた事があり,それは違うだろうと思った事があります.この
HTTPのリクエストは、Java, JavaScript, PHP, Objective-Cなど 様々な言語やフレームワークを使って送信するサービス開発を、多々行ってきました。 でも、HTTPリクエストについてちゃんと知ってるかと言うとビミョーな感じで。 今回は、HTTPリクエストについて学んだので、その内容をブログに書きたいと思います。 HTTPリクエストの構成 HTTPリクエストは、大きく3つの部分に分かれるようです。 HTTPリクエスト行 HTTPヘッダー行 HTTPボディ部 GET通信では、上記のうち「HTTPリクエスト行」と「HTTPヘッダー行」を送信して、 POST通信では、「HTTPリクエスト行」と「HTTPヘッダー行」と「HTTPボディ部」を送信するようです。 具体的な構造は以下となっているようです。 HTTPリクエストの中身は、具体的には以下のような内容のようです。 (G
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く