728x90
반응형
WEB 구성 요소
Web
- 인터넷을 기반으로 정보를 공유, 검색 하는 서비스이며 Web Browser를 통해 다양한 서비스를 제공한다.
- HTML(Hypertext Transfer Protocol)언어를 기반으로 문서와 링크를 생성하여 웹사이트를 구성한다.
- HTTP(Hypertext Transfer Protocol) 프로토콜을 사용하여 정보를 공유한다.
- URL(Uniform Resource Locator)은 인터넷상의 리소스를 나타내는 주소이다.
Web Browser
- Web server와 통신하여 HTML 문서나 파일을 출력하는 GUI형식의 소프트 웨어
Web Page
- Web Browser에 표시되는 각각의 화면
- Firefox, 구글 크롬, 오페라, MS 익스플로러나 엣지, 애플의 Safari 같은 웹 브라우저에서 보여지는 문서
Web Site
- 도메인 네임에 구축된 Web Page묶음
- 다양한 방식으로 그룹으로 묶이거나 연결된 웹 페이지들의 모음
- 검색엔진 : 웹 페이지를 다른 웹사이트에서 찾을 수 있게 도와주는 특별한 종류의 Web Site (예, google, naver)
Web Server
- 인터넷에 Web Site를 호스팅하는 컴퓨터
- “호스팅"은 모든 웹 페이지 및 웹 페이지가 지원하는 파일들을 컴퓨터에서 이용할 수 있다는 것을 의미
- 웹 서버는 유저의 REQUEST(요청)마다 호스팅하는 웹사이트에서 유저의 브라우저로 웹 페이지를 보낸다.
- 웹사이트가 반응하지 않는다. = 웹 서버가 반응하지 않는다
- "웹 서버"는 하드웨어, 소프트웨어 혹은 두 개가 같이 동작하는 것을 의미할 수 있습니다.
- 하드웨어 측면에서,
- 웹 서버는 웹 서버의 소프트웨어와 website의 컴포넌트 파일들을 저장하는 컴퓨터입니다. 컴포넌트 파일에는 HTML 문서, images, CSS stylesheets, 그리고 JavaScript files가 있습니다.) 웹 서버는 인터넷에 연결되어 웹에 연결된 다른 기기들이 웹 서버의 데이터(컴포넌트 파일들)를 주고받을 수 있도록 합니다.
- 소프트웨어 측면에서,
- 웹 서버는 기본적으로 웹 사용자가 어떻게 호스트 파일들에 접근하는지를 관리합니다. 이 문서에서 웹 서버는 HTTP서버로 국한합니다. HTTP 서버는 URL(Web addresses)과 HTTP(당신의 브라우저가 웹 페이지를 보여주기 위해 사용하는 프로토콜)의 소프트웨어 일부입니다.
HTTP Request, Response
오직 클라이언트만이 HTTP 요청을 만들 수 있으며, 서버에게만 보낼 수 있습니다.
서버는 오직 클라이언트의 HTTP 요청에 응답할 수 있습니다.
HTTP를 통해 파일을 요청할때, 클라이언트는 반드시 URL 파일들을 제공해야 합니다.
웹 서버는 반드시 최소한의 에러 메시지를 포함하여 모든 HTTP 요청에 응답해야합니다.
Client
- 인터넷에 연결된 컴퓨터나 모바일 기기를 이용해 서비스하는 컴퓨터 또는 사용자
- 즉, 웹 브라우저를 말한다.
Server
- 클라이언트에게 네트워크를 통해 서비스를 제공하는 시스템
Web server
- 인터넷을 기반으로 클라이언트에게 웹 서비스를 제공하는 시스템
- 해당 URL의 요청에 대해 동적으로 HTML을 생성하고 css, js, img 등의 정적 리소스를 처리한 후 응답한다.
- 백엔드 WAS로의 동적 데이터 요청하는 역할도 한다.
- 예) apache, Microdoft IIS
WAS(Web Application Server)
- 서버 환경을만들어 웹에서 실행되는 서비스 동작을 시키는 기능을 제공하는 소프트웨어 프레임워크
- 웹 서버 요청에 대해 연산, 저장 등 기능을 수행하고 동적 데이터를 생성한 후 응답 한다.
- 예) tomcat, JEUS, IBM
정적 vs. 동적 컨텐츠
- 정적 리소스 (static)
- HTML, CSS, Javascript 등 같이 컴퓨터에 저장된 파일
- 동적 리소스 (dynamic)
- 누가, 언제, 어떻게 서버에 요청했는지에 따라 결과값을 다르게 보여주는 리소스(알고리즘 추천영상, 인기검색어 등)
- 요청인자에 따라 바뀔수 있는 컨텐츠(이름, 주소 등 데이터)
Web Server vs WAS
분리 시 장점
- 정적, 동적 컨텐츠 담당자를 나눠서 부하를 방지할 수 있다.
- WAS는 DB 조회 및 다양한 로직을 처리하는데만 집중하고 정적 리소스는 웹 서버에 맡기면서 역할을 나눌 수 있다.
분리 시 문제
- 프론트와 백엔드를 분리해서 통신하게 되면 각자 다른 컴퓨터가 서로 통신을 하는 것이기 때문에 CORS(Cross-Origin Resource Sharing) 이슈가 발생할 수 있다.
- 서버에서 프론트의 요청을 허용해주는 작업을 해줘야 한다.
728x90
반응형
'frontend > WEB' 카테고리의 다른 글
[WEB] 2024 웹 생태계 정리(라이브러리, 프레임워크 기능별 분류) (1) | 2024.11.22 |
---|---|
[WEB] 웹페이지 접근성 높히는 방법, 인클루시브 디자인(inclusive design) 이란? (0) | 2024.09.26 |
[WEB] HTTP/HTTPS Methods, status code (0) | 2024.05.27 |
[WEB] 브라우저 렌더링 성능을 높히는 개발 (0) | 2024.05.24 |
[WEB] 웹 크로스 브라우징 테스트 및 구현 방법 (0) | 2024.05.24 |