1. 웹 프로그램은 클라이언트 위주의 프로그램(HTML, 자바스크립트, 애플릿)

2. 서버 위주의 프로그램(서블릿, JSP, PHP)

 

 

>>HTML이 정적인 페이지를 나타내는 것이 한계점
>>동적인 웹페이지를 필요에 의해 개발이 된것이 서블릿, JSP, PHP, ASP 등이 등장
>>자바 기반의 웹 프로그램 언어가 서블릿(Servlet)과 JSP

>>HTML 코드 내부에 Servlet 이나 JSP를 사용하는 기술로 정적인 페이지를 동적으로 변화가 가능하게 만들어주는 언어

 

 

 

일반적인 프로그램의 실행흐름은

 

> 로컬 응용 프로그램 

> 멀티스레드 프로그램 (시분할개념에 의한 CPU 점유 및 다중처리)

> GUI프로그램에서 Frame이 실행되는 동안의 스레드 동작중 이벤트 발생 (로컬+멀티스레드)

> 애플릿 (웹 브라우저에서 실행되는 자바 프로그램이며 요청 페이지에 애플릿이 기술되있을때

자바 코드의 main()메서드를 찾지 않고

 

public void init() -> public void start() -> public void paint(Graphics g) 실행하고

종료시에 public void stop() -> public void destroy() 이러한 동작이 일어난다.)

= 애플릿 라이프사이클

 

일반적으로 

 

클라이언트(웹 브라우저)-> 네이버검색-> DNS(네이버 주소 요청받음) -> 클라이언트(DNS서버에서 ip주소를 알려줌) ->웹브라우저에서 네이버로 접속 요청-> 네이버 서버 (listen상태) -> 요청내용을 클라이언트 웹브라우저로 전송

 

서버에서 기본적으로

 

회원가입 폼을 만들때 아이디 글자수나 소문자 대문자등등 데이터베이스의 내용을 쓰지 않아도 되는 것은

서버에 요청하지 않아도 되기 때문에 서버에 부담을 주지않기 위해서 서버에 요청하지않고 클라이언트(웹 브라우저)가 담당하여 처리한다. (물론 자동이 아니고 프로그래머가 코딩을 해줘야한다)

 

cmd - ipconfig - IPv4 주소(localhost) - 주소창에 적어보면 http://localhost 와 같은 페이지가 나옴. 

netstat -a            listen상태를 확인 할 수 있음