본문 바로가기

웹 어플리케이션 공부

웹 개발 기본 지식

반응형

HTTP(Hyper text Transfer Protocol) 작동 방식

  • HTTP 는 서버/클라이언트 모델을 따른다

  • 장점

    • 불특정 다수를 대상으로 하는 서비스에 적합
    • 클라이언트와 서버가 계속 연결된 형태가 아니기 때문에 클라이언트와 서버 간의 최대 연결 수보다 훨씬 많은 요청과 응답 처리 가능
  • 단점

    • 무상태의 특징으로 클라이언트의 이전 상황을 알 수 없음
    • 정보를 유지하기 위해서 Cookie 와 같은 기술이 등장했음
  • HTTP vs. HTTPS

    • HTTPS(Hypertext Transfer Protocol Secure)
    • HTTP 프로토콜의 문제점은 서버에서부터 브라우저로 전송되는 정보가 암호화 되지 않는 것
    • HTTPS프로토콜은 SSL(보안 소켓 계층)을 사용함
    • SSL은 서버와 브라우저 사이에 안전하게 암호화된 연결을 만들 수 있게 도와주고, 서버 브라우저가 민감한 정보를 주고받을 때, 이것이 도난당하는 것을 막아줌.
    • HTTPS: SSL 인증서로 사용자가 사이트에 제공하는 정보를 암호화 + TLS(전송 계층 보안) 프로토콜을 통해서도 보안 유지
    • HTTPS로 전환될 때

    브라우저

    • 브라우저는 월드와이드웹(WWW)에서 정보를 검색, 표현하고 탐색하기 위한 소프트웨어
    • 인터넷에서 특정 정보를 이동할 수 있는 주소 입력창이 있고 서버와 HTTP로 정보를 주고 받을 수 있는 네트워크 모듈 포함
    • 서버에서 받은 문서를 해석하고 실행하여 화면에 표현하기 위한 해석기(Parser)를 가지고 있음
    • 브라우저에서 처리되는 펜더링 처리과정
      1. HTML 해석 -> DOM Tree 생성
        1. CSS 해석 -> CSS Tree
        2. Parsing 과정이 필요하며 토큰 단위로 해석되는 방식은 일반적인 소스코드의 컴파일 과정
        3. DOM Tree와 CSS Tree = Render Tree
        4. 화면에 어떻게 배치할지 크기와 위치 정보 담음

웹서버

  • 웹 서버는 소프트웨어를 보통 말하지만, 웹 서버 소프트웨어가 동작하는 컴퓨터를 말함
  • 웹 서버의 가장 중요한 기능은 클라이언트가 요청하는 HTML 문서나 각종 리소스를 전달하는 것
  • 웹 브라우저나 웹 크롤러가 요청하는 리소스는 컴퓨터에 저장된 정적인 데이터이거나 동적인 결과가 될 수 있음
  • 가장 많이 사용하는 웹 서버는 Apache, Nginx, Microsft IIS
  • Apache 웹 서버는 Apache Software Foundation 에서 개발한 웹서버로 오픈소스 소프트웨어 임
  • Nginx는 차세대 웹 서버로 불리며

DBMS(Database Management System)

  • 다수의 사용자가 데이터베이스 내의 데이터에 접근할 수 있도록 해주는 소프트웨어

미들웨어(MiddleWare)

  • 클라이언트 쪽에 비즈니스 로직이 많을 경우, 클라이언트 관리(배포 등)로 인해 비용이 많이 발생하는 문제가 있음
  • 비즈니스 로직을 클라이언트와 DBMS 사이의 미들웨어 서버에서 동작하도록 함으로써 클라이언트는 입력과 출력만 담당

WAS(Web Application Server)

  • WAS는 일종의 미들웨어로 웹 클라이언트(보통 웹 브라우저)의 요청 중 웹 애플리케이션이 동작하도록 지원하는 목적

웹 서버 vs. WAS

  • WAS도 보통 자체적으로 웹 서버 기능을 내장하고 있음
  • 현재는 WAS가 가지고 있는 웹 서버도 정적인 콘텐츠를 처리하는 데 있어서 성능상 큰 차이가 없음
  • 규목가 커질수록 웹 서버와 WAS를 분리하ㅏㅁ
  • 자원 이용의 효율성 및 장애 극복, 배포 및 유지보수의 편의성을 위해 웹 서버와 WAS를 대체로 분리
반응형

'웹 어플리케이션 공부' 카테고리의 다른 글

API  (0) 2020.10.04
jsp  (0) 2020.10.04
서블릿이란  (0) 2019.08.14