タグ

httpに関するi_matsuiのブックマーク (13)

  • Deep Dive into The Go's Web Server

    Gonet/httpパッケージはとてもよくできており、Webサーバーを動かすのに必要になる「httpコネクションを確立してリクエストを読んでルーティングして……」という手続き的な処理を気にせずとも誰でも簡単にWebサーバーを立てられるようになっています。 ですが、そのnet/httpが代わりにやってくれている「裏側の処理」の部分が気になる、何やっているんだろう?と不思議に思っている方はいませんか? このでは、実際に筆者がnet/httpパッケージのソースコードを読み込んだうえで、「GoのWebサーバーがどのような仕組みで起動・動いているのか」というところについて、図を使いながら解説しています。

    Deep Dive into The Go's Web Server
    i_matsui
    i_matsui 2021/09/09
    [net/http]
  • Channel APIによるクライアント=サーバー双方向通信(1/5):Google App Engine for Java(GAE/J)プログラミング入門 - libro

    HTMLはさまざまな使われ方をされるようになってきていますが、しかし苦手なものというのはあります。その一つが「連続した接続を維持すること」でしょう。HTMLは、1回毎にサーバーにアクセスしては接続が切れる、といったことを繰り返していますので、サーバーとクライアントの間での通信を維持し続けることはできないのです。これができないと、いわゆるPUSH配信(サーバーから必要に応じてクライアントに送信をする方式)などが行えません。 Ajax技術の発達により、擬似的にPUSH通信を可能にするものも登場するようになりました。HTML5では、これを更に進めたServer-Sent Eventや、新たなプロトコルを利用するWeb Socketといった技術も登場しました。 が、こうした技術は、まだ完全には広まっていません。IEが対応していないということもありますし、Web SocketなどはHTTPサーバーと

  • SOCKSプロキシとHTTPプロキシの違いについて勉強してみた | DevelopersIO

    はじめに サーバーレス開発部@大阪の岩田です。 先日接続元IPアドレスをクラスメソッドのGIPに制限した検証環境を利用してAPIのテストを行なっていたところ、リモートワーク中のメンバーが検証環境に接続できないという状況が発生しました。 下記の記事で紹介されているように、クラスメソッドではSOCKSサーバーが構築されているので、VPN経由で社内NWに接続し、SOCKSサーバーをプロキシとして利用すれば来リモート環境からでも検証環境が利用できるはずです。 VPN利用者のためにdelegateでSOCKSサーバーを立ててみました 最初はcurlコマンドのオプションに--proxyを付けてプロキシサーバーを指定するようお願いしたのですが、--proxy http://proxy.example.com:xxxxのような指定を行なっていたようで、問題が解決しませんでした。 結局--proxy so

    SOCKSプロキシとHTTPプロキシの違いについて勉強してみた | DevelopersIO
  • WebのCache-Control - Qiita

    はじめに Webは、HTTP通信による単なるクライアントサーバシステムではなく、受け取ったHTTP Responseをキャッシュして再利用することを、基盤に組み込んでいます。 HTTPのCache-Controlヘッダを使ってキャッシュ制御のヒントとなる情報を通信相手に提示し、ブラウザやWebサーバといった受け手それぞれがその情報をもとに自律的に振る舞うことで、Webでは分散システムとしてキャッシュ制御が成立しています。 このキャッシュ機構の存在によって、ブラウザからは通信なしでもハイパーリンク関係を処理できる状況が少なからず成立し、この結果、Webは通信効率の良いネットワークシステムとなっています。 この記事では、まず、Webでのキャッシュ制御が想定するモデルについてまとめ、そして、このモデルに対して、リクエストレスポンス双方のCache-Controlヘッダの値がどのようなキャッシュ制

    WebのCache-Control - Qiita
  • Varnish入門と仕組み - Qiita

    Varnish入門と仕組み Agenda Varnishとは 仕組み 入門 ベンチマーク Reference Varnishとは 2005年に作成 ライセンス BSD cache機能を持つリバースプロキシとして知られるOSSのHTTPアクセラレータの一つ(Squid cache等) プロキシについて フォワードプロキシ Clientの前段に配置して不特定多数のサイトに代理でアクセスしにいくこと リバースプロキシ Serverの前段に配置して不特定多数のクライアントからアクセスしてきたのを代理レスポンス返す WHY プロキシ? 負荷分散 セキュリティ向上 コンテンツキャッシュによる応答の高速化 どこで使われてる? Fastly Cookpad Hatena 大規模サービス技術入門より 某アイドルの投票 過負荷に耐えるWebの作り方より Varnishのキャッシュについて Varnishはキャ

    Varnish入門と仕組み - Qiita
  • h2oをamazon linux環境(aws)でビルドするためのメモ - Qiita

    @kazuho さんが最近作ったnginxの2倍速いという噂のh2oをamazon linuxでビルドするメモ。 さすがにh2oをmacbuildするのはこの短時間じゃ無理だった。前に一度まとめた事があるのでメモを開放しておく。 cmake を 3.0.2 にする sudo yum install curl curl-devel sudo yum install libarchive libarchive-devel sudo yum install expat expat-devel wget http://www.cmake.org/files/v3.0/cmake-3.0.2.tar.gz tar -xvf cmake-3.0.2.tar.gz cd cmake-3.0.2 ./bootstrap --prefix=/usr \ --system-libs \ --mandir=/

    h2oをamazon linux環境(aws)でビルドするためのメモ - Qiita
  • HTTP ベンチマークツール wrk についてメモ

    モダンな HTTP ベンチマークツール wkr の簡単な使い方についてメモ。 wrk の特徴は以下。 C で書かれている マルチコア CPU を 活かした高負荷をかけられる スレッドと epoll/kqueue のイベントドリブンを活用して負荷をスケールさせる(NOTICE ファイルを読むと Redis Event Library(ae event loop) を拝借しているようです) Lua スクリプトで HTTP クライアントの処理や実行結果のレポートをカスタマイズできる Installing wrk in CentOS 6 まずはビルドに必要なパッケージをインストールします。 $ sudo yum install git $ sudo yum groupinstall 'Development Tools' $ sudo yum install openssl-devel opens

    HTTP ベンチマークツール wrk についてメモ
  • iOS9対応でやろうと思っていることまとめ - NSBlogger

    iOS9がそろそろでます iOS9が今月半ばに登場するので、それに向けてiOS9対応をする必要があります。 例年の通りだと、来年にはiOS9SDKでビルドしていないものは審査すら出せなくなります。 iOS8対応済みのアプリに対してiOS9対応する際にやろうと思っていることを以下にまとめました。 他にもこれやっといたほうがいいよっていうのがあれば教えて下さい。 iOS9対応とは まずXcode 7をダウンロードしましょう。 Base SDK をiOS9にしてビルド。これで完了です。 最初はビルドが通らないことがしばしば。エラーを取り除きましょう。 以下がポイントです。 1.URLスキーム対応 問題 iOS9からcanOpenURL:メソッドが使えません。「This app is not allowed to query for scheme originalscheme」というエラーをはきま

    iOS9対応でやろうと思っていることまとめ - NSBlogger
  • 【iOS9】HTTP→HTTPSだと!App Transport Security(ATS)について

    【iOS9】HTTP→HTTPSだと!App Transport Security(ATS)について
  • リアルタイム通信で利用されるプロトコルと手法 - tech.guitarrapc.cóm

    NOTE: 記事はすでに内容が古く、今読んでも役に立つ度合いはほぼないです。 記事は、先日社内勉強会のために準備した、Webサービスのリアルタイム通信周りのまとめシリーズ の1つを転載して公開するものです。 まだまだわかっていないことが多いので、ぜひぜひ間違っている点などにご指摘いただければと思い公開します。 ぜひぜひ優しくマサカリをいただけると泣いて喜びます! 目次 目次 はじめに プロトコルと手法 前世代のやり方であるComet について Polling 系 Streaming 系 過渡期といわれてる手法 将来有望といわれてる手法 Polling メリット デメリット 向いているシーン Long Polling (Comet) Polling の発展版 メリット デメリット LongPolling 自体は双方向通信ではない 接続が閉じられるケース 向いているシーン Server S

    リアルタイム通信で利用されるプロトコルと手法 - tech.guitarrapc.cóm
  • オリジン間リソース共有 (CORS) - HTTP | MDN

    HTTP ガイド リソースと URI ウェブ上のリソースの識別 データ URL MIME タイプ入門 よくある MIME タイプ www 付きと www なしの URL の選択 HTTP ガイド HTTP の基 HTTP の概要 HTTP の進化 HTTP メッセージ 典型的な HTTP セッション HTTP/1.x のコネクション管理 プロトコルのアップグレードの仕組み HTTP セキュリティ Content Security Policy (CSP) HTTP Strict Transport Security (HSTS) X-Content-Type-Options X-Frame-Options X-XSS-Protection サイトの安全化 HTTP Observatory HTTP アクセス制御 (CORS) HTTP 認証 HTTP キャッシュ HTTP の圧縮 HTT

    オリジン間リソース共有 (CORS) - HTTP | MDN
  • Ajax クロスドメインリクエスト 制約

    JavaScript を用いて クロスドメイン で リクエストを行いたいと思うと、 "同一制限元ポリシー(Same Origin Policy)" に引っかかります。 そもそもその制約にある背景は何か…といったところから、制約内容、制約の例外、制約の回避についてまとめました。 制約する理由 制約の内容 制約の例外 制約の回避 制約する理由 クロスサイトリクエストフォージェリ(CSRF)対策。 悪意あるサイトからの不正な要求を拒否するため。 制約の回避方法を見ていてもそうですが、信頼できるサーバーかのリクエストしか受け付けないようになっているようです。 制約の内容 ― 同一生成元ポリシー(Same Origin Policy) 以下の3条件がすべて満たされている場合のみ、XMLHttpRequest によるデータ送信 & 受信が行えます。 それ以外は基的に通信が拒否されます。 スキーム(h

    Ajax クロスドメインリクエスト 制約
  • Backbone.jsをRESTでない環境やJSONの使えない環境で使う

    最近はCoffeeScriptでBackbone.jsを書いてることが多いです。 MVCっぽいJavaScriptフレームワークはなれてくると、やっぱりいいものですね。 でも、WebアプリケーションフレームワークによってはRESTスタイルなやり取りできなかったり、JSONでデータのやり取りが困難な場合もあったりなかったり。 Backbone.jsをそんな環境下で使うと大変じゃないのかとか思っていたけど、ちゃんと準備されてました。 これ、ドキュメントにも書いてあるんですけどね。 ModelオブジェクトやCollectionオブジェクトがRESTなAPIで通信できないときは [javascript] Backbone.emulateHTTP = true; [/javascript] として設定を変えておけば、Put、Deleteに代わってPostで通信してくれます。ちなみに、Ajaxの通信は

  • 1