웹 사이트의 서버 쪽을 항상 프로그래밍해야합니까?


38

친구를위한 음악 프로젝트 웹 사이트를 만들려고합니다. 동적 콘텐츠 (투어 날짜 등)가없고 임베드 된 샘플 노래 나 SoundCloud 링크 만 있으면됩니다. 반응 형 그리드에 바닐라 JavaScript 및 Bootstrap 또는 Foundation 이외의 다른 것을 사용할 것으로 기대하지 않습니다.

그러나 이것으로 충분합니까? HTML, CSS 및 JS 파일을 호스트에 간단히 업로드하여 사용할 수 있습니까? 아니면 Node 또는 PHP에서 백엔드 서버를 프로그래밍하는 데 시간이 걸리나요?


54
충분한가? 역동적 인 백엔드를 사용하면 어떤 문제를 해결할 수 있습니까? 할 수 없을 때까지 바보처럼 단순하게 유지하십시오.
— RubberDuck

25
완료되지 않은 작업을 최대화하십시오. 야 그니.
— RubberDuck

9
텍스트 작성, 사진 및 일부 음악 파일 업로드 / 일부 비디오 파일 / YouTubes ... 워드 프레스 등이 있다면 기성 CMS를 설치하는 것이 가장 좋습니다 이상적이며 대부분의 호스팅 회사는 원 클릭 설치 프로그램을 제공하여 몇 분 안에 작업을 진행할 수 있습니다. 많은 CMS가 있습니다.
— Kinnectus

11
왜 이런 질문이 많은 투표를 받았는지 궁금합니다. "데이터를 저장할 필요가 없더라도 소프트웨어 용 데이터베이스를 만들어야합니까?"라고 묻는 것과 같습니다. 초보자 질문이라면 놀라지 않을 것입니다. 그러나 부트 스트랩 / 파운데이션 프로젝트를 만들 정도로 숙련 된 경우는 아닙니다.
— Mahdi

14
@Mahdi 그것은 모두가 5 년 동안이 정확한 망할 것을 궁금해하고 아무도 그것을 요구하는 용기를 가지고 있지 않았기 때문에 upvoted되었습니다.
— djechlin

답변:


86

서버 측 코드가 필요한지 모르는 경우 *

*주의 : 서버 측 코드는 내용, 데이터 또는 기능에 대한 액세스를 내부적으로 제어하려는 경우 보안을 위해 필수적입니다. (그것은 반드시 할 필요는 없습니다 당신의 마지막 단락을 참조 서버를.)

서버 측 기술을 사용하여 어떤 문제가 해결되는지 스스로에게 물어보십시오. 당신이 어떤 것도 생각할 수 없다면 (그리고 당신의 경우에는 나도 할 수 없습니다), 당신은 그것들을 필요로하지 않습니다.

클라이언트 측 코드 만 사용하면 생각보다 훨씬 많은 정보를 얻을 수 있습니다. AngularJS 또는 ReactJS와 같은 JavaScript 프레임 워크를 사용하면 Ajax를 사용하는 API를 통해 타사의 동적 컨텐츠와 통합 할 수 있습니다. 여기에는 자체 보안을 처리 할 수있는 API에 연결하는 것이 포함됩니다.


17
나는 이것이 위험한 진술이라고 생각한다-서버 측 기술은 '클라이언트 측에서 할 수있는 경우'에 종종 사용된다. - '알지 못하는'태도를 촉진하는 것은 걱정입니다. 프로그래머는 항상 설명 된 것처럼 단순한 응용 프로그램 이라도 보안을 고려해야 합니다. 전체 솔루션을 통해 생각해야합니다. '보안 된'콘텐츠 영역을 원하십니까? 사용자가 mp3를주기 전에 FB에 등록하거나 강제로 등록하도록 하시겠습니까? (그러나이 경우 정적 사이트는 정상적으로 들립니다)
— Jmons

3
정적 사이트 생성기의 보안 이점에 대해서도 언급 할 것이 있습니다. 많은 응용 프로그램에서 정적 사이트는 말 그대로 해킹 할 것이 없다는 점에서 최고의 보안입니다.
— Nathan Arthur

1
Server-side code is essential for security꽤 일부 개발자는 보안에 대해주의를 기울이지 않습니다. 당신이 그들의 혼란에 그들의 얼굴을 던질 때까지. 내 라인은 인증이 필요하면 백 오피스가 필요하다는 것입니다. 데이터를 저장해야하는 경우 클라이언트 측에서 확인한 후 데이터를 다시 확인하는 백 오피스가 필요합니다.
— Walfrat

1
@Walfrat 인증이 필요한 경우, 개방형 인증 서비스로 오프로드하고 백엔드를 전혀 사용하지 않을 수 있습니다. 반면에 승인이 필요한 경우 백엔드 항목이 필요할 수 있습니다.
— corsiKa

56

정적 사이트 생성기에 대해 읽으십시오. 이를 통해 직접 제작 한 HTML이 아닌 프로그래밍 방식 (템플릿, 데이터 등 사용)으로 사이트를 만들 수 있습니다. 결과적으로 백엔드가 필요없는 정적 HTML 및 CSS 세트가 생성됩니다.

https://www.staticgen.com/ 은 이러한 오픈 소스 생성기를 나열하고 순위를 매 깁니다. 비공개 소스 오퍼링도 존재할 수 있습니다.


3
+1, 이것은 블로그 및 여행 일정과 같이 시간이 조금 지나는 역동적 인 사이트에서도 여전히 작동합니다. 내용이 사용자가 페이지를보고 의존 할 때까지는 충분합니다.
— RemcoGerlich

1
+1. 투어 날짜 및 예제 곡은 클라이언트가 더 자주 또는 덜 업데이트해야합니다. 정적 사이트 생성기는 HTML을 만질 필요가 없으며 유지 관리가 불량한 CMS보다 훨씬 간단하고 안전합니다.
— Bergi

3
나는 이것이 OP에 대한 좋은 제안이라는 데 동의하지만 실제로 질문에 대한 답변을 시도합니까?
— Woodrow Barlow

표시된 답변은보다 일반적이며 Woodrow Barlow의 언급처럼 질문과 일치합니다. 그러나 나는 좋은 솔루션을 미리 설정하기 위해 +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의 경우에 오히려 매력적이며 옵션 IMHO 인 3 번째가 있음을 지적 할 필요가 있다고 주장한다. :)
— Tobia Tesan

6

당신은 할 수 있습니다 해야하고 이 충분한 경우에만 정적 사이트를 사용하거나 사용 정적 사이트 발전기를 . 왜? 유지 보수성. 코드에 버그가 있습니다. 몇 주마다 또 다른 WordPress 보안 취약점이 발견되었습니다. 공통 CMS를 사용하는 경우 지속적으로 패치해야합니다. 그 밖의 친구 웹 사이트에는 곧 불법 약물, ISIS 선전, 방문자 컴퓨터에 설치된 악성 코드에 대한 광고가 포함됩니다. 정기적으로 패치하더라도 너무 늦어서 해킹을 지속적으로 확인해야합니다. 이 CMS를 보호하는 방법이 있습니다. "보안 플러그인"을 설치하고 mod_security 등과 같은 웹 응용 프로그램 방화벽을 구성하십시오. 또한 업데이트를 유지해야합니다. 때로는 mod_security 규칙이 WordPress의 플러그인을 깨뜨릴 수 있으므로 분석하고 수정해야합니다. 더 많은 일.

아무도 그 사이트를 해킹하고 싶지 않을 것입니다. 그러나 일반적인 CMS 시스템에서 발견되는 일반적인 보안 허점을 위해 곧 웹을 크롤링 / 검색하고 해당 CMS를 사용하는 모든 사이트를 해킹하는 자동 봇이 있습니다. 그들은 단지 그들의 링크 / 맬웨어 / 선전을 퍼 뜨리고 싶어합니다.

정적 사이트 (수동으로 또는 생성기로 생성)를 사용하면 문제가 없습니다.

자신의 백엔드를 구현하면 보안상의 결점도 생길 수 있지만 (완벽한 사람은 없지만) 그 작은 웹 사이트에서 아무도 악용하지 않을 것입니다. 그러나 무엇을 구현하고 싶습니까? 친구가 여행 날짜를 직접 변경할 수있는 편집기를 만들려면 도움없이 쉽게 사용할 수있을 때까지 시간이 얼마나 걸릴지 생각하십시오. 그 시간 예산으로 몇 번이나 빨리 날짜를 바꿀 수 있습니까?

제 생각에는 정적 HTML이 "구식"이기 때문에 오늘날 너무 많은 사람들이 모든 사이트에 CMS 시스템을 사용하기 만합니다. HTML5에서 불가능한 것이 필요하지 않은 경우 서버 측 코드를 사용하십시오. 그러나 필요하지 않으면 시간이 많이 절약됩니다.


몇 주마다? 하아! 더 좋아하는 날
— 모니카와의 가벼움 경주

3

필요할 때만 백엔드 프로그래밍을 수행하면됩니다.

그러나 전자 메일 양식과 같은 기본 기능도 일반적으로 기본 백엔드 프로그래밍이 필요합니다. 그것이 단지 디스플레이 사이트라면, 그렇습니다.


1
단순한 기능인 경우 종종 SaaS 서비스를 사용하여 교체 할 수 있습니다. 예를 들어 Google 설문지 에서 등록 양식을 무료로 작성한 다음 사이트에서 링크를 작성할 수 있습니다 .
— André Paramés

2

반드시 그런 것은 아니지만 전체 사이트를 일반 HTML로 만들면 문제가 발생할 수 있습니다.

많은 사이트에서 여러 페이지에 동일한 메뉴, 머리글 및 바닥 글 요소가 있습니다. 단순히 한 페이지에서 다른 페이지로 복사하여 붙여 넣으면 사이트가 커질수록 지루하고 오류가 발생하기 쉬우므로 이러한 영역을 계속 변경해야합니다.

서버 측 프로그래밍이 너무 일반적으로 사용 되기 전이 문제를 해결하는 일반적인 방법 중 하나는 프레임 을 사용 하여 이러한 영역을 모든 페이지에 포함시키는 것입니다. 이것은 몇 년 전에 호의적이지 않았으므로 지금은 권장하지 않습니다. 모든 페이지에 이러한 공통 요소를 표시하기 위해 간단한 서버 측 코드를 작성할 수 있습니다.

기성품 CMS 사용을 권장 한 다른 사람들과 동의합니다.


1
"복사 및 붙여 넣기"의 대안은 정적 사이트 생성기를 사용하는 것입니다. 메뉴 / 헤더 / 바닥 글 요소를 처리해야 콘텐츠에 대해 걱정할 수 있습니다.
— Doktor J
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.