웹 기본지식

    web / / 2020. 2. 5. 14:14
    반응형

    CS

    1. 개념 

    - client server 가 데이터를 소통하고 처리하는 프로그램 입니다.

    • client 가 db를 직접 접속(속도는 빠르지만, 보안에 취약하며 db접속 제한으로 여러클라이언트의 동시접속에 한계)

    • server가 대신 db를 접속하여 데이터를 전송

    - 서버 프로그램을 작성해야 하고, 별도의 프로토콜 필요,

    - 윈도우 프로그래밍을 의미, 사용자 pc 에 설치해야 함. ex ) 카카오톡 

     

    2. 특징 

    - 보안이 좋음 : 특정 클라이언트만 서버의 데이터 구조를 알수 있음, ex ) 사내프로그램

    - 속도가 빠름

    - 유지보수가 어렵다 (server와 client를 같이 개발해야 함)

    - 프로그램이 업그레이드 될수록 fat client가 되기 때문에 client는 고사양의 컴퓨터가 필요하다.


    WEB

    1. 개념

    • 웹 서버(Server)와 웹브라우저(Client)를 사용하는 시스템 입니다.

    • 웹 브라우저가 data 요청시, 웹서버가 대신 db에 접속하여 데이터를 전송

    2. 특징

    • 거의 모든 처리를 고사양의 서버에서 합니다. ( HTML, JavaScript, CSS의 기술이 필요 )

    • 서버만 개발하면 됩니다.

    • Client의 사양을 크게 생각하지 않아도 됩니다.

    • 속도가 느립니다.( 서버의 과부하 ) 

    • http 사용하기 때문에 별도의 프로토콜이 필요 없음. 

    • 유지보수한 프로그램의 배포가 필요없이 서버 재가동만 하면 됨! 

    3. 발전

    • 최근 사용자의 HW가 발전함에 따라 웹서버에서 처리하는 일정부분을 Client 로 넘김

    4. 동작원리

    • 클라이언트 요청

    • 웹서버가 정적 컨텐츠인지 체크 -> 웹서버가 처리

    • 동적 컨텐츠 요청 -> WAS에게 클라이언트의 요청 전달 


    5. 웹 서버 vs WAS 

     

    - WEB SERVER

    • 정적 컨텐츠 제공 ( HTML, PNG, CSS)

    • Apache, nginx

    - WEB APPLICATION SERVER 

    • 동적 컨텐츠를 제공하기 위해 만들어진 서버 ( DB 연결, 데이터 조작 등 ) 

    • web server + web container (JSP, serverlet 을 실행시킬수 있는 소프트웨어)

    • Tomcat, Jeus, JBoss 

    • 동작 : 

    1. 웹서버로부터 요청이 오면 컨테이너가 받아서 처리

    2. 컨테이너는 web.xml을 참조하여 해당 서블릿에 대한 쓰레드 생성하고 httpServletRequest와 httpServletResponse 객체를 생성하여 전달한다.

    3. 컨테이너는 서블릿을 호출한다.

    4. 호출된 서블릿의 작업을 담당하게 된 쓰레드는 doPost()또는 doGet()을 호출한다.

    5. 호출된 doPost(), doGet() 메소드는 생성된 동적 페이지를 Response객체에 담아 컨테이너에 전달한다.

    6. 컨테이너는 전달받은 Response객체를 HTTPResponse형태로 바꿔 웹서버에 전달하고 생성되었던 쓰레드를 종료하고 httpServletRequest, httpServletResponse 객체를 소멸시킨다.

    반응형

    'web' 카테고리의 다른 글

    웹의 구조  (0) 2020.02.05
    JSON, AJAX  (0) 2020.02.05
    웹 기초 _ 1  (0) 2020.02.05
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기