웹 브라우저에서 www.naver,com과 같이 주소줄에 표시되는 것을 URL이라고 부른다.
그리고 주소줄에 URL을 입력하여 웹 브라우저에 출력되는 내용을 웹 페이지(web page)라고 부른다.
웹 브라우저에 URL을 입력하면 웹 서버라 불리는 프로그램이 웹 브라우저에게 웹 페이지를 제공한다.
웹 브라우저가 웹 서버에 웹 페이지를 달라고 하는 것을 '요청(request)'라고 표현하고,
요청한 웹 페이지를 웹 브라우저에게 제공하는 것을 '응답(response)'라고 표현한다.
통신하기 위해서는 IP주소가 필요하지만 외우기가 힘들어 도메인 네임을 입력해서 사용한다.
도메인 네임을 입력하면 DNS(Domain Name Server)를 통해서 도메인 이름을 IP주소로 변환한다.
변환 후에는 IP 주소를 이용해서 웹 서버와 연결한 뒤 URL에 해당하는 웹페이지를 요청/응답 한다.
# HTML과 HTTP
웹 서버에서는 웹 브라우저에게 출력될 화면을 HTML이라고 불리는 표준을 이용해 작성한다.
웹 페이지를 만들 때 사용하는 것이 HTML(HyperText Marup Language)이다.
작성된 HTML을 HTTP(HyperText Transfer Protocol)라는 통신 규약을 이용하여 웹 브라우저에게 전달한다.
HTTP는 웹 브라우저와 웹 서버가 HTML을 비롯해 이미지, 동영상, XML 문서 등 다양한 데이터를 주고 받을 때
사용하는 일종의 규칙이다.
HTTP는 크게 두 가지 관점에서 규칙을 정의한다.
1.요청 규칙 : 웹 브라우저가 웹 서버에 HTML과 같은 것을 요청할 때 사용할 데이터 구성 규칙
2.응답 규칙 : 웹 서버가 웹 브라우저에 HTML과 같은 것을 전송할 때 사용할 데이터 구성 규칙
#동적자원과 정적자원
같은 URL을 입력하면 계속 같은 화면이 출력되는데, 이 화면은 파일이 바뀌지 않는 이상 같은 화면을 계속 보여준다.
이러한 고정된 결과가 출력되는 것을 정적 자원 또는 정적 페이지 라고 표현한다.
보통 이미지 파일이나 HTML파이로가 같이 자주 바뀌지 않는 것들을 정적자원으로 제공한다.
위와는 반대로, 네이버와 같이 URL에 쿼리 문자열에 따라서 파일을 바꾸지 않고 다른 검색 결과를 보여주는 화면도있다.
이렇게 시간이나 특정 조건에 따라 응답 데이터가 달라지는 것을 동적자원 또는 동적 페이지 라고 표현한다.
JSP, PHP, ASP, .NET같은 웹 관련 기술들이 바로 동적 페이지를 만드는데 사용하는 기술이다.
# 웹 프로그래밍과 JSP
웹 프로그래밍 이란 무엇일까?
웹 프로그래밍이란 간단히 말하면 웹 브라우저에 응답으로 전송할 데이터를 생성해주는 프로그램을 작성하는 것이다.
그럼 JSP는?
JSP(Java Server Pages)는 동적 페이지를 작성하는데 사용되는 자바의 표준 기술로써 HTML응답을 생성하는데
필요한 기능을 제공해주는 프로그래밍 기술이다.
JSP를 이용해서 만든 프로그램을 실행하려면 톰캣이나 제티같은 서버 프로그램이 필요하다.(was)
#웹 서버(Web Server)와 WAS(Web Application Server) 차이점
단순 웹 서버(Web Server)가 정적인 HTML 파일이나 이미지를 제공하는 것과 달리
WAS(Web Application Server)는 웹을 위한 연결, 프로그래밍 언어, 데이터베이스 연동과 같이 어플리케이션을 구현하는데 필요한 기능을 제공하고 있다.
이러한 서버 프로그램을 웹 어플리케이션 서버(Web Application Server). 줄여서 WAS라고 부른다.