記事を始める前に

この記事ではこれからASPを学ぶことに置いて基本となる知識を教えてます。

記事を始める前の基本知識

Webの世界にはクライアントサーバーと言うのが存在します。まず、クライアント(Client)とは、”他のサーバーやコンピューターに対して情報を要求したらい利用するソフトウェア”と言えるでしょう。Webアプリケーションの場合、Microsoft Edge, Safari, Opera, Google Chromeのようなインターネットブラウザーなどがあると理解しても良いと思います。

ちなみに、Webアプリケーションの概念がよくわからない方は以下の記事を参考にして頂くと良いと思います。

一方、サーバー(Server)とは、”他のコンピューターからの要求に対して、情報やサービスを提供するコンピューターやソフトウェア”を言います。要すると要求するのはクライアントで提供するのがサーバーとなりますね。周りでよく見れるサーバーとしては、大量のデータを管理するデータベースサーバー、電子メールを受け渡しするためのメールサーバー、ファイルを転送するためのFTPサーバーなど、数えしれないサーバーがあります。その中で私たちが扱うサーバーはWebアプリケーションでクライアントからの要求を受け付け、サービスを提供するWebサーバー(もしくはHTTPサーバー)に対して扱おうと思います。

これ以降、サーバー=Webサーバーと言う感じで理解してください。

世の中には色々なサーバーが存在します。

クライアント/サーバー間の通信

Webでは、ブラウザーを使うことによってインターネット上のコンテンツを見る事が出来ます。この位置を表すための記法をURL(Unifrom Resource Locator)と言います。このサイトの「https://dripcoke.com/」がURLの一種となってます。

そして、クライアントとサーバーとの間では、URLやコンテンツをHTTP(HyperText Transfer Protocol)と言うプロトコルで通信します。

HTTPとは通りHTMLを転送するためのプロトコルであり、”クライアントからのリクエストに対して、サーバーからのレスポンスする。”という単純なやりとりを規定しています。

ようすると”クライアント”である私たちが見てるWeb画面は、”サーバー”側からHTTPというプロトコルという規約の下で送られたHTMLのページでしたね!

ちなみにHTMLの概念に対して習得してから進みたい方は以下の記事を参考にしていただくといいと思います。

その他に、HTTP、リクエスト、レスポンスに対してもっと調べたい方は以下の記事を参考にして頂くといいと思います。

静的ページと動的ページ

このようなWeb上のやり取りにおいて、サーバー側に用意されたコンテンツをそのままクライアントそのまま送るページの事を静的ページと言います。(ex.クライアント側あらindex.htmlを要求してサーバー側からindex.htmlを応答した場合)

しかし、Webページと言うものは静的ページだけではありません。クライアントが特定の値を入力して要求した場合に応じて、応答するデータを自動的に変更するケースもあります。例えば、Google検索エンジンで「Dripcoke」と検索したら「Dripcoke」というサイトの検索結果を表示するサイトを表示します。

このように、サーバーがWebページ内でクライアントの要求に応じて働くページを動的ページと言います。

この世で働くのは人間だけではありません。サーバーも働いています。

クライアントサイド技術とサーバーサイド技術

上記の段落までみましたが、Webページには「動的ページ」というものが存在します。その動的ページを動かすためにはサーバーサイド技術クライアントサイドの技術が必要です。

クライアントサイド技術サーバーサイド技術は”ユーザーの操作や与えられた値、条件に応じて動的にコンテンツを生み出すため”に存在します。

まず、クライアント側の技術に対して見てみましょう。クライアント側の技術クライアント側にスクリプトと必要なデータイメージや音声など)をダウンロードして仕組みを表示することを言います。例えば、皆様がよく知ってるJavaScriptのようなものがそうです。

それに反して、サーバーサイド技術プログラムの処理をサーバーサイドで行い、その結果をHTMLのなどの形でクライアントで送信する技術を言います。これから見てみるASP.NETなどがサーバーサイド技術です。

クライアント側の技術における「動的」とは、あくまで用意された情報の見せ方の変化させているにすぎません。コンテンツそのものは変わりません。一方、サーバーサイド技術ではファイルシステムやデータベースをはじめ、サーバー側のストレージ自由に利用できます。つまり 、ASP.NETのようなサーバーサイド技術では、コンテンツ提供者が提供する情報だけではなく、クライアントから入力した情報を見ることもできます

サーバーサイドでは見れる情報が多い分やれること、もしくは、やるべき事が多いです。

もし、記事を読みながらJavaScriptの仕組みなどを知りたい方は以下の記事をお勧めします。

ASP.NETのイントロ