YuJaa
184
2020-04-08 14:39:58
7
701

정적 웹 페이지, 동적 웹 페이지 관련


궁금한 점이 있습니다.


우선 제가 알고있는 바를 말씀드리겠습니다. 잘못 알고 있다면 말씀해주세요!


정적 웹 페이지는 HTML, 이미지, JavaScript 등 만 있는 구조로 누가 접근했든, 어떤 환경이든 상관없이 똑같은 페이지를 보여주는 것으로 알고 있습니다.


동적 웹 페이지는 정적 웹 페이지와 달리 DB에 접근하여, 필요한 데이터를 들고 오거나 접근한 사용자에 맞게 데이터를 다르게 뿌려줄 수 있는 것으로 알고 있습니다.


그런데 저희 회사의 부장님(웹 전문 아님)은 다르게 이야기 합니다.

DOM이 바뀌는 것을 동적 웹 페이지라고 합니다. 예를들어 버튼을 클릭하여 팝업이 나타나면 DOM의 변화가 생긴 것이기 때문에 동적 웹 페이지라고 합니다.

질문 1. 이게 맞는 말인가요?


질문 2. 예를 들겠습니다.

로그인 성공 시, 로그인한 회원과 같은 소속의 유저 목록을 뿌려주는 회원 리스트 페이지가 있다고 가정하겠습니다. (같은 소속인지 DB조회를 통해 데이터를 들고 오겠네요.)

그렇다면 회원 리스트 페이지 접근 시, 제일 처음. 상당 메뉴 바, 검색 바 등 DB접근과 관계 없는 것들을 먼저 클라이언트에게 보여주고,(여기까지 정적 웹 페이지라고 하시네요.) 이후 데이터를 들고와서 해당 위치에 데이터들을 넣어주는 것이라고 합니다. 


결론적으로 정적 웹 페이지를 띄웠다가 동적 웹 페이지가 된다고 하는데 이게 맞는 말인가요?

0
  • 답변 7

  • siva6
    5k
    2020-04-08 14:51:03
  • 원푠듯
    290
    2020-04-08 14:55:33 작성 2020-04-08 14:56:20 수정됨

    작성자분의 견해가 맞습니다.


    정적인 웹페이지와 동적인 웹페이지의 가장 큰 차이점을 쉽게 설명하면, 정적인 웹페이지는 콘텐츠를 수정하기 위해 직접 코드를 수정해야 하지만, 동적인 웹페이지는 별도 서비스와 연동되어 코드 수정 없이도 콘텐츠가 바뀌어 보일 수 있는 차이라고 할 수 있겠네요.


    부장님이 말씀하신 건 서버 사이드 렌더링과 클라이언트 사이드 렌더링의 차이를, 정, 동적 웹페이지로 혼동하신 듯합니다. 질문 2의 예시는 서버에서 렌더링 후, 사용자 액션이 있을 때 클라이언트 사이드 렌더링으로 추가 콘텐츠를 불러온 것이지, 정적 웹페이지를 불러온 후 동적 웹페이지를 로드했다고 볼 수 없습니다.

  • YuJaa
    184
    2020-04-08 17:51:28

    원푠듯


    답변 감사합니다! 한 가지만 더 여쭤봐도 될까요?


    예를들어, '로그인 > 통과 > 회원 정보 페이지' 와 과정이 있다면


    로그인 페이지는 정적 웹 페이지가 되는건가요? (어떤 누가 들어오더라도 똑같은 페이지를 보여주기 때문에)

    로그인 후, 로그인 한 회원에 맞게 회원 정보를 보는 것은 동적 웹 페이지이고...


    회원 정보 페이지는 동적 페이지가 되는 건 알겠는데,

    로그인 페이지는 정적 페이지로 봐야하나요? 동적 페이지로 봐야하나요?


    제 생각엔.. (로그인 페이지는 어떤 누가 들어와도 똑같은 페이지를 보여주지만, 정적으로 볼 수 없고) 로그인 버튼을 누른다는 것이 DB에서 데이터를 조회하는 것이기 때문에, 동적 페이지로 보는 것이 맞지 않을까 싶습니다만..

  • tangibleidea
    382
    2020-04-08 18:12:00 작성 2020-04-08 18:28:08 수정됨

    웹 개발자는 아니지만,

    동적은 DOM의 변화는 맞는데, 팝업 등이 아니라 ajax나 php, react처럼 DOM을 생성하는 구조가 서버에 의해 결정될 때 아닌가요?

    백엔드 코드가 없으면 정적인데

    firebase나 Parse 같은 mBaas 같은 솔루션을 사용하는 경우 정적파일만 가지고도, 서버통신이 가능하더라고요.


    정리하자면..

    AWS S3 같은 곳에서 돌아가는 웹 : 정적

    AWS lightsail 혹은 EC2 같은 서비스가 필요한 웹 : 동적


    https://titus94.tistory.com/4 : 여기도 잘 정리되어있네요 그림과 함께..

  • tangibleidea
    382
    2020-04-08 18:27:39 작성 2020-04-08 18:29:40 수정됨

    @YuJaa

    추가 질문에 대해서는 그런 개념이 아니라고 봅니다.

    똑같은 페이지만 보여준다고 정적 페이지인게 아니라,

    서버와 연결되서 서버쪽에서 클라이언트(브라우저)가 원하는 DOM을 생성해주는 구조 자체가 동적입니다.


  • 원푠듯
    290
    2020-04-08 18:36:59 작성 2020-04-08 18:46:27 수정됨

    맨 윗 분 말씀대로 용어나 개념은 정의하기 나름이죠. 제가 말씀드린 것도 보편적으로 사람들이 사용하는 개념에서 맞다고 말해드린 거에요.


    추가 질문에 답하면, 로그인 페이지는 정적이고 회원 정보 페이지는 동적이라고 보는 게 어느 정도 맞다고 생각합니다. 로그인은 단순히 정적으로 제공된 폼을 제출하는 역할만 하니까요.


    다만 로그인 페이지가 단순한 브라우저의 네이티브 form submit 방식이 아니고, 별도의 통신 후 "OO님 어서오세요"라는 메시지를 띄워준다거나, 비밀번호가 틀렸다는 메시지를 띄워준다던가 하면 그건 동적인 페이지라고 볼 여지가 있겠죠. 단순히 네이티브 form submit으로 DB를 조회한 것은, 액션이 있는 페이지라고 볼 순 있어도 동적인 페이지라고 보기 힘들지 않을까 합니다.


    작성자님이 헷갈리는 건 아마 "누가 접근했든, 어떤 환경이든 상관없이 똑같은 페이지를 보여주는 것"이 정적 페이지라는 개념 정의 때문인 듯해요.

    만약 매일의 날씨를 URI의 파라미터에 따라 보여주는 동적 페이지가 있다고 칩니다. /2020-04-08, /2020-04-09 이런 식으로요. 이건 개발자 입장에서는 하나의 페이지에서 여러 정보를 보여주는 동적 페이지지만, 해당 개발자가 아닌 사람은 이게 매일 하나의 정적 페이지를 생성하는 건지(비효율적이라 그럴리는 없다고 생각할지라도), 하나의 페이지에서 데이터만 따로 불러오는 건지 알 수 없습니다.


    때문에 동적 페이지, 정적 페이지에 대한 구분을 "사용자 입장에서 바뀌는 게 없으면 정적 페이지, 바뀌는 게 있으면 동적 페이지"라고 정의해 버리면 위의 날씨 페이지는, 같은 URL에서는 사용자 구분없이 같은 화면을 노출하므로 정적 페이지라고 규정하는 오류를 범할 수 있습니다.


    때문에 저는 사용자 입장이 아닌, 실제 시스템이 작동하는 방식으로 정적, 동적 웹 페이지를 구분하는 게 맞지 않나 싶네요. 물론 개념은 언제까지나 표상이라 파고들어갈수록 모호해지긴 마찬가지지만요.

  • YuJaa
    184
    2020-04-09 09:25:46

    텐저블원푠듯


    답변 감사합니다!


    무엇 때문에 의문을 가졌냐면.. 


    CentOS - Web Server(아파치) - WAS(톰캣) 과 같은 구조로 개발을 해야합니다.


    그런데 Web Server는 정적 웹 페이지를 처리하고, WAS는 동적 웹 페이지를 처리한다고 하니

    무엇을 Web Server에 올리고, 무엇을 WAS에 올려야하는지 도저히 감이 잡히지 않습니다..

  • 로그인을 하시면 답변을 등록할 수 있습니다.