본문 바로가기

개발관련 지식들

웹 프로그래밍 큰그림

참고: https://shlee0882.tistory.com/107

 

Web이란? HTTP방식으로 데이터를 주고받는 것

HTTP에서 HT, Hyper Text란? link와 link로 문서간 연결된 것, 링크 기반으로 데이터에 접속하는 것.

브라우저: 클라이언트 쪽의 HTTP를 처리할 수 있는 소프트웨어(Firefox, Chrome... )

웹서버: 서버쪽의 HTTP를 처리할 수 있는 소프트웨어(아파치, 톰켓, nginx, weblogic... ). 그림으로 나타내면 아래와 같이 서버안에 웹서버가 있는것임. 웹서버라는 소프트웨어가 없고 그냥 서버만 있다면 HTTP를 처리할 수 없습니다. 물론 웹서버는 HTTP를 처리하는 것 말고도 다양한 역할을 합니다.

 

정적 웹서비스 같은 경우 클라이언트로부터 request가 오면 웹서버가 가지고 있는 자원을 가지고 response로 보내면 되는데 동적 웹서비스 같은 경우는 웹서버라는 개념말고 WAS(CGI)라는 개념이 등장함. 이 WAS(Web Application Server)는 프로그래밍 처리(내가 이전에 짜놓은 프로그램 코드)를 통해서 클라이언트로부터 온 요청에 대한 응답(요청에 대한 결과물)을 실행시간에 생성해냄.

동적인웹서비스를 할려면 반드시 WAS가 필요합니다. 그냥 웹서버만 가지고서는 동적웹페이지를 생성할 수 없습니다!!! 웹서버는 프로그래밍 처리를 할수 없는 소프트웨어입니다!

대표적인 WAS로는 톰켓(이래서 내가 여태햇갈린것임. 톰켓이 그냥 웹서버의 역할도 하지만 WAS의 역할도 할 수 있음. 좀더 정확히 말하면 서블릿이라고 합니다), PHP, ASP... 이 있음.

 

IP 번호(내 컴퓨터의 IP는 127.0.0.1 혹은 localhost)만으로 내컴퓨터를 식별할 수 있지만 내 컴퓨터 안의 어떤 프로그램을 언급하는지는 알수 없음. 이것을 구분하기 위한 것이 포트번호(톰켓같은 경우 8080을 포트번호로 사용)

-----------------------------------------------------------------------------------------------------------------------------------------------------------

https://www.youtube.com/watch?v=53tYrK9coC8&list=PL4XBJY-LJHYgVi1njwi_1RCwaYnSxuYpN&index=9

나의 프로그램이 어떠한 환경에서 실행되느냐를 선택하는 것이 Target runtime. 반드시 웹서버 환경에서 실행되어야 하므로 아래와 같이 톰켓 웹서버를 선택해 준다.

 

HTML이란? XML 방식을 따른 또 하나의 마크업 방식(XML은 자유자재로 내가 태그를 만들수 있지만 HTML에서 사용가능한 태그는 일정하게 정해져 있음)