'웹 서핑'을 하기 위한 서비스, '웹 서비스'
사용자들이 웹 주소로 요청했을 때 제공되는 웹 문서(프론트엔드) + 문서들을 제공하는 웹 서버 (백엔드)
- 사용자가 이용하는 어플리케이션과 같은 부분 : 프론트엔드
- 웹 서버 부분 : 백엔드
웹 서비스를 위한 필수 작업- 어떤 곳에서도 접속이 가능한 환경(웹 서버) 구축
- 그 환경에 실제 웹 서비스 프로젝트를 설치해야 함 (서비스를 배포한다.)
- 웹 페이지를 개발하고 그 웹 페이지가 서비스 될 서버를 구성한다.
- 웹 서비스 프로젝트를 서버에 배포한다.
- 웹 서버를 가동시킨다.
PC에서 보는 복잡한 포털 홈페이지를 스마트폰으로 보더라도 보는데 문제가 없도록
기기에 맞게 웹페이지가 조절된다.
- 사용자의 화면크기와 해상도에 따라 다른 화면을 보여주는 웹.
- 반응형 웹으로 웹 서비스를 만들면 단 한페이지의 HTML문서를 작성하는 것으로 PC, 스마트폰, 태블릿 등 모든 기기에서 다른 화면을 보여줄 수 있고, 세로모드/ 가로모드에도 맞춤형 화면을 제공할 수 있다.
- 각각 기기에 맞는 페이지를 따로 만들어두는 것이 아니라, 크기나 해상도에 따라 보여지는 부분을 각각 다르게 적용하도록 개발하는 것이다.
- 통일된 웹 자원의 위치 지정 방법 : URL 혹은 URI
- 웹 자원에 접근하는 프로토콜 : HTTP
- 웹 자원들을 표시하는 언어 : HTML
URL을 통해 원하는 데이터가 위치한 주소로 찾아가고
HTTP라는 통신방식을 통해 서로 데이터를 주고 받고
HTML이라는 언어로 구성되어있는 문서를 웹 브라우저는 해석해 화면에 보여준다.❗️'웹 자원' 이란?
사용자는 웹에서 다양한 정보를 얻기를 원한다. 사용자들이 이렇게 웹을 통해 주고받는 다양한 데이터들을 '웹 자원'이라고 부른다.
HTML은 단순히 정보만 제공하는 문서이다.
따라서 사용자를 위한
사용자에게 맞춘 다양한 액션이나, 디자인을 추가하기 위해서는 JavaScript와 CSS가 필요하다.HTML+ CSS+ JavaScript 는 웹 기술의 필수적인 요소라고 볼 수 있다.
- ASP는 윈도우 계열에서만 지원하는 웹 서버를 설치할 수 있다.
- 위의 세가지 기술을 사용하는 이유는 수 많은 이유 중 '라이브러리'가 대표적이다.
예를들어, '암호화'라는 복잡한 기술을 웹페이지에서 구현한다고 하면, 미리 구현되어있는 암호화 라이브러리를 이용했을 때 훨씬 더 손쉽게 구현할 수 있다.❗️WAS(Web Application Server)
웹 언어 이외의 다양한 기술을 사용하기 위해서 필요하다.
정적인 HTML페이지는 웹 서버가 직접 처리하고, 페이지가 요청될 때마다 서버와 통신을하거나 다양한 처리를 하여 그때 그때 동적인 동작을 필요로 하는 부분들은 WAS라는 추가적인 프로그램에서 처리한다.
ASP, PHP, JSP 문법으로 작성된 파일들은 WAS 와 웹서버를 모두 동작시키고 웹 브라우저에서 웹 서버 IP로 접속해야지만 제대로 된 결과를 확인할 수 있다.
페이지의 이동이나 새로고침 없이 사용자의 액션에 반응을 할 수 있는 기술.
새로고침없이 실시간 데이터를 받아온다.
이 기술을 통해 사용자의 요청에 좀 더 자연스럽고, 빠른 응답을 줄 수 있다.
순수 JavaScript만으로도 구현이 가능한 기술이다.
주요기능
- 오디오, 비디오 같은 멀티미디어를 바로 재생가능
- 2D, 3D 그래픽 표현가능
- 데이터베이스와 데이터 저장 공간 제공
- GPS, 카메라 등의 센서 기능 사용 가능
- 파편화 : 뭉치지 않고 흩어져 있는 것. 웹 브라우저가 너무 많은 종류로 나뉘어져있어서 웹 브라우저들 사이에 호환성의 문제가 생긴다.
다양한 브라우저들 안의 모든 사용자가 원활한 웹 서비스를 이용하기 위해서는 '호화넝 테스트'가 중요하다.- 크로스 브라우징 : 어떤 웹 브라우저를 사용하더라도 항상 동일한 서비스를 받는 것.
크로스 브라우징을 해결하는 라이브러리를 사용하여 쉽게 해결할 수 있다.
웹 서버에 누구나 쉽게 접속할 수 있도록 서비스의 이름을 지어 '도메인'을 부여한다.
모든 서버는 '도메인'이 없어도 인터넷에 접속되어있다면, IP주소로 접근할 수 있다.
다만, 어려운 숫자로 구성되어 있어서 도메인을 붙여준다.
도메인은 일종의 '이름'이라고 생각하면 쉽다.
계속 공부하는 중인 분야지만, 매번 새롭고 신기하고 흥미롭다.
웹과 IT분야의 매력인듯하다.