ウェブサイトのサーバー側を常にプログラムする必要がありますか?


38

私は友人のために音楽プロジェクトのウェブサイトの作成を開始しようとしています。現時点ではかなりシンプルなはずです。動的コンテンツ(ツアーの日付など)はなく、いくつかの埋め込みサンプルソングまたはSoundCloudリンクしかありません。レスポンシブグリッドには、バニラJavaScriptとBootstrapまたはFoundation以外のものを使用する予定はありません。

これで十分ですか?HTML、CSS、JSファイルをホストに単純にアップロードして完了できますか、それともNodeまたはPHPでバックエンドサーバーをプログラムするのに時間をかける必要がありますか?


54
それは十分ですか?動的なバックエンドを使用すると解決する問題はありますか。あなたができないまで、それを愚かなシンプルにしてください。
ラバーダック

25
完了していない作業を最大化します。ヤグニ。
ラバーダック

9
テキストを書いたり、写真や音楽ファイルをアップロードしたり、ビデオファイルやYouTubeを埋め込んだりするだけなら、既製のCMSをインストールするのがベストでしょう。理想的であり、ほとんどのホスティング会社がワンクリックのインストーラーを提供して数分以内に作業を開始します。...多くのCMSがあります。
-Kinnectus

11
このような質問になぜ多くの賛成票が寄せられたのだろうか?「データを保存する必要がないのに、ソフトウェア用のデータベースを作成する必要があるのか​​」と尋ねるようなものです。それが初心者の質問であったとしても驚くことではありませんが、ブートストラップ/ファウンデーションプロジェクトを作成するのに十分なスキルがあるときはそうではありません。
マフディ

14
@Mahdiは、誰もがこの正確なことを5年間不思議に思っていて、誰もそれを尋ねる勇気を持っていなかったので、それは支持されました。
-djechlin

回答:


86

サーバー側のコードが必要かどうかわからない場合、おそらく*

*注意:コンテンツ、データ、または機能へのアクセスを内部的に制御する場合、サーバー側コードはセキュリティに不可欠です。(これは、必ずしもする必要はありません、あなたの最後の段落を参照してください、サーバー。)

サーバー側のテクノロジーを使用するとどのような問題が解決するかを自問してください。あなたが何かを考えることができない場合(そしてあなたの場合、私もできない)、あなたはそれらを必要としません。

クライアント側のコードを使用するだけで、考えられる以上のことができることに注意してください。AngularJSやReactJSなどのJavaScriptフレームワークを使用すると、Ajaxを使用するAPIを介してサードパーティの動的コンテンツと統合できます。(これには、独自のセキュリティを処理できるAPIへのフックが含まれます。)


17
これは危険な発言だと思います-サーバー側のテクノロジーは、「クライアント側でできる」ときによく使用されます。サーバーに物事を移動する決定は、セキュリティ上の理由であり、必ずしも機能上の理由ではありません。-このように「知らない」という態度を促進するのは心配です。プログラマーは、どんなアプリケーションでも、説明されているように単純なものであっても、常にセキュリティを考慮する必要があります。ソリューション全体を熟考する必要があります-ユーザーにmp3を提供する前にFBに登録するなど、ユーザーを強制する「保護された」コンテンツエリアが必要ですか?(ただし、この場合、静的サイトは
正常に

3
静的なサイトジェネレーターのセキュリティ上の利点についても言及すべきことがあります。多くのアプリケーションにとって、静的サイトは文字通りハッキングするものがないという点で究極のセキュリティです。
ネイサンGoFundMonicaアーサー

1
Server-side code is essential for securityかなりの開発者はセキュリティについてaf * ckをしません。あなたが彼らの...混乱に顔を投げるまで。認証が必要な場合、バックオフィスが必要です。データを保存する必要がある場合は、クライアント側によってチェックされた後、データが再度チェックされるバックオフィスが必要です。
ウォルフラット

1
@Walfrat認証のみが必要な場合は、任意の数のオープン認証サービスにそれをオフロードし、バックエンドをまったく使用しません。一方、承認が必要な場合は、バックエンドが必要になる場合があります。
corsiKa

56

静的サイトジェネレーターについて読んでください。これらを使用すると、HTMLを手動で作成するのではなく、プログラムで(テンプレート、データなどを使用して)サイトを作成できます。結果は、バックエンドを必要としない静的HTMLおよびCSSのセットです。

https://www.staticgen.com/は、そのような多くのオープンソースジェネレーターをリストおよびランク付けしています。クローズドソース製品も存在する可能性があります。


3
+1、これは、ブログやツアーの旅程など、やや時間が経過した動的なサイトでも機能します。コンテンツがページを見ているユーザーに依存するまで、それで十分です。
-RemcoGerlich

1
+1。ツアーの日程と例の曲は、クライアントによって多少の頻度で更新される必要があります。静的なサイトジェネレーターは、HTMLに触れる必要をなくし、CMS(保守が不十分)よりもはるかにシンプルで安全です。
ベルギ

3
これはOPの良い提案であることに同意しますが、質問に答えようと本当に試みますか?
ウッドロウバーロウ

マークされた答えはより一般的で、Woodrow Barlowが言及したように尋ねられた質問と一致していました。私は、私と他の多くのために行くことができる素敵なソリューションpresetingのための+1をしましたが
Deegriz

2
@WoodrowBarlow:私Can I simply upload HTML, CSS, and JS files to a host and be done with it, or should I take the time to program a backend server in Node or PHP?は、OPの場合、かなり魅力的な3番目のオプションがあることを指摘することを要求すると主張します、オプションIMHO :)
トビアテサン

6

あなたは可能とすべきであることは十分にある場合にのみ、静的なサイトを使用、または使用静的サイトジェネレータを。どうして?保守性。コードにはバグがあります。数週間ごとに、別のWordPressセキュリティホールが見つかります。共通のCMSを使用する場合は、常にパッチを適用する必要があります。それ以外の場合、友人のWebサイトには、違法薬物、ISISプロパガンダ、訪問者のコンピューターにインストールされているマルウェア、またはそれ以上のマルウェアの広告が間もなく含まれます。定期的にパッチを適用しても、手遅れになる可能性があるため、常にハッキングをチェックする必要があります。このCMSを保護する方法があります。「セキュリティプラグイン」をインストールし、mod_securityなどのWebアプリケーションファイアウォールを設定します。すべての作業が完了しました。また、それらは更新され続ける必要があります。mod_securityルールがWordPressのプラグインを破る場合があるため、それを分析して修正する必要があります。もっと仕事。

誰もそのサイトをハッキングしたくないと思うかもしれません。しかし、一般的なCMSシステムに見られる一般的なセキュリティホールには、すぐにWebをクロール/検索し、そのCMSを使用してすべてのサイトをハッキングする自動ボットがあります。彼らはリンク/マルウェア/プロパガンダを広めたいだけです。

静的サイト(手動またはジェネレーターで作成)を使用すると、その問題は発生しません。

独自のバックエンドを実装すると、セキュリティホールも発生します(誰も完璧ではありません)が、ほとんどの場合、その小さなWebサイトでそれらを悪用することはありません。しかし、何を実装しますか?友だちが自分でツアーの日程を変更できるエディタを作成する場合は、友だちがあなたの助けを借りずに簡単に使用できるようになるまでにどれくらいかかるかを考えてください。その時間予算で、彼の日付を何回だけすばやく変更できますか?

私の意見では、静的HTMLは「古い」ため、今日ではあまりにも多くの人がすべてのサイトでCMSシステムを使用しています。HTML5では不可能なものが必要ない場合は、サーバー側のコードを使用してください。しかし、必要ない場合は、それなしで多くの時間を節約できます。


数週間ごと?ああ、もしあれば!似たような日
モニカとの軽さレース

3

必要なときにのみバックエンドプログラミングを行う必要があります。

ただし、メール送信フォームなどの基本的な機能でさえ、通常は基本的なバックエンドプログラミングが必要です。それが単なるディスプレイサイトなら、はい、それは大丈夫です。


1
ただし、単純な機能である場合は、SaaSサービスを使用して置き換えることができます。たとえば、登録フォームはGoogle Formsで無料で作成し、サイトからリンクできます。
アンドレパラメ16

2

必ずしもそうではありませんが、サイト全体をプレーンHTMLで作成すると、いくつかの問題が発生する可能性があります。

多くのサイトでは、複数のページに同じメニュー、ヘッダー、およびフッター要素があります。これらをあるページから別のページに単純にコピーして貼り付けると、サイトが大きくなり、これらの領域を変更し続ける必要があるため、退屈でエラーが発生しやすくなります。

サーバー側のプログラミングが非常に一般的になる前、これに対処する一般的な方法の1つは、フレームを使用してこれらの領域をすべてのページに埋め込むことでした。これは数年前に好まれなくなったので、今はお勧めしません。代わりに、これらの共通要素をすべてのページに表示する簡単なサーバー側コードを作成できます。

私は、市販のCMSの使用を推奨している他の人々に同意します。


1
「コピーと貼り付け」の代替手段は、静的サイトジェネレーターを使用することです。メニュー/ヘッダー/フッターの要素を処理して、コンテンツについて心配するだけです。
ドクターJ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.