[부스트코스 웹프로그래밍] 6. 웹서버

웹 서버

기능 : 클라이언트가 요청하는 html문서나 각종 리소스의 전달
클라이언트 = 보통 웹 브라우저

웹 크롤러 : 네이버, 구글 같은 검색 사이트에서 다른 웹사이트의 정보를 읽어갈 때 사용하는 소프트웨어

리소스
- 동적인 데이터 : 웹 서버에 의해서 실행되는 프로그램을 통해서 만들어진 결과물
- 정적인 데이터 : 컴퓨터에 저장되어있는 파일들 ex) java script, css파일, 이미지 등


HTTP를 통한 통신

URL 주소의 시작이 http://... = http를 이용하여 통신한다


실습 ) 
www.naver.com 의 url 주소를 웹브라우저의 주소창에 입력
-> 웹 서버는 클라이언트의 요청을 받아 요청받은 html 문서를 웹 브라우저에게 전달
-> 웹 브라우저는 전송받은 html문서를 읽어들여 해석
-> 올바른 출력을 위해 java script, css, 이미지 등의 리소스들에 대해 url을 추출
-> 웹서버에게 해당 리소스들을 동시에 웹서버에 요청
-> 웹서버는 동시에 요청받은 리소스들을 다시 동시에 브라우저에 전송
-> 웹브라우저는 아까 해석한 html 문서와 다시 전송받은 리소스들을 하나로 합쳐서 그 결과를 화면에 출력 = 렌더링


Apache
현재 가장 많이 사용되는 Apache Software Foundation에서 개발되는 웹서버 오픈소스 소프트웨어. 
Nginx는 차세대 웹서버로 더 작은 자원으로 더 빠른 서비스를 하는 것을 목적으로 함

Nginx의 성장률이 굉장히 빠르기 때문에 주의 할 것!


* 생각해보기 *
1. 네이버, 구글과 같은 검색을 할 수 있는 사이트에서는 검색어를 입력하면 검색어가 포함된 웹 페이지 목록을 보여줍니다.
2. 네이버와 구글은 검색어가 포함된 웹페이지를 어떻게 알 수 있었을까요?

네이버 , 구글 = 웹 크롤러
내 생각 : 내가 검색한 검색어를 가지고 웹 서버에 해당 검색어를 가진 웹페이지를 요청했기 때문에 웹서버가 전달해주는 화면은 검색어가 포함된 웹페이지들의 목록일 것이다.

실제 : 크롤링 프로그램이 웹서버를 돌아다니면 url과 키워드들을 모아서 이미 저장해놓은 상태. (사이트의 복사본을 생성하여 정보를 수집하고 이를 정리하여 인덱스화 , 데이터베이스화 해놓음) 그리고 내가 검색을 하면 해당 검색어를 가진 url 들을 보여주는 것
웹 크롤러 = 웹 로봇, 웹 봇, 웹 스파이더 등 
네이버의 검색로봇 이름은 Yeti 

No comments:

Powered by Blogger.