웹의 개요
인터넷과 웹
- 인터넷: 컴퓨터로 연결하여 TCP/IP 통신 프로토콜을 이용하여 정보를 주고받는 컴퓨터 네트워크
- 웹: 인터넷 상에서 동작하는 하나의 서비스
URL
이름의 구성: 프로토콜, 호스트 이름, 포트번호, 경로 및 파일
HTTP
- HyperText Transfer Protocol
- 웹 서버와 웹 클라이언트 사이의 소통을 정의하는 표준 프로토콜 (요청/응답 프로토콜)
HTML
- HperText Markup Language
- 본문을 위한 구조적 의미, 구조적 문서를 만들 수 있는 방법 제공
- 이미지와 객체를 내장하고 대화형 양식(form)을 생성하는 데 사용
- Markup? 파일이 어떻게 출력될지를 나타내거나 논리적인 구조를 묘사하기 위해서 삽입되는 일련의 문자들이나 기호
웹 어플리케이션의 구조
웹 어플리케이션
독립 애플리케이션은 PC에서 독립적으로 실행되어 수행되는 프로그램을 의미한다.
이와 반대로 웹 어플리케이션은 인터넷으로 연결된 환경에서 웹 브라우저를 이용해서 사용 가능한 프로그램을 의미한다. (HTTP 프로토콜, HTML 문서를 근간으로 만들어지는 애플리케이션)
HTTP 요청 메시지
요청 방법, URL, 서버에 전송할 양식 파라미터로 구성된다.
요청 방법에는 두 가지 방식이 있다.
1. GET 방식
전송할 파라미터 값을 URL 정보에 연결하는 방식으로 최대 길이가 256바이트로 제한된다.
본문(Body)이 필요 없어서 빠르나 보안에 취약하다.
2. POST 방식
전송할 파라미터 값을 본문(Body)에 저장해서 서버로 전송한다. 전송 길이 제한 없다.
폼 입력 정보가 감추어져 전송되어 GET 방식보다 안전하다. (보안상으로 좋다고는 할 수 없음)
HTTP 응답 메시지
요청에 대한 서버의 처리 여부를 표시하는 상태 코드와 웹서버가 응답해주는 콘텐츠의 타입 정보, 콘텐츠의 내용으로 구성된다.
상태 코드: HTTP 200(OK), 404(Not Found), 500(Internal Server Error)
WAS
Web Application Server
서버 단에서 애플리케이션을 동작할 수 있도록 지원한다.
동적인 페이지를 만들기 위한 플랫폼
Apache Tomcat, BEA Web Logic, IBM Webspere, Jenus, JBoss 등
동적 웹 애플리케이션
JSP와 같은 동적 웹 페이지를 처리하기 위해서는 웹서버 뒤에서 JSP 스크립트 엔진을 포함하는 애플리케이션 서버가 있어야 한다. 이것이 JSP 스크립트를 HTML으로 변환하는 기술 또는 로그인 처리와 같은 여러 가지 로직을 수행한다. 효율적으로 처리하기 위해서 데이터베이스를 활용한다.
사용자의 브라우저에서는 요청하는 문서가 정적인 HTML이나 동적인 JSP 모두 항상 순수 HTML 문서만을 받는다.
동적 웹페이지를 구성하는 다른 기술로서 클라리언트 측 스크립팅 기술이 있다.
서버 측에서는 아무런 처리 없이 브라우저로 주고 브라우저가 그 파일 내에 있는 스크립트 언어를 해석하여 페이지 자체를 동적으로 만들어 주는 기술
JavaSCript, Dynamic HTML, Action-script(Flash)
웹 프로그래밍의 종류
1. ASP(Active Server Page)
- 장점: COM 객체를 이용하고 있다는 것
- 단점: MS에서 개발한 운영 체제 및 개발 환경에 종속됨
2. PHP(Professional Hypertext Preprocessor)
윈도우, Unix, Linux에서 가장 빠르게 동작하는 도구
오픈소스 모델로 개발되는 언어
3. JSP(Java Server Page)
java라는 객체지향 언어의 여러 가지 기능을 지원받음 (오픈 커뮤니티)
코드의 유지관리 보수 측면에서 많은 강점
다소 느리게 동작한다고 생각할 수 있으나, 처음 서블릿으로 컴파일되고 그 후에 메모리에 적재된 서블릿 코드에서 바로 응답이 가능해서 좋은 평가받음
4. 클라이언트 스크립트 언어
위에서 설명
참조
웹 프로그래밍 기초, 박보석 외 3인 공저, 홍릉과학출판사
'Front > html, css, javascript' 카테고리의 다른 글
Date Range Picker 소개 (0) | 2022.02.03 |
---|---|
이메일 포맷 검증 방법 (regular expression of email) (0) | 2021.07.03 |
ch04. CSS3 (0) | 2021.06.25 |
ch03. HTML5 (0) | 2021.06.24 |
ch02. 개발환경 구축 (0) | 2021.06.22 |