알기쉬운 IT/4-1 웹프로그래밍

4-1 한국방송통신대학교 4학년 웹프로그래밍 - 2강 웹 프로그래밍 기초 강의 요약

서귀포윤상호 2010. 4. 21. 03:19
웹프로그래밍 1강 웹서비스를 듣고
2010/04/20 - [알기쉬운 IT/4-1 웹프로그래밍] - 1. 한국방송통신대학교 4학년 웹프로그래밍 정광식 교수 - 1강 웹서비스 강의 요약

이제 2강 웹프로그래밍 기초이네여 ^^ 오늘은 어떤 강의가 될지 기대되네여 ㅎㅎ

학습목표
I. 웹 서버 동작
II. 동적 웹 페이지
[웹서버가 웹페이지를 동적으로 구성해주는 동작 방법]


I. 웹 서버 동작
* HTTP(하이퍼텍스트[HTML] 전송 프로토콜[통신규약])
- 클라이언트가 서버와 대화하는 방법과 데이터를 서버에서 클라이언트로 전송하는 방법을 정의한 프로토콜

클라이언트 <- HTTP -> 웹서버
클라이언트 [웹페이지 요청] HTTP -> 웹서버
클라이언트 <- HTTP [HTML 문서] 웹서버

* HTTP
- 웹브라우저[인터넷익스플로어,넷스케이프,파이어폭스]에서 'http://'로 표시
- 무상태 프로토콜[단순 정보 전송], TCP/IP 이용
> 클라이언트의 서버 연결 설정
> 데이터 요청
> 서버의 요청 응답
> 연결 끊기 방법 정의
- 데이터 인코딩을 위해 MIME 사용

<
MIME [MIME]   위키백과   백과사전 더보기
MIME (Multipurpose Internet Mail Extensions)는 전자우편을 위한 인터넷 표준 포맷이다. 전자우편은 7비트 ASCII 문자를 사용하여 전송되기 때문에, 8비트 이상의 코드를 사용하는 문자나 바이너리...
위키  MIME 영어 위키백과 | Multipurpose Internet Mail Extensions 일본어 위키백과 | MIME 중국어 위키백과
>

정광식교수 컴퓨터과학과

* 연결 설정
- 클라이언트[웹브라우저]는 디폴트로 80번 포트를 사용하여 TCP로 연결
- http://서버도메인[HTML 문서]:80

* 데이터 요청
- GET 메소드를 이용하여 파일 요청
GET/index.html HTTP/1.1
-> GET - 메소드
-> index.html - URL
->
HTTP/1.1 - 클라이언트 프로토콜 버젼

- 메시지 뒤의 빈 줄 : 클라이언트 요청 내용이 끝났음을 의미
- 클라이언트의 다른 정보 전송 방법
Accept: text/html [뒷부분에 나오는 내용(
text/html)을 클라이언트가 받아들일 수 있다고 서버에게 알림]

<
GET/index.html HTTP/1.1
Accept: text/html
Accept: text/plain
Accept: image/gif
(빈줄)
>
-> 클라이언트는 HTML문서, plain text, gif 이미지에 해당하는 MIME 타입을 다룰 수 있음


* 데이터 요청
- 클라이언트의 다른 정보 전송 방법
<User-Agent:Mozilla/6.0(compatible; MSIE; WindowsXP>
<
GET/index.html HTTP/1.1
Accept: text/html
Accept: text/plain
<User-Agent:Mozilla/6.0(compatible; MSIE 5.01; WindowsXP>
(빈줄)
>

-> 클라이언트는 HTML문서, plain text에 해당하는 MIME 타입을 다룰 수 있으며 브라우저로는 모질라 6.0 호환[인터넷 익스플로어 6.0]임

* 데이터 요청
- 그 외 메소드
> HEAD : 파일의 제목만을 받고 실제 내용은 받지 않음 -> 고쳐진 날짜 확인
> POST : form 데이터를 서버에 보냄
> PUT : 파일을 서버에 올림


* 서버 응답
- 클라이언트의 요청에 대한 응답
- 응답 코드 및 MIME 헤더 정보, 요청된 문서 또는 에러 메시지

<
HTTP/1.1 OK 200
Server: Microsoft-IIS/5.0
MIME-version:1.0
Content-type:text/html
Content-length: 107
(빈줄)
<HTML>
 <HEAD>
  <Title>
   A Sample HTML file
   </Title>
  </HEAD>
  <BODY>
   The rest of the docyment goes here
  </BODY>
</HTML>
>

<
HTTP/1.1 [서버 사용 프로토콜] OK 200 [응답 코드]
Server: Microsoft-IIS/5.0 [서버 소프트웨어]
MIME-version:1.0 [MIME 버전 및]
Content-type:text/html [내용 형식]
Content-length: 107 [전송 될 내용 길이]
(빈줄)
<HTML>
 <HEAD>
  <Title>
   A Sample HTML file
   </Title>
  </HEAD>
  <BODY>
   The rest of the docyment goes here
  </BODY>
</HTML>
>


* 연결 끊기
- 클라이언트나 서버 혹은 양쪽이 모두 연결을 끊음
- 서버에는 지난 요청에 대한 어떤 기억도 남아있지 않음 -> 무상태 프로토콜 [HTTP]
: 서버의 부하를 줄일 수 있는 장점


II. 동적 웹 페이지

* 정적[변함이 없다] 웹 페이지
- 일반 텍스트 편집기로 입력되어진 .htm 이나 .html 들로 구성된 페이지
- 처음 입력된 페이지의 내용이 사용자의 시간과 장소에 상관없이 항상 일정
- 임의의 사용자는 항상 같은 내용의 웹페이지를 보게 됨

* 정적 웹 페이지
클라이언트  welcome.html -> 웹 서버
클라이언트  <- 순수 HTML 문서[고정] 웹 서버
-> 동적으로 웹 페이지의 내용을 변경할 수 있는 방법 필요
[예 열차의 도착 현황 - 시간 별 반영]

* 동적 웹 페이지
- 사용자가 페이지를 요청하는 시점[시간, 장소]에 그 페이지를 새롭게 구성
- HTML 소스를 새로 생성하는 코딩의 필요
- 초기에는 CGI[common gateway interfac]를 사용
: 프로그램 작성이 어렵고 서버 부하 발생

* 동적 웹 페이지
매 상황마다 적절한 웹페이지를 만들기 위한 프로그램 필요

클라이언트  welcome.asp -> 웹 서버
웹 서버 [스크립트 엔진]
클라이언트  <- 순수 HTML 문서[생성]  웹 서버
-> ASP를 사용하여 일정한 형식에 따른 웹 페이지를 동적으로 구성 [생성해서 제공]

<
ASP[액티브 서버 페이지]한국어 위키백과
ASP는 다음을 가리키는 말이다..액티브 서버 페이지(Active Server Page).애플리케이션 서비스 제공자(Application Service Provider).ASP (권총).아날로그 신호 처리(analog signal processing).
>

* 동적 웹 페이지 장점
- 브라우저에서 지원되지 않은 프로그래밍 언어로 웹 페이지 작성
- 클라이언트쪽 프로그래밍 요소와 독립적으로 동적 웹 페이지 구성
- 클라이언트에 없는 데이터 제공 가능 [서버쪽 프로그램 실행 DB]
- 개선된 보안 기능 제공


강의 정리

1. 웹 서버 : 클라이언트의 요청에 따라 데이터[HTML+Data(DB)]] 제공
2. 동적 웹 페이지 : 웹 페이지가 요청되는 시점에 조건에 따라 동적으로 웹 페이지를 구성하여 제공

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

들을수록 어려워 지네여 ㅠㅠ 괜히 신청한 것이 아닌지~... 에구 욕심이 너무 컸던것 같은데