EXCELSIOR

01. 웹 환경의 이해 본문

Python/Web Crawling

01. 웹 환경의 이해

Excelsior-JH 2017. 5. 1. 23:29

1. 웹 환경

1) 서버(Server): 서비스를 제공하는 컴퓨터


2) 클라이언트(Client): 서비스를 사용하는 사용자 또는 사용자의 단말기


3) 서버의 주소

- URL(IP 와 Port로 구성)

- ex) 192.168.x.x.:88


4) 서버의 종류(port)

- 웹 서버(80)

- 데이터베이스 서버(mysql:3306)

- DNS 서버(1023, 53)

- FTP 서버(21)

- ssh 서버(22)

- 메일 서버(110, 25, 143) 등

[그림 1] Server & Client (출처: https://ko.wikipedia.org/wiki/클라이언트_서버_모델)


5) HTTP

- HTTP(HyperText Transfer Protocol)는 WWW 상에서 정보를 주고 받을 수 있는 프로토콜(일종의 약속)


6) Request : 서버로 요청

- GET : 정보를 가져오는 역할

- POST : 정보를 수정, 입력하는 역할


7) Response: 서버로 부터 응답

- HTML, Javascript, css, image 등


[그림 2] Request & Response (출처: https://gregorybeamer.wordpress.com)


2. Frontend : HTML, css, javascript

- 사용자가 브라우저ㄴ에 정보를 보고, 웹 서버에게 특정 정보를 요청(request)하기 위한 사전 작업을 수행


1) HTML(Hyper Text Markup Language)

- 웹 페이지를 구조적으로 나타내는 문서

- 데이터


2) CSS

- HTML 파일을 꾸며주는 역할

- 디자인


3) JavaScript

- 객체 기반의 스크립트 언어

- 사용자의 편의성을 제공

[그림 3] HTML, CSS, JavaScript (출처: http://www.tedroche.com/)




3. Backend : 웹 서버, DB 서버, 웹 프레임 워크

- 사용자의 요청을 받아, 저장되어 있는 정보를 각 사용자에게 적합한 페이지를 전송


1) 웹 서버(Apache, IIS, nginx, GWS, 등)

- 사용자의 요청에 맞게 데이터(HTML, Image 등)를 전송해주는 프로그램


2) 데이터 베이스(MsSQL, Oracle, MySQL, PostgreSQL, MongoDB 등)

- 사용자의 정보를 저장하는 저장소


3) 스크립트 엔진(php, jsp, asp)

- 웹 서버에서 사용자의 요청을 분석해주는 프로그램


4) 웹 프레임 워크(Django, Ruby on Rails, ASP.NET 등)

- 웹 개발을 편리하게 만들어 주는 도구

- 생산성 향상

Comments