40
33

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ラクスAdvent Calendar 2017

Day 21

エンジニアではない人向けのWebサービス技術の基礎知識

Last updated at Posted at 2017-12-20
1 / 48

こんにちは

  • **ラクス Advent Calendar 2017**の21日目です
  • 今回は、弊社社内の非エンジニアさんの要望により
    最低限これだけ知っておくと、エンジニアさんが話している内容が、理解しやすくなるよ」的な知識を共有します

  • 弊社商材に従事している非エンジニアさん向けなので、情報に少々偏りがあります
  • それでは、どうぞ
    p21.png

もくじ


p3.png


p3.png


Webサービスの流れ


Webサービスは、PCまたはスマホとインターネット上のWebサーバが通信し合うことで実現します

p3.png


サービスを利用する側は**クライアントサイド、サービスを提供する側はサーバサイド**と呼ばれます

p4.png


クライアントサイドからサーバサイドへ何か要求することを**リクエスト**と呼びます

p5.png


サーバサイドがクライアントサイドの要求に応答することを**レスポンス**と呼びます

p6.png


Webサービスは、この**リクエストレスポンス**の一連の通信で実現します

p7.png


この通信は一般的に**HTTP**と呼ばれる通信プロトコルで実現しています


通信プロトコル?


  • 「プロトコル」は直訳すると「お約束ごと
  • 例えば「人が話し合いをする上でのお約束事」といえば「同じ言語が話せること」ですよね

p8.png


  • システム同士の通信も同じで、通信する際は互いに同じ「お約束ごと」が使えることが必要になります
  • 通信の場合は、これを「通信プロトコル」と呼んでいます

p9.png


HTTPSとは


  • Webサービスに従事すると、**HTTPS**と呼ばれるプロトコルを聞くことがあると思います
  • HTTPと同じで、Webページをやりとりする際に使われるプロトコルです
  • HTTPよりも**セキュリティレベル**が高いプロトコルです

WebサービスではHTTPよりも**HTTPS**で通信することが強く推奨されています


もくじ


p12.png


クライアントサイドの仕組み


サーバサイドからのレスポンスは、下図のように**ブラウザ上でクライアントサイドスクリプト**が実行されてから、私たちの目に届いています
p13.png


ブラウザとは


  • サーバサイドからのレスポンスを、PCやスマホ画面上に表示するためのソフトのことです
  • ブラウザでは、クライアントサイドスクリプトの実行、**HTMLのレンダリング**など、様々な処理が実行されます

Windows標準ブラウザが Internet Exploer(IE) なので、日本での認識率No.1はおそらくIEです

p14.png


ブラウザ別の普及率


  • しかし世界規模で見ると、Chromeがとてつもないスピードで普及していることがわかります(**緑グラフ**=Chrome)
  • 日本も基本的には同じ傾向ですが、世界に比べIEの比率がやや高めです(**青グラフ**=IE)

p15.png


クライアントサイドスクリプトとは


  • **ブラウザ上で実行される**プログラムのことを指します
  • サーバサイドからのレスポンスにこのプログラムが記載さているとブラウザ上で実行されます

p16.png


一般的には**JavaScript**というプログラミング言語がメジャーです


クライアントサイドスクリプトの良し悪し


p17.png
重要な処理(データの抽出・更新など)は、クライアントサイドスクリプトで行わないなど、**使いどころ**に注意して使用することが大切です


もくじ


p18.png


サーバサイドの仕組み


クライアントサイドからのリクエストは、下図のように①**サーバサイドスクリプトを実行して、②データベース**へ処理を行い、その結果をクライアントサイドへ返しています

p19.png


サーバサイドスクリプトとは


  • **Webサーバ上で実行される**プログラムのことを指します
  • クライアントからの要求を加工してデータベースに渡すこと、データベースからの応答を加工してクライアントに返すことこれが主な役割です

p20.png


一般的には**Java、PHP、Python、Ruby**などのプログラミング言語がメジャーです


データベースとは


クライアントが入力した**データを保存する**システムです
p22.png


  • データベースは通常、下図のエクセルのような表形式で保存されます
  • 1つの表のまとまりを**テーブル**と呼び、1つのサービスで何百、何千のテーブルが使用されることもあります
    p23.png

PostgreSQL、MySQL、Oracle Databaseなど様々なデータベースシステムが存在します


以上です。


まとめ


  1. Webサービスの流れ
  2. 通信プロトコルについて
  • HTTPSとは
  1. クライアントサイドの仕組み
  2. ブラウザとは
  • ブラウザ別の普及率
  1. クライアントサイドスクリプトとは
  • クライアントサイドスクリプトの良し悪し
  1. サーバサイドの仕組み
  2. サーバサイドスクリプトとは
  3. データベースとは

  • 今回は、大まかにWebサービスがどのようにして動いているのかを中心に説明しました
  • もし続きを作ることがあれば、次回は少し踏み込んだ技術知識やリアルなエンジニアの業務内容なんかも共有していきたいと思います
40
33
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
40
33

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?