Presentation is loading. Please wait.

Presentation is loading. Please wait.

1. 개 요 2. WWW의 용어 3. WWW(World Wide Web) HTTP

Similar presentations


Presentation on theme: "1. 개 요 2. WWW의 용어 3. WWW(World Wide Web) HTTP"— Presentation transcript:

1 1. 개 요 2. WWW의 용어 3. WWW(World Wide Web) HTTP

2 개요 HTTP(Hyper Text Transfer Protocol)을 한마디로 요약하면 웹 상에서 하이퍼텍스트 및 음성, 화상, 데이터등을 포함한 문서의 전송 방식을 규정한 응용 계층의 프로토콜이라 할 수 있다. 하지만 이를 보다 정확히 이해하기 위해서는 WWW(World Wide Web)이나 HTML등과 같은 다른 몇 가지 용어에 대한 이해가 선행되어야 한다.

3 www의 용어 브라우저(Browser) 또는 클라이언트(Client) - WWW에 대한 사용자 인터페이스를 제공해주는 프로그램
Hyperlink - Hypertext, Hypermedia, 또는 다른 미디어 사이의 연결 또는 링크 - URL의 형식에 따라 특정 단어에 대해 관련되는 문서를 지정하도록 해놓은 것이다. Hypertext - 여러 개의 하이퍼링크되 있는 단어들과 함께 텍스트로 되어 있는 하나의 문서 하이퍼 텍스트를 위한 링크

4 Hypermedia - 음성, 화상, 사진 등과 같은 다른 미디어에 대한 하이퍼링크를 갖고 있는 하이퍼 텍스트 문서이다. HTML(HyperText Markup Language) - 하이퍼 텍스트를 만드는 수단이며 사용자에게 보여줄 문서의 표현 형식을 문서 내부에 지정할 수 있다. HTTP(Hyper Text Transfer Protocol) - WWW의 서버와 클라이언트가 하이퍼텍스트 문서를 송수신 하기위해 사용하는 프로토콜

5 HTTP프로토콜은 Telnet이나 FTP와 마찬가지로 TCP/IP프로토콜 체계의 응용 계층의 한 부분을 차지한다
HTTP프로토콜은 Telnet이나 FTP와 마찬가지로 TCP/IP프로토콜 체계의 응용 계층의 한 부분을 차지한다. TCP/IP프로토콜에서는 TCP전송 프로토콜을 이용하는 여러 프로토콜을 포트(port)번호를 통해 해결하는 데 HTTP프로토콜의 포트번호는 다른 임의의 번호를 이용할 수도 있으나 기본적으로 80번으로 지정되어 있다 HTTP 요청( 웹 크라이언트 웹 서 버 응답(하이퍼미디어 데이터) HTML 문서 웹 상에서의 데이터 전송

6 #access-list 101 permit tcp any any eq telnet
#config t #access-list 101 permit tcp any any eq telnet #access-list 101 pemrit icmp any any #access-list 101 deny tcp any any eq www #access-list 101 deny tcp any any eq ftp #access-list 101 deny tcp any any eq ftp-data #access-list 101 permit ip any any Request www Router Router www server 80, 23 Request telnet

7 www과 HTTP 인터넷과 더불어 사용되는 많은 용어들이 그러하듯이 WWW(이하 웹)도 한 마디로 요약하기가 무척 어렵다. 여기서 이를 정의 한다면 웹이란 수많은 컴퓨터에 설치되어 인터넷 상에서 동작하는 범 세계적인 시스템으로 하이퍼텍스트를 이용한 그래픽 정보를 HTTP라는 프로토콜을 이용하여 주고받는 시스템이라고 말할 수 있을 것이다. 우리가 흔히 접할 수 있는 각종 하드웨어 시스템들은 대부분 직관적으로 이해할 수 있는 형태로 정형화되어 있으며 심지어 소프트웨어들도 그 존재에 대한 이해는 그리 어렵지 않을 것이다. 이에 비해 웹이란 개념은 다분히 추상적인 성격을 지니고 있다고 볼 수 있다. 따라서 여기서는 다음과 같은 접근방식을 추천한다. 즉, 웹의 개념에 대한 이해에 너무 집착하지 말라는 것이며 단순히 클라이언트 PC등에서 웹을 검색하는 수준이 아니라 직접 웹을 운영하는 주체가 되기 위해서는 충분한 성능을 갖춘 컴퓨터와 웹서버로서의 역할을 할 수 있도록 해주는 소프트웨어가 있으면 된다는 정도까지만 이해하고 이후에 보다 기술적으로 세부적인 내용에 접근한다는 것이다. 앞에서 HTTP의 개념에 대한 언급하며 하이퍼텍스트라는 용어를 사용하였다. 하이퍼텍스트는 인터넷의 가장 중요한 개념 중 하나로 문서를 순차적으로만 읽는 것이 아니라 문서의 다른 부분 혹은 전혀 다른 문서를 읽을 수 있도록 링크가 포함되어 있는 문서를 말한다.

8 사용자는 단지 문서의 내용 중 링크가 되어 있는 곳에 마우스를 위치시키고 클릭함으로써 원하는 곳으로 자유롭게 이동할 수 있다.
하이퍼텍스트는 현재 그래픽과 음성, 영상 그리고 데이터 등을 포함하는 하이퍼미디어의 개념으로 발전되었다.

9 웹 서버 1.개요 2. Apache 소개 3. Apache 설정

10 개요 인터넷 상에는 수많은 웹서버들이 존재하는데 웹서버는 인터넷에 연결되어 있으며 웹서버용 소프트웨어가 설치되어 실행중인 시스템을 말한다. 또한 웹서버의 종류를 구분하는 관점에서는 웹서버용 소프트웨어 자체를 가리키기도 한다. 현재 여러 종류의 웹서버가 사용되고 있는데 CERN, NCSA등이 그러한 것들이며 최근에는 Apache라는 웹서버가 널리 사용되고 있다. 이러한 소프트웨어는 웹상에서 무료로 구할 수 있으며 넷스케이프사의 Netscape Communicatoins Server와 같은 상용 소프트웨어도 있다.

11 Apache 소개 아파치는 NCSA httpd 를 기반으로 1995년 탄생하였다. 현재 버전은 이며 웹 서버 시장에서 최고의 점유율을 고수하고 있다. 아파치는 지속적으로 패치파일을 제공하고 꾸준히 업그레이드가 되고있으며, 또한 웹 서버중에서 최고의 속도를 자랑하며 현재 조사된 바로는 전 전세계적으로 가장 많이 사용되는 웹 서버이다. * Why the name ‘Apache’ ? - NCSA httpd 1.3 의 패치파일 [웹 서버 평가치]

12 Apache 서버의 특징 NCSA http 1.3을 기반으로 한다. 다수의 domain name을 지원한다.
CERN 서버의 type map 기능을 구현한다. DBM을 이용한 빠른 사용자 인증을 한다.

13 프로그램을 구할 수 있는곳 - Apache 디렉토리 drwxr-xr-x 2 khyun inet 월 6일 08:22 cgi-bin/ drwxr-xr-x 2 khyun inet 월 6일 08:22 conf/ drwxr-xr-x 5 khyun inet 월 5일 15:24 htdocs/ drwxr-xr-x 2 khyun inet 월 6일 08:23 icons/ drwxr-xr-x 2 khyun inet 월 5일 15:24 support// /

14 Apache 서버 설정 drwxr-xr-x 2 khyun inet 4096 1월 6일 08:24 logs/
drwxr-xr-x 5 khyun inet 월 5일 15:24 src

15 Proxy Cache 기능 설정 1) Configuration파일 수정 ## The proxy module enables the server to act as a proxy for outside ## http and ftp services. It's not as complete as it could be yet. ## NOTE: You do not want this module UNLESS you are running a proxy; ## it is not needed for normal (origin server) operation. Module proxy_module modules/proxy/libproxy.a

16 # To enable the cache as well, edit and uncomment the following lines:
2) httpd.conf파일 수정 #ProxyRequests On # To enable the cache as well, edit and uncomment the following lines: CacheRoot /usr/local/etc/httpd/proxy CacheSize 5 (kbyte) CacheMaxExpire 24 CacheLastModifiedFactor 0.1 CacheDefaultExpire 1 NoCache a_domain.com another_domain.edu joes.garage_sale.com Proxy Block

17 웹 서버 상태 살펴 보기 현재 서버 상태를 알고 싶을 때가 있다. 이럴때는 아파치의 웹 서버에서 제공하 는 status설정을 이용해 현재 상태를 파악할수 있다. 1) Configuration파일 수정 Rule STATUS=yes Module status_module mod_status.o 2) access.conf <Location /server-status> SetHandler server-status order deny,allow deny from all allow from .haesung.co.kr </Location> 안에 들어가면 서버상태를 볼 수 있다.  업데이트 간격(초 단위)

18 Virtual 웹 서버 설치하기 1) DNS 설정 named.boot 파일 수정 (도메인 추가) primary haesung.co.kr haesung.zone - Zone 파일 편집 (haesung.zone) @ SOA ns.haesung.co.kr Webmaster.haesung.co.kr.( ; Serial ; Refresh 6 hours ; Retry (15 min) ; Expire 7(d) 3600 ) ; Minumum(12h) ; IN NS haesung.co.kr IN A localhost IN A www IN A

19 2) httpd.conf 파일 수정 <VirtualHost ServerAdmin DocumentRoot /usr/local/httpd/docs/ ServerName ErrorLog logs/ TransferLog logs/ </VirtualHost>

20 <Directory /usr/local/httpd/htdocs>
사용자 인증 처리하기 access.conf <Directory /usr/local/httpd/htdocs> AllowOverride FileInfo AuthName haesung.inet.co.kr AuthType Basic AuthUserFile /usr/local/httpd/htdocs/.htpasswd <Limit GET POST> require valid-user </Limit> </Directory> - htpasswd (예제) bibian*FKJsBQ (유저아이디:패스워드) Usage: htpasswd [-c] passwordfile username

21 1.Proxy Server 개념 2. Squid Proxy Server 소개 3. Squid 설정

22 Proxy Server 개념 Proxy 서버란 방화벽시스템이 설치되어있는 호스트에서 동작하는 서버이며, 방화벽내에 있는 사용자들에게 방화벽 밖에 있는 서버로의 자유로운 서비스 요구와 응답을 받기 위한 수단으로 만들어진 것이다. 해킹과 같이 외부로 부터의 불법적인 접속을 방어하기 위해 설치하는 시스템이 방화벽인데 외부인의 접속이 어려운 만큼 내부인의 외부접속도 제한될수 밖에 없다. 이러한 때 방와벽이 설치되어 있는 시스템에다 Proxy서버를 설치해두면 방화벽에서는 이서버에 대한 동작을 허용하고 내부의 모든 사용자는 이서버에게만 서비스요구를 하도록 한다. 그러면 이 서버는 외부의 서버들에게 서비스 요청을 하고 응답을 받으면 원래 요청했던 방화벽 내부의 사용자에게 전달해 준다. 즉, Proxy 서버는 사용자 브라우저와 방화벽외부의 서버들 사이에서 방화벽을 통과하는 중계 역할을 해주는 것이다. 뿐만 아니라 프록시는 Cache를 가지고 있기 때문에 여러사람들이 많이 들어가는 호스트는 이미 Cache에 데이타가 들어있기 때문에 Proxy에서 바로 가져다가 PC에 전달을 하기 때문에 해외라인의 트래픽도 줄이고 속도도 빠른 이중의 효과를 얻게되는 것이다.

23 한국내 각 ISP의 프록시 현황

24 Proxy Caching의 장단점

25 Squid Proxy 특징 Proxy Caching Server for web client
Suporting HTTP, FTP, Gopher Support SSL, extensive access controls * SSL : 쌍방향 보안 통신 규약으로 Netscape Communications Corporation이 인터넷 상 의 보안과 기밀을 보장하기 위해 개발한 규약이다. Download :

26 Squid Proxy 설정 Squid Proxy Compile( Source 내의 INSTALL 파일을 참조한다.)
- download : # ftp squid.nlanr.net/squid (squid-1.2.beta12-src.tar.gz 대체적으로 complie양호) - # gzip -dc squid.x.y.z-src.tar.gz | tar xvf – - # cd squid-x.y.z - # ./configure --prefix=/some/other/directory/squid - # ./Configure ( Version에 따라 해주지 않아도 되는경우가 있다) - # make all - # make install Squid Run - # /etc/group 에 nogroup 추가 - # mkdir /usr/local/squid/cache - # chown –R logs cache - # cd /usr/local/squid/cache - # ../ bin / squid -z (cache 디렉토리를 만든다) - # su nobody ( root에서 실행하면 보안상 문제가 되어 실행이 되지 않는다) - $ /usr/local/squid/bin/RunCache &

27 Squid Proxy Configuration
- # vi /some/other/directory/squid/etc/squid.conf http_port => 8080포트를 이용하여 통신 local_domain nuri.net => 현재 소유도메인 기술 neighbor_timeout 2 => 외부 cache서버로 cache data 요청후부터 응답대기시간 (단위 : 초) cache_mem => 사용가능한 VirtureMemory (단위 : Mbyte) cache_swap => cache 용으로 사용한 디스크량을 설정 ( 단위 Mbyte) cache_swap_low 80 => 정해진 cache디스크가 최저 80% 이하 삭제하지 않음

28 cache_effective_user nobody nogroup => 실행가능한 UID / GID (보안상
cache_swap_high 95 => 정해진 cache 디스크가 95%가 넘으면 80%가지 삭제 maximum_object_size => cache데이타가 16384Kbyte 이상 되는것은 디스크에 저장되지 않음 cache_dir /usr/local/squid/cache => cache 디렉토리 설정 request_size => 최고 허가 요구 사이즈 (단위 Kbyte) cache_mgr => cache 관리자 address cache_effective_user nobody nogroup => 실행가능한 UID / GID (보안상 visible_hostname proxy.nuri.net => Proxy Server name append_domain .nuri.net =>소유도메인을 추가하는 것으로 반드시 점을 먼저찍고 도메인을 기술한다. * 각 로그파일은 디렉토리를 지정하여 기술해준다 cache_access_log /usr/local/squid/logs/access.log cache_log /usr/local/squid/logs/cache.log cache_store_log /usr/local/squid/logs/store.log cache_swap_log /usr/local/squid/logs/swap.log

29 Squid Proxy 응용 Multiple Proxy Caching 1 Single Proxy Caching 의 문제점
- Proxy 에 문서를 요구하는 client들의 수가 proxy 에 지나치게 많으면 병목 현상으로 인해 속도저하 및 접속불가가 되기 쉬움 2. Single Proxy Caching 의 문제해결방안 - 여러 개의 caching proxy를 연동시켜서 서로 가지고 있는 cache 등을 공유함 예 ) Harvest cache , Squid cache 3. Multiple Proxy Caching 이란 ? - Client 의 요청에 따른 object 가 cache 에 없으면 local cache는 자신에게 연결되어 있 는 neighbor, parent cache, primary host에 동시에 요청 (request)을 보냄 - 그 중에서 가장 빨리 hit message를 보내주는 host로부터 객체를 가져옴

30 Client Proxy S Proxy S Proxy S 4. Master redirects client to where the
object in cached 5. Client makes new request at caching server 1. Client chooses master Proxy S Proxy S Proxy S 3. I have the cached 2. Mater, finding it did not have the object cached, multicasts to other cooperating servers to ask

31 게이트웨이 역할 1. 비공인 IP address 를 사용하는 지역에서의 인터넷 이용 비공인 IP Address 를 사용하는 지역에서는 공인IP 를 사용하는 인터넷망으로 나올 수 가 없어 내부에서만 동작이 가능하다. 이런 경우 Proxy를 이용하여 비공인 IP를 공인된 IP처럼 가상으로 변환하여 인터넷 을 이용할 수 있도록 게이트웨이 역할을 하는 방법이 있다. 2. 보안용 장비로 이용 외부에서 접속을 하거나 DNS로 외부에 노출되는 것을 막고자 하는 경우Proxy 서버를 중간 게이트웨이로 이용을 하면 Proxy 뒤의 서버들은 외부에서 확인이나 접속이 불가능하다.

32 공 인 네트워크 비 공 인 네트워크 P C D N S N E W Proxy S P C SERVER N E W
이때의 프록시 서버는 게이트웨이 역할을 한다. Proxy S 비 공 인 네트워크 P C SERVER N E W


Download ppt "1. 개 요 2. WWW의 용어 3. WWW(World Wide Web) HTTP"

Similar presentations


Ads by Google