タグ

httpに関するi97506051502のブックマーク (10)

  • What RESTful HTTP request for executing actions on the server?

  • chromeは、301リダイレクトをキャッシュしている - too_youngの日記

    最近、かなりリダイレクト使うサービスを作っていて、 たまたまchromeでチェックをして気がついた。 もう少し具体的にどういう事かというと、 "HTTP/1.1 301 Moved Permanently"などのヘッダーを付けて、 リダイレクトさせると、chromeの場合、 そのリダイレクト先をキャッシュし、 2度目以降、同じURLへのアクセスは、 リダイレクト先のURLへ直接飛んでいきます。 普通のユーザーであれば、全く問題ないのですが、 開発者でリダイレクターでカウンターや解析用のcookieを発行を考えている場合、 正常に機能しなくなってしまうので注意が必要です。 解決方法は、簡単で、 "Pragma: no-cache"などのキャッシュさせないような ヘッダー情報も付けるだけです。 ちなみに、"Pragma: no-cache"は、HTTP/1.0用で、 HTTP/1.1ではCac

    chromeは、301リダイレクトをキャッシュしている - too_youngの日記
  • HTTPステータス・コードとメソッド - CyberLibrarian

    HTTPプロトコルでは、コンピュータ同士が通信している間に、コードを用いてお互いの状態(ステータス)をやり取りしています。このコードのことをHTTPステータス・コード(HTTP Status Code)と呼び、エラーが発生した場合に「404 Not Found」のようにブラウザ上に表示されたり、エラーが発生しなかった場合にも見えないところでやり取りされています。 また、通信を行うためにクライアントがサーバーに様々なリクエストを行いますが、このリクエストの方法をメソッドと呼びます。 規格

  • nagiosのhttp監視のメモ

    完全に個人用のメモです。(え?Nagiosなんて使ってないでZabbix使え?いやZabbixも使ってます…) check_httpでページ上の文字列もチェックする単なるhttp監視だと、アプリケーションがエラー画面を出していても200で応答していたら正常とみなされてしまうので(アプリケーションエラーでステータスコード200を返すのは相当ださいけど…)画面上に表示される文字列も照合するようにした方が良い。 nagiosなら以下のようにする。 /etc/nagios/objects/commands.cfgに以下を追加 define command{ command_name check_http_string command_line $USER1$/check_http -H $HOSTADDRESS$ -u $ARG1$ -s $ARG2$ } そして、サービスの定義で define

    nagiosのhttp監視のメモ
  • 46. CURLのセッションを引き継ぐ方法

    WebサイトのHTML情報を取得する際にcurlを使用することがあります。 curlとはWebブラウザのコマンドライン版のようなもので、与えられた コマンドを元にページ情報を取得する機能です。 curlを使用すれば、ログインフォームにPOSTでデータを渡してログイン 処理を行い、ログイン後のページ情報を取得するようなことも可能です。 ですが、ログイン処理を行った後、ログイン後にしか行けないような別の ページの情報を取得しようとすると、セッションが引き継げずHTMLが取得 できない場合があります。 今回はそのような場合に対処する方法をお教えします。 まずは、curlを使用してログイン処理を行い、ログイン後のページを 表示するスクリプトです。 ここではPHPプロ!にログインする処理を記述しています。 <?php $params = array( "login-name" => "name",

    46. CURLのセッションを引き継ぐ方法
  • バーチャルホストによる複数サイトの同時運用

    独自ドメインが使えるホスティングサービスは、どのように実現しているのだろうか? その鍵となるのが「バーチャルホスト」である。この機能を使うことによって、1台のマシンで複数のWebサイトを運用できるようになる。 バーチャルホストとは 今回は、Apacheの特徴的な機能の1つである「バーチャルホスト」について解説する。この機能により、少ないリソースで複数のWebサイトを構築することが可能になる。 なぜバーチャルホストが必要なのか 通常、Webサーバへのアクセスにはwww.atmarkit.co.jpやwww.tis.co.jpといったURLが利用される。URLの「atmarkit.co.jp」や「tis.co.jp」の部分はドメイン名、「www」の部分はホスト名と呼ばれる。第2回でも説明したとおり、実際にはURLをIPアドレスに置き換えなくてはWebサーバにアクセスできない。そこで、先方ドメイ

    バーチャルホストによる複数サイトの同時運用
  • HTTPヘッダーインジェクション

    (Last Updated On: 2018年8月4日)テキストインターフェース処理の基でもう書いてしまいましたが、今回はHTTPヘッダーインジェクションの解説です。 HTTPヘッダーインジェクションとは? HTTPヘッダーインジェクションはHTTPリクエストヘッダーとHTTPレスポンスヘッダーの二種類に分けて考えます。 1. 特定のHTTPリクエストヘッダーに攻撃用文字列を挿入 攻撃者は様々なHTTPリクエストヘッダーに任意の文字列を挿入して攻撃が可能です。PHPでは$_SERVER変数に保存されます。 HTTP_HOST HTTP_USER_AGENT HTTP_ACCEPT HTTP_ACCEPT_LANGUAGE HTTP_ACCEPT_ENCODING HTTP_REFERER HTTP_CONNECTION HTTP_* (その他、全て) 最初のHTTP_HOSTはホストヘッ

    HTTPヘッダーインジェクション
  • テキストインターフェース処理の基本

    出典:http://ja.wikipedia.org/wiki/User_Datagram_Protocol UDPのデータはヘッダー長フィールドの値によって変わります。ヘッダー部分は固定長のデータです。 バイナリインターフェースの利点は効率が良い事です。例えば、ポート番号がテキストの数値ならテキストからバイナリ値への変換が必要になります。元々バイナリなら変換は必要ありません。(実際にはエンディアンの違いから変換が必要になる場合があります)データサイズも小さくなります。 現在ではテキストインターフェースの多くが可変長のインターフェースを持っています。可変長インターフェースを持つテキストインターフェースは、テキスト情報に意味を持たせるため特定の形式や特別な意味を持つ文字が定義されています。 ここでは「可変長」の「テキストインターフェース」を解説します。 HTTPプロトコル HTTPプロトコル

    テキストインターフェース処理の基本
  • wgetやcurlでgzip圧縮されたコンテンツを取得する - 犬ターネット

    リクエスト投げるときに以下のように「Accept-Encoding:gzip,deflate」ヘッダつけてあげればだいたいOK(サーバ側が対応してればの話だけど)。 wget http://mgng.aws.af.cm/ --header="Accept-Encoding:gzip,deflate" -O mgng.html.gz curl -H "Accept-Encoding:gzip,deflate" http://mgng.aws.af.cm/ > mgng.html.gz これでgzip圧縮されたコンテンツが取得できるから転送量抑えられる。試しに通常のやつとgzip圧縮したやつのサイズを比較してみる。 まず通常のやつ。2525byte。 $ curl http://mgng.aws.af.cm/ > mgng.html % Total % Received % Xferd Ave

    i97506051502
    i97506051502 2014/09/08
    “--header="Accept-Encoding:gzip,deflate"”
  • Ruby の http ライブラリの通信を表示する http-dump を作った - 2nd life (移転しました)

    Ruby 上で http を叩いた通信見たい時に、毎回同じ事をやってるので抽象化して http-dump というライブラリを作った。 https://github.com/hotchpotch/http-dump $ gem install http-dump require 'net/http' require 'uri' require 'http-dump' HTTPDump.dump { Net::HTTP.get(URI('http://example.com')) } と http でやりとりしてるコードを block で囲むと、以下のように出力される。 > GET http://example.com/ with headers {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=

    Ruby の http ライブラリの通信を表示する http-dump を作った - 2nd life (移転しました)
  • 1