오늘의 코딩순서
오늘의 코딩 포인트
1. JSP 개발환경
1. 웹 프로그래밍의 이해
- 웹 브라우저의 요청을 받아 해당하는 웹페이지를 찾아서 보내주는 일을 하는 컴퓨터(일을 하는 소프트웨어)를 웹서버라고 함
- 웹 서버는 웹브라우저로부터 URL을 받아서 그에 해당하는 HTML 문서를 찾아서 웹브라우저로 보내주는 일을 함
2. HTTP 프로토콜 개요
- HTTP 프로토콜 : TCP/IP 를 기반으로 하여 웹에서 사용하는 프로토콜로서 요청(Request) 과 응답(Response) 데이터를 전송하는 방식
- TCP/IP
- 컴퓨터 사이의 통신 표준 및 네트워크의 라우팅 및 상호연결에 대한 자세한 규칙을 지정하는 프로토콜 스위트
- 현재의 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 프로토콜의 모음
- OSI 모델을 기반으로 실제 사용될 수 있도록 단순화된 모델
- OSI 모형: Open Systems Interconnection, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명하기 위해 개발한 모델
3. 웹 어플리케이션
- 웹을 기반으로 작동되는 프로그램
- 웹서버는 HTML 문서 파일을 찾아서 보내주는 일 뿐만아니라, HTML 문서를 생성하는 프로그램을 호출해서 그 프로그램의 실행결과를 보내주는 일도 하는데, 이때 호출된느 프로그램을 웹 애플리케이션 이라고 함
- 웹 애플리케이션이 생성하는 HTML 문서를 동적 HTML 문서라하고, 웹 서버 쪽에 파일 형태로 저장되어 있는 HTML 문서를 정적 HTML 문서라고 함
- 정적 HTML(static HTML)
- 웹 서버에서 미리 작성된 HTML 파일을 클라이언트에게 제공하는 방식
- 정적 HTML 파일은 서버에 저장되어 있으며, 클라이언트가 요청할 때마다 그 내용이 변하지 않음
- 파일 내용은 고정되어 변경되지 않고, 클라이언트에게 항상 동일한 형태로 제공
- 웹 서버는 요청된 HTML 파일을 서버에서 바로 클라이언트에게 직접 전송함
- 장점: 간단하고 빠르게 제공될 수 있으며, 서버의 자원을 적게 소모함
- 단점: 정보의 업데이트나 사용자의 동적 요구에 대응하기 어려움
- ex) 기본적인 웹 페이지, 문서, 이미지 등의 정적 콘텐츠가 포함된 페이지들
- 동적 HTML(Dynamic HTML)
- 클라이언트의 요청에 따라 서버 측에서 생성되거나 수정되어 제공되는 HTML 페이지
- 요청 시 실시간으로 서버에서 데이터베이스 조회, 계산, 외부 API 호출 등을 통해 HTML을 생성함
- 사용자의 입력이나 환경에 따라 개인화된 콘텐츠 제공하여 동적으로 콘텐츠가 변경될 수 있음
- 장점: 웹 애플리케이션의 복잡성을 처리하고 사용자 요구를 충족시키는 데 유리함
- 단점: 서버 측에서 처리가 필요하기 때문에 처리 시간이 길어질 수 있고, 서버 자원을 더 많이 사용할 수 있음
- ex) 로그인 후 사용자 정보 표시, 쇼핑 카트 정보 표시, 실시간 데이터 표시 등
4.스크립트 언어
1. CGI (Common Gateway Interface)
- CGI는 Common Gateway Interface의 약자
- 사전적인 웹(WWW)서버와 백 앤드 프로그램 (게이트웨이라고 부름) 사이에서 정보를 주고 받는데 사용됨
- 서비스시 자원을 많이 사용하는 단점이 있음
2.ASP(Active Server Page)
- ㅇMicrosoft사에서 만들어진 ASP는 비쥬얼 베이직이라는 언어에서 사용되는 문법들을 사용하여 동적 컨텐츠를 만들어내기 위한 기술
- ASP 는 ActiveX란 컴포넌트를 직접 사용할 수 있으며, 그러한 컴포넌트를 개발하기 위한 기능도 제공함
- 특정 웹 서버와 OS(운영체제)에 동작한다는 단점을 가지고 있으며, Windows 플랫폼에서 웹 서버로 IIS(Internet Information Server)만을 사용함
3.PHP(Personal HomePage tools, Professional Hypertext Preprocessor)
- ASP와는 달리 특정 영역에서만 동작하지 않고, C 언어의 문법과 유사하기 때문에 기존 개발자들의 접근이 쉬움
- 적은 명령어로 프로그래밍이 가능하게 되어있기 때문에 편리성이란 측면에서 많은 이점이 있으나,
많은 요구들에 대한 PHP가 지원해주는 기능들이 미약함. (컴포넌트의 문제등)
4.Servlet/JSP
- Servlet(Server + Applet) : Sun 사에서 내놓은 기술로서 Java라는 언어를 기반으로 하여 동적인 컨텐츠를 생성하는 기술, Java 코드안에 HTML 태그가 혼재되어 있어서그 효율성이 떨어짐
- JSP: JSP 또한 Java 라는 언어를 기반으로 하여 만들어진 것이지만, ASP, PHP처럼 동적 컨텐츠를 생성하기 위해 스크립트 언어형식으로 프로그램 을작성할 수 있어 개발자에게 쉬운 개발을 할 수 있게 함
사용자가 직접 태그를 정의해서 사용할 수 있는 사용자 정의 태그를 지정할 수 있는 기능을 갖고 있음
5. 웹서비스
구성요소 | 역할 | 주요제품 |
웹 서버 | - 웹 브라우저의 요청을 받아서 결과를 웹 브라우저에 전송하는 역할 프로그램 처리가 필요하면 애플리케이션 서버를 사용하거나 프로그램을 호출해서 처리 - HTML, CSS, 자바스크립트를 웹 브라우저에 제공 |
아파치 |
애플리케이션 서버 (웹 컨테이너) |
기능을 실행하고 그 결과를 응답으로 웹 서버에 전달 | 톰캣, 웹로직, Jboss |
데이터베이스 | 데이터를 저장하는 역할 | 오라클, MySQL, MSSQL |
통합개발 환경 | 코딩하고 실행할 수 있는 에디터와 컴파일러를 연결시켜 주는 S/W | Eclipse(J2EE 버전) EditPlus |
6. JSP의 개요⭐⭐⭐⭐⭐
1. HTTP프로토콜과Servlet동작원리
- HTTP 프로토콜: HTTP은 비 연결(Connectionless: 클라이언트의 요청에 응답한 후 바로 연결을 끊음)과
비 상태(Stateless: 서버의 상태가 어떤지 간에 상관없이 요청을 함)의 특징을 가짐 - HTTP method⭐⭐⭐⭐⭐ (면접 필수 질문!!!)
- Get -http header에 정보를 실어보냄
- default Start-line 의url 뒤에 붙음
- 전달속도가 빠르지만 4K가한계
- 적은 양의 데이터를 전송시 좋음
- Browser마다Size 다름
- Post -http의 body에 정보를 실어보냄
- 데이터 사이즈의 제한이 없음
- 보안에좋음
2. JSP: Servlet의 단점을 보완하기 위한 스크립트 방식의 표준
- 자바언어를 기반으로 하는 스크립트 언어로 자바가 제공하는 모든 기능 사용 가능
- HTTP와 같은 프로토콜에 따라 클라이언트의 요청을 처리하고 응답
- HTML, XML, JSON 등 클라이언트가 요청한 문서를 생성하는데 주로 이용
- Servlet/EJB 등의 Enterprise 기술 등과 융합이 원할
- 표현언어, 표현식, 스크립트등 다양한 스크립트 요소와 태그 등을 제공함으로 웹 애플리케이션을 프로그래밍할 수 있도록 해줌
- 자바언어를 기반으로 하기 때문에 플랫폼에 독립적
- 스프링이나 스트럿츠와 같은 프레임워크와 완벽하게 연동되며 EJB와도 연동 Servlet에서 사용하는 모든 코드 사용 가능
7. Web Programming
- 정의: 웹 어플리케이션을 구현하는 행위
- 프로토콜(Protocol): 네트워크상에서 약속한 통신규약 ==> 기본적인 프로토콜 이름들이므로 암기하기!
- Http(Hyper Text Transfer Protocol): 웹에서 데이터를 주고받는 서버-클라이언트 모델의 프로토콜, 쉽게 설명하자면 웹 브라우저가 서버와 통신하는 규칙
- FTP(File Transfer Protocol): 한 컴퓨터에서 다른 컴퓨터로 파일을 효율적으로 전송하도록 설계된 네트워크 프로토콜
- SMTP(Simple Mail Transfer Protocol): 인터넷을 통해 이메일 메시지를 보내고 받는 데 사용되는 통신 프로토콜
- POP(Post Office Protocol): mail 서버를 액세스하여 e-mail을 수신하기 위한 프로토콜
- DHCP( Dynamic Host Configuration Protocol ): 해당 IP(인터넷 프로토콜) 주소와 기타 관련 구성 정보(예: 서브넷 마스크 및 기본 게이트웨이)를 IP 호스트에 자동으로 제공하는 클라이언트/서버 프로토콜
↓↓↓ 아래 세가지는 기본적으로 암기하고 있어야함!!!
- ⭐⭐⭐⭐⭐IP : 네트워크 상에서 컴퓨터를 식별할 수 있는 주소
- ⭐⭐⭐⭐⭐ DNS (Domain Name System) : IP 주소를 인간이 쉽게 외우도록 맵핑한 문자열
- ⭐⭐⭐⭐ ⭐Port : 컴퓨터 사이에서 데이터를 주고받을 수 있는 통로
IP 주소가 컴퓨터를 식별할 수 있게 해준다면, Port번호는 해당 컴퓨터의 구동되고 있는 프로그램을 구분할 수 있는 번호, 즉 하나의 서버에서 어플리케이션을 구별하기 위한 식별번호
우리가 이용하는 인터넷상의 모든 서비스는 IP 주소와 함께 포트 번호까지 지정해야 제대로 요청을 전달할 수 있음
수업교재
현장과제
오늘의 숙제
'JSP > Java Script' 카테고리의 다른 글
2024_07_10_수 (0) | 2024.07.10 |
---|---|
2024_07_09_화 (0) | 2024.07.09 |
2024_06_21_금 (0) | 2024.06.21 |
2024_06_20_목 (0) | 2024.06.20 |
2024_06_19_수 (0) | 2024.06.19 |