IT/Java

2021-03-03 일지2

어린이개발자 2021. 3. 3. 16:35

요새, 네이버 boostcourse에서 강경미 강사님이 진행하는 '웹 백엔드' 강의를 듣고 있고,

해당 내용을 차근차근 정리해갈 예정이다.

 

<오늘 배운 내용>

 

-- 시작 --

 

* HTTP(Hypertext Transfer Protocol)
- 서버와 클라이언트가 인터넷 상에서 데이터를 주고 받기 위한 프로토콜(protocol)
- 장점:
불특정 다수를 대상으로 하는 서비스에 적합 /
클라이언트와 서버가 계속 연결된 형태가 아니기 때문에 클라이언트와 서버간의
최대 연결수보다 훨씬 많은 요청과 응답 처리 가능
- 단점:
연결을 끊어버리기 때문에, 클라이언트의 이전 상황을 알 수 없음 [무상태(Stateless)]
이러한 특징 때문에 정보를 유지하기 위해서 Cookie와 같은 기술 등장

* WEB Browser Rendering
- 새로고침 혹은 페이지를 이동한다면, 렌더링 필요
- 스크롤의 경우 이미 렌더링된 상태에서 화면 크기 제약에 따라 사용자에게만 보이지 않기 때문에
  렌더링 하지 않음
- 특정 조작으로 화면의 위치가 바뀌는 것은 HTML 구조 조작을 통해 

  새로고침 없이 화면 조작이 가능함

* Browser에는 데이터를 해석해주는 파서와, 

  데이터를 화면에 표현해주는 렌더링 엔진이 포함되어 있음

* 웹서버
- 소프트웨어(Software)를 보통 말하지만, 웹서버 소프트웨어가 동작하는 컴퓨터를 말함
- 웹서버의 가장 중요한 기능은 클라이언트(Client)가 요청하는 HTML 문서나 
  각종 리소스(Resource)를 전달하는 것
- 웹브라우저나 웹크롤러가 요청하는 리소스는 컴퓨터에 저장되어 있는 
  정적(static)인 데이터이거나 동적인 결과가 될 수 있음

* 웹서버 소프트웨어의 종류
- 가장 많이 사용하는 웹서버: Apache, Ngnix, Microsoft, Google 웹서버
- Apache, Ngnix 웹서버 모두 오픈소스 소프트웨어

* 미들웨어
- 클라이언트 쪽에 비즈니스 로직이 많을 경우, 클라이언트 관리(배포 등)로 인해
  비용이 많이 발생하는 문제가 발생
- 비즈니스 로직을 클라이언트와 DBMS 사이의 미들웨어 서버에서 동작하도록 함으로써
  클라이언트는 입력과 출력만 담당하도록 함
  
* WAS(Web Application Server)
- 일종의 미들웨어로 웹클라이언트(보통 웹브라우저)의 요청 중
  보통 웹애플리케이션이 동작하도록 지원하는 목적을 가짐
  
* 웹서버 vs WAS
- WAS도 보통 자체적으로 웹서버 기능을 내장하고 있음
- 현재는 WAS가 가지고 있는 웹서버도 정적인 컨텐츠를 처리하는데 있어서 

  성능상 큰 차이가 없음
- 규모가 커질수록 웹서버와 WAS를 분리함 / 

  그 목적은 장애 극복 기능(failover)인 경우가 많음

 

-- 끝 --

 

+ 알고 있던 내용이었지만, 다시 한 번 깔끔하게 정리할 수 있어 좋았다

'IT > Java' 카테고리의 다른 글

2021-03-05 일지3  (0) 2021.03.05
2021-03-05 일지2  (0) 2021.03.05
2021-03-05 일지1  (0) 2021.03.05
2021-03-04 일지  (0) 2021.03.04
2021-03-03 일지1  (1) 2021.03.03