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


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.