반응형
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)를 가지고 있음
- 브라우저에서 처리되는 펜더링 처리과정
- HTML 해석 -> DOM Tree 생성
- CSS 해석 -> CSS Tree
- Parsing 과정이 필요하며 토큰 단위로 해석되는 방식은 일반적인 소스코드의 컴파일 과정
- DOM Tree와 CSS Tree = Render Tree
- 화면에 어떻게 배치할지 크기와 위치 정보 담음
- HTML 해석 -> DOM Tree 생성
웹서버
- 웹 서버는 소프트웨어를 보통 말하지만, 웹 서버 소프트웨어가 동작하는 컴퓨터를 말함
- 웹 서버의 가장 중요한 기능은 클라이언트가 요청하는 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 |