タグ

httpに関するCherenkovのブックマーク (11)

  • ChatGPTをぬるぬるにする🐌Server-Sent Eventsの基礎知識

    単方向通信であるということと、HTTP/1.1上で動作しているのが大きな特徴です。 また、HTTP上で動作することから、通信の互換性が高く、セキュリティモデルも使いまわせるので安心です。 どんな用途と相性がいいの? 双方向通信がしたいわけでなければ、相性の幅がとても広いです。 今回の ChatGPT のような、GPT がトークンを生成するごとに送るケースはもちろん、通知の未読件数バッジの更新、ニュース速報の表示など、サーバからイベントを送りたい時ならなんでも使えます。 HTTP/1.1で動くカラクリ SSEはHTTPのレスポンスヘッダにContent-Type: text/event-streamを指定した上で動作します。 SSEが動く流れ クライアントがサーバーに HTTP/1.1 リクエストを送信し、イベントストリームに接続します。 サーバーは、Keep-Alive 接続を使用して、T

    ChatGPTをぬるぬるにする🐌Server-Sent Eventsの基礎知識
  • CORSの仕様はなぜ複雑なのか

    Webアプリケーションを実装していると高確率で CORS の問題にぶつかります。CORSがどのようなものかはリンクしたMDNなど既存の解説を読むのが手っ取り早いと思いますが、「なぜそのように設計されたのか」という観点での説明はあまり見ないため、昔の資料の記述や現在の仕様からの推測をもとに整理してみました。 CORSとは 現代のWebはドメイン名をもとにした オリジン (Origin) という概念 (RFC 6454) をもとに権限管理とアクセス制御を行っています。その基となるのが以下のルールです。 Same-origin policy (同一生成元ポリシー): 同じオリジンに由来するリソースだけを制御できる。 上記Wikipedia記事によるとSOPの概念は1995年のNetscape 2.02に導入されたのが最初のようです。当時のドキュメンテーションを読む限り、これはウインドウ越しに別

    CORSの仕様はなぜ複雑なのか
  • リソースの読み込みを助けるウェブブラウザ API の世界

    ウェブブラウザはネットワークから様々なリソースを集め、それらを処理して組み合わせてウェブページをレンダリングします。リソースが揃わないとレンダリングできないので、この一連の処理のどこかが遅れるとページの表示も遅くなります。レンダリングをすみやかに開始できるようにウェブブラウザはリソースの取得やその処理を最適化するための API を提供しています。記事ではそれらを網羅的に紹介し、ウェブアプリの性能改善を図る上でどのようなブラウザ機能が使えるのかを知ってもらうことを目的としています。各機能の具体的な適用事例については他の記事に委ねます。 記事の内容は記事公開時点での情報に基づいており、閲覧時点では既に古くなっている可能性があります。最新の正確な情報は一次情報源を参照してください。また特定のブラウザ実装について言及する場合は、断りがない限り Chrome を想定しています。誤りや補足、質問な

    リソースの読み込みを助けるウェブブラウザ API の世界
  • CORS: OPTIONSリクエスト(preflight request)を避ける - Qiita

    ajaxなど、ブラウザ経由でGET, POST, DELETEリクエストを投げると、実際のリクエストが走る前にOPTIONSリクエストが送信されることがあります。 一度しかリクエストを送信していなくても、実際はOPTIONSとGETなど、2回リクエストが走っています。 APIによっては、OPTIONSリクエストを受け付けないため、Response to preflight request doesn't pass access control checkのようなエラーが返ってくる場合があります。このOPTIONSリクエストはCORSプリフライト(preflight requests)と呼ばれていて、これが通らないと、実際のGET, POST, DELETEなどのリクエストは送信されません。 このプリフライト・リクエストとは何なのか、OPTIONSリクエストを回避する方法はあるのか調べてみま

    CORS: OPTIONSリクエスト(preflight request)を避ける - Qiita
    Cherenkov
    Cherenkov 2020/07/16
    カスタムヘッダ設定してるとjs側でよしなにOPTIONSメソッド叩かれてそう corsプリフライト preflight requests
  • ハイパフォーマンス ブラウザネットワーキング、読むべき本だった - terurouメモ

    Twitterで「なんかやばそうなが出るぞ!!!」みたいな事を言っていたら、それが偶然拾われて、献して頂く流れになりました。オライリーさん、ありがとうございます。 とりあえずざっと全体を流し読みした(と言っても3時間弱は読んだ)ので、書評っぽいことを書いておく。 ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化posted with amazlet at 14.05.10Ilya Grigorik オライリージャパン 売り上げランキング: 4,747 Amazon.co.jpで詳細を見る 読むべき人間 以下に該当する人間に対しては必読に値するだと思う。 HTTPを扱うアプリケーション*1のアーキテクチャを設計する人間 Webサーバ等のHTTPに関連するインフラを担当する人間 HTTP 2.0、WebSocket、Server-S

    ハイパフォーマンス ブラウザネットワーキング、読むべき本だった - terurouメモ
  • これぞラッキーエラー! 素敵な404ページ

    サイトのユーモアが問われるところです。 インターネットはただケーブルとワイヤーとモデムとコンピューターとプロトコルとhttpとHTMLだけでできているわけではありません! 裏には我々人間がいるのです。そんな人間らしさがでてくるのが404エラーページ。エラーでも嬉しくなる一手間かけてある404ページを紹介します。 まずはトップ。 mintサイト開発者のジャスティンがかわいらしく登場。 Lego最高です。 Herman Cain以前も紹介したハーマン・ケイン氏の2012年大統領選挙のサイト。 Seat Geekうさぎの赤ちゃんはどんな時も和み系。日ならネコやハムスターがうけそうですね。 Blue Fountain Mediaまさか404ページでパックマンができるとは! 404ページが目的のページになってしまいそうです。 [Hacker News, Quora, Fab 404] そうこ(Ca

    これぞラッキーエラー! 素敵な404ページ
    Cherenkov
    Cherenkov 2012/01/06
    404 not found
  • リファラ実験 - referrer test

    Updated: 2005-05-22 03:54:29+0900 [Home] 直にリンク 直にリンク リファラ表示ページに直にリンクします。 Firefox 1.0.4 …… リファラはこのページになる。 Opera 8.0 …… リファラはこのページになる。 IE 6 …… リファラはこのページになる。 NS 7 …… リファラはこのページになる。 Opera 7 …… リファラはこのページになる。 Lynx 2.8(cygwin) …… リファラはこのページになる。 w3m 0.1.9(cygwin) …… リファラはこのページになる。 HTTPヘッダのLocationを使用する Locationヘッダ HTTPヘッダでLocationを使用します。 header("Location: http://www.teria.com/~koseki/memo/referrer/view.

  • PHP で凄く簡単に GET/POST 送信ができる関数を作りました | ウェブル

    以前こちらの URL で GET/POST を簡単にできるコードを書きましたが、問題があるとのことで多くの指摘を頂きました。zaru さんに正しいコードを書いて頂きましたので下記の記事をご覧ください。 PHP で凄く簡単に GET/POST 送信ができる関数を勝手に改良した | zaru blog 下記にコードを引用させて頂きます。いくらか稼働させた所 curl の方が安定していることが分かりましたので、こちらを引用させて頂きます。curl がインストールできない環境等では zaru さんの記事の別のコードを使用してください。 function wbsRequest2($method, $url, $params = array()) { $data = http_build_query($params); if($method == 'GET') { $url = ($data != '

  • Atom や RDF を利用したXSS - 葉っぱ日記

    Internet Explorer の悪名高い Content-Type: 無視という仕様を利用すると、Atom や RDF/RSS を利用してXSSを発生できることがあります。条件的に対象となるWebアプリケーションは多くはないと思いますが、それでもいくつか該当するWebアプリケーションが実在することを確認しました。以下の例では Atom の場合について書いていますが RDF/RSS でも同様です。 例えば、http://example.com/search.cgi?output=atom&q=abcd という URL にアクセスすると、「abcd」という文字列の検索結果を Atom として返すCGIがあったとします。 GET /search.cgi?output=atom&q=abcd Host: example.com HTTP/1.1 200 OK Content-Type: ap

    Atom や RDF を利用したXSS - 葉っぱ日記
  • http://idocsq.net/page/262

    Cherenkov
    Cherenkov 2011/01/20
    1.4から 引数にxhrが追加 response header 301 302 リダイレクトはステータスコードが0
  • 1分でわかる「X-ナントカ」HTTPレスポンスヘッダ - 葉っぱ日記

    最近のモダンなWebブラウザがサポートしている、セキュリティに関連しそうな X- なHTTPレスポンスヘッダをまとめてみました。それ以外にもあったら教えてください。 X-XSS-Protection 0:XSSフィルタを無効にする。 1:XSSフィルタを有効にする。 XSSフィルタを有効にすることでエンドユーザがXSSの被害にあう可能性が低減するが、まれに誤検知することで画面の表示が乱れることもある。IE8+、Safari、Chrome(多分) で有効。IEでは「X-XSS-Protection: 1; mode=block」という指定も可能。 2008/7/2 - IE8 Security Part IV: The XSS FilterBug 27312 – [XSSAuditor] Add support for header X-XSS-Protection X-Content-Ty

    1分でわかる「X-ナントカ」HTTPレスポンスヘッダ - 葉っぱ日記
  • 1