티스토리 뷰
Web ?
인터넷이 등장하고 30년 후인 1990년, 스위스에서 개발된 프로그램이 프로그램은 그 전부터 개발되고 있었는데 해당 연구소에 인터넷이 보급되면서 완성되었습니다. 이 웹이 완성되면서 인터넷이 가지고 있던 (잠재 되어있던?) 무한한 기능들을 발휘할 수 있게 되었습니다.
예를 들어 인터넷은 특정 집단들 사이에서만 네트워크를 구성하여 정보를 공유하였는데, 웹이 개발되면서 일반 대중들에게 까지 퍼져 나가게 됩니다.
WWW = World Wide Web 말 그대로 세계에 펼쳐 있는 망의 역할을 하게 됩니다.
초기의 원시 웹은 아주 간단했는데, 오직 html로만 작성되어 있었습니다. (http://info.cern.ch 웹의 시작) 이 웹의 개발자는 웹 페이지의 소스코드를 모든 이용자들이 볼 수 있게 설정해 놨고 누구도 제한없이 html을 사용하도록 정했습니다. 이는 지금까지 이어져오고 있고 웹이 빠른시간에 엄청난 발전을 할 수 있게 되는 큰 원동력이었죠.
HTML
웹 페이지를 만드는 데 가장 기초적이면서 필수적인 프로그래밍 언어입니다.모든 HTML로 작성된 웹 페이지에서 해당 페이지의 소스 코드를 볼 수 있으며 간단하게 메모장으로도 코드를 작성할 수 있습니다. 가장 중요한 문법으로는 '태그'가 있습니다.태그는 대부분 <></>와 같이 시작과 끝을 나타내는 두 개의 태그가 짝을 이루고, 시작만을 나타내는 태그도 존재합니다. 태그는 200개가 넘게 존재하지만 그 중 약 25개 정도로 이루어진 웹 페이지가 절반 이상을 차지하므로 꼭 다 알 필요는 없습니다. (https://www.advancedwebranking.com/html/ 웹 페이지를 통계적으로 분석해 놓은 정보를 올려 놓은 사이트)태그를 사용할 때 가장 중요한 점은 각 태그의 용도에 맞게 사용하는 것입니다. 정보를 검색하는 정보 검색 엔진들은 이 태그를 이용해 웹 페이지들을 찾습니다. 따라서 무분별하게 태그를 사용하여 프로그래밍을 하면 의도치 않게 여러 부분에서 손해를 보게 됩니다.즉, 프로그래밍을 할 때 어떤 언어든 자신이 코딩한 내용의 의미가 그 코드에 명시적으로 나타나고, 그 의미가 컴퓨터에게도 그대로 전달 될 수 있도록 하는 것이 좋은 프로그래밍입니다.
서버와 클라이언트
자신이 만든 웹 페이지를 다른 사람들에게 공유하고 싶으면 웹 서버가 필요합니다.
클라이언트(사용자)들은 웹 브라우저를 통해 필요한 정보를 얻기 위해 주소 등을 입력하게 되고 해당 주소의 서버에게 그 정보를 요청하게 됩니다. 서버는 필요한 정보를 찾아 클라이언트에게 제공하게 됩니다.
이 서버를 구축하는 방법으로는 OS별로 자신이 직접 서버 환경을 구축하는 방법과 서버 호스팅 업체(oracle, apache 등)를 통해 무료나 유료로 서버를 빌려 자신의 웹을 공유할 수 있는 방법이 있습니다.
WAS
웹 서버 + 웹 컨테이너 기능을 수행하는 Web Application Server 입니다.웹 컨테이너는 서버가 해석하지 못하는 동적 언어인 PHP, JSP같은 언어들을 해석하여 HTML로 바꿔 서버에게 전달해주는 소프트웨어입니다. 이 언어들을 Back-End 언어라고도 하는데, HTML이 개발된 4~5년 뒤에 정보량이 많아지면서 웹 페이지의 수가 많아지고, 그에 따른 여러 불편함을 느끼게 되면서 효율적으로 웹 페이지를 프로그래밍 하고 제어하기 위해 개발된 언어입니다.기본적으로 웹 브라우저나 웹 서버는 HTML같은 정적인 언어들만을 해석할 수 있기 때문에(Javascript는 웹 브라우저에서 해석하기도 합니다.) 웹 컨테이너에게 Back-End언어들의 해석을 부탁하게 됩니다. 그러면 앞서 말한 것 처럼 웹 컨테이너는 이를 HTML로 바꿔주어 서버에게 전달해줍니다.이 역할을 다 수행할 수 있는 서버가 바로 WAS입니다.
웹 프로그램 흐름
클라이언트 (request)→ 웹 서버(→ 웹 컨테이너 → 데이터베이스 → 웹 컨테이너 →)웹 서버 (response)→ 클라이언트
'JSP&Servlet' 카테고리의 다른 글
Servlet Mapping (0) | 2019.01.11 |
---|---|
JSP와 Servlet 비교 (1) | 2019.01.11 |
Servlet 개요 (0) | 2019.01.11 |
JSP 개요 (0) | 2019.01.10 |
개발 환경 구축하기(JDK,eclipse,tomcat) (0) | 2019.01.08 |
- Total
- Today
- Yesterday
- Computer_Networking_A_Top-Down_Approach
- 스프링 mvc
- 스프링 테스트
- git merge
- Thymeleaf
- 방명록 프로젝트
- 프로그래머스
- 스프링 컨테이너
- spring mvc
- 쉘 코드
- Do it! 정직하게 코딩하며 배우는 딥러닝 입문
- Spring Boot
- 김영환
- jsp
- Gradle
- 쉽게 배우는 운영체제
- git
- JPA
- 패킷 스위칭
- Spring
- 파이썬 for Beginner 연습문제
- 지옥에서 온 git
- 선형 회귀
- 파이썬 for Beginner 솔루션
- Python Cookbook
- 운영체제 반효경
- 생활코딩 javascript
- 스프링
- git branch
- Spring Data JPA
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |