CGI (Common Gateway Interface) は、ウェブサーバが コンテンツ生成をする外部プログラムと協調して動作するための方法を 定義しています。そのプログラムはしばしば CGI プログラムや CGI スクリプトと呼ばれます。CGI は、ウェブサイトに動的な コンテンツを置くための最も簡単で一般的な方法です。このドキュメントは、 Apache ウェブサーバで CGI を設定し、 CGI プログラムを書き始めるための入門書となるでしょう。
HTTP トリガーでは、HTTP 要求で関数を呼び出すことができます。 HTTP トリガーを使用して、サーバーなしの API を構築し、Webhook に応答することができます。 HTTP によってトリガーされる関数の既定の戻り値は次のとおりです。 Functions 2.x 以降は、本文が空の HTTP 204 No Content Functions 1.x は、本文が空の HTTP 200 OK HTTP 応答を変更するには、出力バインドを構成します。 HTTP バインドの詳細については、概要と出力バインドのリファレンスに関するページを参照してください。 ヒント HTTP または Webhook のバインディングを使用する予定がある場合は、不適切な HttpClient のインスタンス化によって生じるおそれのあるポートの枯渇を防止してください。 詳細については、「How to man
IPネットワークであるインターネットでは、通信相手は基本的にはIPアドレスで指定する。コンピューター同士の通信であれば、お互いのIPアドレスさえ分かれば通信が可能だ。ところが、人間にとってIPアドレスはただの数字の羅列でしかなく(IPv4では10進数、IPv6では16進数)、分かりにくい。 そこで、IPアドレスを「ドメイン名」という名前で扱えるようにする「DNS(ドメイン・ネーム・システム)」が1983年に誕生した。DNSは、問い合わせたドメイン名に対してIPアドレスを返す電話帳のような役割を持つ。この対応関係の情報は、階層構造になった多くのDNSサーバーで分散管理している。 DNSサーバーは実際には大きく2種類に分けられる。ユーザーから直接問い合わせを受け、ユーザーの代わりにIPアドレスなどを調べる「キャッシュDNSサーバー」と、ドメイン名に対応するIPアドレスなどを返答する「権威DNS
名前¶ HTML::FillInForm - HTML フォームにCGIデータをすまわせる 説明¶ このモジュールは、前のページのHTMLフォームからのデータを HTMLの input や textarea や select タグに自動的に挿入します。 HTML::Parserのサブクラスであり、HTML::ParserでHTMLを解析し、値をフォームタグに挿入します。 有益な適用例の一つは、ユーザーがHTMLフォームを、必要事項を埋めずにサブミットしたら、 HTML::FillInFormは、全てのフォーム要素がサブミットされた内容を含んでいる状態で、 HTMLフォームを再表示するのに使われえます。 概要¶ この例では、$htmlForm に入っているHTMLフォームに、$qの中に入っているCGIパラメータで埋めます。 たとえば、以下では、どの"name"テキストフィールドの値も"Joh
現在のWebでは、セキュリティ上レスポンスヘッダで色々なものを指定します。Webデベロッパーは個別に指定しなければなりません。 そこで、セキュリティ関連のヘッダを推奨デフォルト値に設定できるようにする「Baseline ヘッダ (Opt-into Better Defaults)」が、GoogleのMike West氏によって提案されています。 まだたたき台であり、これからW3CのWebAppSec WGで議論されている予定になっています。 Baseline ヘッダ 次のようにレスポンスヘッダを指定します。 Baseline: Security=2022これは、次のヘッダを送信するのと同様です。 Content-Security-Policy: script-src 'self'; object-src 'none'; base-uri 'none'; require-trusted-ty
Denoが大幅な方針変更を発表。3カ月以内にnpmパッケージへの対応を実現、最速のJavaScriptランタイムを目指しHTTPサーバを刷新 オープンソースのJavaScript/TyeScriptランタイム「Deno」を開発するDeno Landは、「Big Changes Ahead for Deno」(Denoの方向性の大きな変更)という記事を公開し、Denoのnpmパッケージへの対応や高速化などの新たな取り組みを発表しました。 Big changes ahead for Denohttps://t.co/Q5xKz3bJLg — Deno (@deno_land) August 15, 2022 今回の発表では、npmへの対応、最速のJavaScriptランタイムを目指す、企業向けサポート、という3つの大きな取り組みが示されています。 3カ月以内にnpmパッケージをインポート可能に
Node.js の exports と module.exports Node.js を使ったモジュールのエクスポートとインポート、require、exports、module.exports についての覚書です。以下は Node.js がインストールされていることを前提にしています。 Node.js では CommonJS (CJS) フォーマットが使われ、モジュールとその依存ファイルの定義には require と exports や module.exports を使います。 参考サイト:Understanding module.exports and exports in Node.js また、 CommonJS モジュールとは、Node.js 環境での JavaScript のモジュール化の仕組みです。 参考サイト:JavaScript Primer/CommonJSモジュール r
HTTP.sys は、次の機能をサポートします。 Windows 認証 ポート共有 SNI を使用する HTTPS HTTP/2 over TLS (Windows 10 以降) 直接ファイル伝送 応答キャッシュ WebSocket (Windows 8 以降) サポートされている Windows バージョン: Windows 7 以降 Windows Server 2008 R2 以降 サンプル コードを表示またはダウンロードします (ダウンロード方法)。 HTTP.sys を使用するタイミング HTTP.sys は、次のような展開に適しています。 IIS を使用せず、インターネットに直接サーバーを公開する必要がある。 内部の展開から Kestrel では使用できない機能が要求されている。 詳細については、Kestrel と HTTP.sys の比較に関するページを参照してください。 H
この記事はWindows & Microsoft技術 基礎 Advent Calendar 2015の2日目の記事です。 IISの実装モデルは2015年Webサーバアーキテクチャ序論に挙げられている中からひとつ選ぶとすればマルチスレッドモデルになりますが、ワーカープロセスによるマルチプロセスも組み合わさっているので、ハイブリッドアーキテクチャとしてもよいかと思います。 プロセスとスレッドの細かい話は明日の後編のほうで扱おうかと思います。今日は概念的なところだけ。 なお、この記事は基本的に(Windows Server 2008の)IIS 7.0から(Windows Server 2012 R2の)IIS 8.5までを想定して書いています。 論理構造(Webサイトとアプリケーションとアプリケーションプール) WindowsにインストールできるIISは1つだけです。ですが、1つのIISは複数の
Go Conferenceは半年に1回行われるプログラミング言語Goに関するカンファレンスです。 石澤氏は、Goを使ったインターネットプロトコルのテストツール「protospec」の作成について発表しました。全2回。前半は、テストツール「protospec」の仕組みについて。 HTTP/2のサーバーをゼロから実装した時に感じたこと 石澤基氏:今日は、GoとOCI Artifactsを使ってインターネットプロトコルのテストケースを共有可能にするという話をしていきたいと思います。 私はカンムという会社でソフトウェアエンジニアをしています、石澤基と申します。カンムでは主にサービスのバックエンドやインフラ領域を担当していて、Goは個人的に書いているのも含めて、5年ぐらい前から書いたり読んだりしています。 私が所属するカンムでは、VISAのプリペイドカードをアプリですぐに発行して使える、「バンドルカ
どうも、インフラの後藤です。夏休みの自由研究として、HTTP/3について遊んでみたのでよろしくおねがいします。 はじめに HTTP/3はRFC目前となっており、すでに多くのブラウザがサポートし、ミドルウェアも実装が進められています。また、GCPではCloud CDN やHTTPS Load Balancingですでに利用することが出来ます。 HTTP/3は、トランスポートプロトコルにUDPで動作するQUICを利用しています。このQUICは様々な効率化の仕組みが盛り込まれていて、結果としてHTTPプロトコルの高速化が実現されています。 一方で、少ない環境ではあるものの、QUICが利用できないネットワークがあることも知られています。実際に使用する場合に問題になることはなく、多くの場合はHTTP/2にフォールバックされアクセスが行われます。ですが、国内での実情は調査の余地があると思われます。 今
Haskellコミュニティでは、ネットワーク関連を担当。 4児の父であり、家庭では子供たちと、ジョギング、サッカー、スキー、釣り、クワガタ採集をして過ごす。 前回は、QUICパケットとフレームの構造について説明しました。準備が整いましたので、今回はコネクションの確立時に実行されるハンドシェイクについて説明します。 トランスポート層を実装する場合、コネクションを確立する部分を作らないと何も通信できませんが、QUICはこのハンドシェイクの実装が結構難しく、実装者泣かせの仕様となっています。 TLS 1.3のハンドシェイク まずTCP上のTLS 1.3のハンドシェイクを以下の図を使って説明します。 最初にTCPのコネクションを張る必要があるので、お馴染みの TCP 3-way ハンドシェイクから始まります。 次にクライアントは、(楕円曲線)Diffie-Hellmanの系統を用いて、使い捨ての公
REST入門 基礎知識 はじめに RESTサービスを開発するにあたって勉強したことをまとめました。RESTとはなんぞやというところについて書いていきます。実際の開発方法等については当記事では触れません。 RESTとは REST(REpresentational State Transfer)はWebサービスの設計モデルです。RESTなWebサービスは、そのサービスのURIにHTTPメソッドでアクセスすることでデータの送受信を行います。 例としてQiitaのREST APIを利用してみます。下記のURLにアクセスしてみてください。(ChromeかFirefoxでないと*.jsonファイルのダウンロードになる場合があります) https://qiita.com/api/v2/users/TakahiRoyte {}でくくられている文字が表示されたかと思います。これは JSON(JavaScri
Webやスマホアプリ開発に欠かせないRESTful APIとは? REpresentational State Transferの略であるREST。RESTful APIは、基本的に「RESTの原則」に従って実装されているWebシステムのHTTPでの呼び出しインターフェースのことを指します。そのため、広義には、「REST APIとRESTful APIは同じものである」といっても間違いではありません。では、RESTful APIとは具体的にはどういったものなのでしょうか? 今回はRESTful APIの概要や原則、そしてRESTful APIを使うことのメリットとデメリットについて紹介します。 RESTful APIの概要、REST、4つの原則とは? RESTは、HTTPプロトコル作成者の一人であるRoy Fieldingによって2000年頃に提案されたもので、分散アプリケーションを構築す
IETFのQUICワーキンググループで標準化作業が進められてきたQUICとHTTP/3が、6月のQUICワーキンググループにおけるラストコールを経て、IETFのステアリンググループであるIESGのラストコールとして10月21日に受諾されました。 ラストコールとしてIESGが受諾したドキュメントは、QUICとHTTP/3の標準化に関わる以下の6つのドキュメントです。 QUIC: A UDP-Based Multiplexed and Secure Transport QUIC Loss Detection and Congestion Control Using TLS to Secure QUIC Version-Independent Properties of QUIC Hypertext Transfer Protocol Version 3 (HTTP/3) QPACK: Head
注釈 カスタム HTTP ハンドラーを記述して、共通言語仕様 (CLS) 準拠言語で特定の定義済みの種類の HTTP 要求を処理できます。 クラスで定義されている実行可能コードは、従来の HttpHandler ASP または ASP.NET Web ページではなく、これらの特定の要求に応答します。 HTTP ハンドラーを使用すると、IIS Web サーバーの低レベルの要求および応答サービスと対話する手段が提供され、ISAPI 拡張機能と同様に、より単純なプログラミング モデルを使用した機能が提供されます。 ハンドラーがセッション状態の値にアクセスする場合は、 インターフェイス (メソッドのないマーカー インターフェイス) を実装 IRequiresSessionState する必要があります。 プロパティ
An ASP.NET HTTP handler is the process (frequently referred to as the "endpoint") that runs in response to a request made to an ASP.NET Web application. The most common handler is an ASP.NET page handler that processes .aspx files. When users request an .aspx file, the request is processed by the page through the page handler. You can create your own HTTP handlers that render custom output to the
Hypertext Transfer Protocol(ハイパーテキスト・トランスファー・プロトコル、HTTP)はアプリ間コネクション上のリクエスト/レスポンス型・ステートレス・メッセージ指向通信プロトコルである[1]。 TCPやQUICはアプリケーション間のコネクション型通信を提供する。HTTPはこのコネクション上を、リソース要望と返答が、メッセージ単位で、1往復のクライアントリクエスト&サーバーレスポンスという形で通信される、と定めたプロトコルである[1]。 HTTPの発明により、インターネット上でのリソース公開とアクセスが容易になった。クライアントがサーバーとコネクションを確立し1つのHTTPメッセージを書いて送るだけで、サーバー上のリソースがHTTPメッセージとして帰ってくる。ゆえにHTTPで公開されるあらゆるリソースにHTTPという単一の手法でアクセスできるようになった。 HTT
現在標準化が進められている次世代HTTPの「HTTP/3」は、トランスポートプロトコルとして「QUIC」と呼ばれる新しいプロトコルを採用します。 現時点のHTTPはトランスポートプロトコルとして「TCP」が採用されています。その上で、可能な限り高速な通信が行えるようにさまざまな工夫や最適化が進められてきました。そしてもうこれ以上高速にしようとすると、TCPそのものを改善していくべきだろう、というところまできたのです。 それがHTTP/3で「QUIC」が採用される大きな理由といわれています。 TCPは内部で輻輳制御や再送などを自動的に行うことで通信が確実に行われることを保証してくれる便利なプロトコルですが、それゆえに、確実に通信が行われるまで待つ必要があるために通信環境によっては遅くなりがち、などの側面があります。 そこでQUICは、TCPのような通信の保証がない代わりにリアルタイム性の高い
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く