작성
·
195
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
3가지 언어들은 각 기능마다 문법과 사용 환경만 조금씩 다른것이라고 이해 하였습니다. 주위에서 듣기로는 php는 과거의 기술이고 jsp가 php보다 많이 사용되고 있다고 들었습니다.
영한님 강의에서는 jsp는 사라지는 추세이고 time leaf가 최선의 선택 이라고 해주셨는데 3가지의 기능적인 차이와 html을 생성하는 기능 이라는 것이 어떤것인지 궁금합니다.
Php또한 html을 생성하는 기능이 있는 지도 궁금합니다.
답변 1
1
안녕하세요. 양치잘하기님, 공식 서포터즈 코즈위버입니다.
서버는 기본적으로는 클라이언트가 요청한 리소스(파일)을 그대로 보냅니다. 우리가 브라우저로 URL을 입력하면, URL에 해당하는 서버에 index.html 파일을 요청하는 것입니다.
(www.naver.com -> naver.com 서버에 index.html 파일 요청)
그러나 쇼핑몰 등의 웹 서비스는 사용자에 따라 (로그인 여부 등) 다른 내용을 화면에 표현해야 합니다. 그래서 사용자 요청을 분석해서 동적으로 HTML파일을 만들어야 합니다. 이 때 PHP, 자바 서블릿을 사용합니다.
PHP는 스크립트 언어로 웹 개발을 신속 간단하게 처리한다는 강점이 있습니다. PHP는 서버의 요청을 위임받아 동적으로 HTML 파일을 생성합니다. 서버는 이 파일을 클라이언트에게 전달합니다.
JSP는 자바가 웹을 처리하기 위한 템플릿 기술중 하나이며 독립적으로 어떤 언어가 아닙니다. PHP와 JSP를 동등하게 비교하기는 어렵습니다.
PHP는 서비스를 신속하게 만들수 있다는 특성으로, 영세사업자 혹은 스타트업에서 많이 사용합니다. 구상중인 비즈니스를 빨리 제작하여 시장에서 테스트 할 수 있다는 장점이 있습니다. 그러나 프로그램의 구조가 커지면 커질수록 언어 자체의 한계(싱글스레드) 및 스크립트 언어의 한계(디버그의 어려움, 스파게티 코드)에 부딪히게 되며 보통 이 즈음 자바로 새로 개발하는 과정을 거칩니다.
Java 는 스프링 프레임워크 등장 이후 많은 기업에서 채용하고 있으며 정부 사업을 위한 표준 프레임워크로 채택되기도 하는 등 (최소) 국내에서는 가장 널리 사용하는 언어입니다. 그래서 자바가 사용하는 JSP의 사용량도 같이 늘었으나, 최근에는 JSP를 사용하기 보단 타임리프 등의 새로운 템플릿 엔진을 사용하고 있습니다. 타임리프는 스프링 프레임워크가 공식적으로 지원하는 프레임워크이며 여러 편의기능을 제공하기 때문입니다. 그리고 사용법도 JSP와 비슷하여 배우기 쉽다는 장점도 있습니다.
감사합니다.