Web開発に関しては、「バックエンド/サーバーサイド」が本当に理解できませんか?


18

Web開発の世界では、バックエンド/サーバー側のプログラマーは正確に何をしますか?私は概念全体を本当に理解していないと思います。

HTML / CSSレイアウトとWebサイトのデザインを行い、PHPで少しSQLを実行しました(スキルをさらに向上させていますが、それは私にとってはサイドプロジェクトのようなものです)。少量のJavaScript / JQueryも実行しました。

しかし、スクリプト言語(Rails / Python / etc)などの「バックエンド」の仕事は理解していません。あなたは彼らと一体何を「する」のですか?


8
このサイトのQとAsはどこに行くと思いますか?
マヤンク

回答:


17

PHPを使用している場合、サーバー側の作業は完了です。

素人の言葉で言えば、クライアント側のコードはコンピューター、Webブラウザーで実行され、サーバー側のコードはインターネット上のコンピューターで実行され、サーバー側の計算結果はインターネットを介してユーザーに送信されますブラウザ。

SQLステートメントを実行するPHPコードを作成すると、リモートコンピューター(サーバー)でSQL呼び出しが行われ、その結果(通常は生成されたHTMLの形式で)がインターネット経由でブラウザーに送信されます。

一方、JavaScriptはブラウザで実行されます。CSSも同様です。

チェックアウト については、クライアント側とサーバー側のプログラミングの違いをご覧ください。


13

基本的な前提は次のとおりです。

ここに画像の説明を入力してください

ユーザーが入力を行い、何らかのネットワークを介して送信すると、サーバーは入力に従って魔法をかけます。

基本的に、すべてのセキュリティと検証をサーバー側で実行する必要があります。控えめなフォーム検証のように、クライアント側で実行される機能により(ただし、サーバー側を検証する必要があります!)。

大きな質問: なぜですか?

ユーザーは自分のマシンの情報を変更できます。例として、ユーザーがゲームを「ハッキング」できるようにメモリ値を変更するゲームトレーナーを参照してください。物理的な構内でマシンで中核的なことを行うと、誰かがセキュリティチェックを改ざんする可能性が大幅に低下します。


6
フリーハンドサークルを使用していません。:(
glasnt

では、Web Application Frameworksのポイントは何ですか?

3
@Mercfh:簡素化するため。彼らはあなたにあなたのビジョンを構築するための基盤を提供します。あなたがしたい認証フレームワークを構築するために?日付とビュー、コントローラーとルーティングを処理する方法はありますか。学術的な演習でない限り、そうは思いません。フレームワークが必要なのは、最初に解決すべき問題があり、日付の処理が問題だったからです。:)

0

システムのクライアントと対話するシステムを設計するときに、フロントエンドのものを設計します。ここで、クライアントという言葉は非常に大きいことに注意してください。ただし、基本的には、外部世界へのインターフェースを提供するときにフロントエンドで作業していることを意味します。

ほとんどのウェブサイトはフロントエンドに過ぎません。つまり、外部の世界に情報を提供し、ほとんどの場合、この情報はHTMLファイルのテキストとして非常に単純に保存できます。

サービスを提供し、フロントエンドが消費する機能をカプセル化する必要がある場合、バックエンドを設計します。これにより、ワークロードの一部をクライアント(フロントエンド)からサーバー(バックエンド)に移動できます。これは、システムに同時にアクセスできるさまざまなクライアントからの情報を調整する必要がある場合にインスタンスで行います。または、中央データリポジトリを使用して動的データを照合する必要がある場合、または特定のセキュリティ要件が必要な場合も同様です。このリストは決して網羅的なものではなく、簡単な例です。

簡単に言うと、フロントエンド(クライアント)は情報を外部に提示します。通常、これらはHTMLまたはその他の何らかのGUIを介した人間です。

バックエンドは、フロントエンドが使用するサービスを集中化する手段を提供します。バックエンドの使用は必須ではなく、システムに複雑さを追加しますが、構築しようとしているシステムに固有の複雑さをより適切に管理できます。

たとえば、wikiなどのサービスをフロントエンドのみで提供することは可能ですが、バックエンドを使用してデータを保存し、フロントエンドに提供することでより自然な方法で解決できるという多くの制限があります。


あなたの説明は素晴らしいですが、ほとんどのウェブサイトはフロントエンドに過ぎないと言うことを除いて。おそらく2003年かもしれませんが、今日では、ほとんどの場合と同様に、ほとんどの場合、バックエンドとデータベースの相互作用がいくつかあると言われました。
カイル

SOを見ると、Facebookやこの世界の人々は、静的なWebサイトを博物館に委ねることになりますが、それでも多くのサイト、企業のフロントページなどがまだあります。つまり、WordPressをインストールしてCSSを少し調整するだけで、フォームの保守がはるかに簡単になり、同じ結果が得られるため、かなり減少する傾向があるというのは正しいことです。ただし、フロントエンドはサイトが公開するRESTfull APIも指定しますが、バックエンドはこのAPIの実装方法です。
ニュートピア

0

フロントエンドはブラウザで実行されるものであり、PHPなどのバックエンドはサーバーで実行され、データベースにデータを保存し、そのような処理を行います。


0

私の意見では、サーバー側の作業(Webサイトにアクセスしているサーバー上で実行されるものは既に言及されています)は、サイトに現実を与えるものです。多くの機能はクライアント側のテクノロジーを使用して実現できますが、私の意見では、これははるかに複雑なアプローチであり、クライアントがクライアント側のコードにあるすべてにアクセスできるため、安全性ははるかに低くなります。PHPとASPは、ある意味ではハイブリッドプログラミング言語です。これは、ほぼ排他的に、いくつかの計算処理を行った後にWebページコンテンツをブラウザーに提供することを目的としています。python、ruby、java、または他のプログラミング言語で作業を開始すると、より多くの能力と機能を使用できますが、プロセスの最後に結果の情報をクライアントに送信するための作業が少し増えます。


0

一般的なWebアプリ/ Webサイトには2つの側面があります。

  1. フロントサイド-UI /レイアウト/色/フォントなどのコントロール

  2. 裏面-データベース内のデータの操作、またはファイル操作を処理し、多くのロジックを実行します。これを実行する場合、実行しない場合、実行します。Apache/ IIS / etc、データベースサーバーなどのWebサーバーソフトウェアと統合します。 mySQL / PostreSQL / MS SQL Serverなどのソフトウェア。

裏側は、Excelファイルの作成、レポートの生成、計算の実行、さまざまなサーバーからのデータの取得など、非常に多くのことができるため、はるかに強力な側面です。

次に、そのデータ、フロントサイドのセットアップ方法を準備して表示します。

どちらかでうまくいくことは、大変な仕事、たくさんの練習、学習、そして自己規律です。

あなたが最高になりたいなら、練習し、学習を止めず、すべての答えを知っていると思い込まないでください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.