01 웹: 전 세계에 퍼져 있는 하이퍼링크의 그물
02 인터넷 & 웹: 각각 만들어진 것을 융합한다
03 다양한 웹의 용도: 웹 사이트에서 고도의 애플리케이션으로 발전
04 HTML과 웹브라우저: 태그를 사용해 문서에 의미를 부여한다
05 웹서버 & HTTP: 웹을 지탱하느느 기본 구조
06 웹페이지가 표시되는 흐름: URL에 맞춰 HTML이 전송된다
07 정적 페이지 & 동적 페이지: 변하지 않는 페이지 & 변하는 페이지
08 동적 페이지의 구조: 프로그램으로 HTML을 생성한다
09 웹 표준화: W3C를 통해 웹은 표준화되어 있다
10 웹의 설계 사상: 웹 기술에서 권장되는 2가지 사상 (RESTful / 시맨팁 웹)
01 웹을 실현하는 컴퓨터 네트워크: 인터넷의 개요
02 인터넷의 표준 프로토콜: 프로토콜의 역할
03 TCP/IP: 데이터 전송을 담당하는 프로토콜
04 IP 주소 & 포트 번호: 데이터 도착지를 식별한다
05 URL & 도메인: 사람이 이해할 수 있는 형태로 웹사이트 위치를 나타낸다
06 DNS: 도메인과 IP 주소를 변환한다
07 HTTP: 웹브라우저와 웹서버 사이의 전달
01 HTTP 메시지: HTTP 로 전달하는 데이터의 구조
02 TTP 요청 / HTTP 응답: 요청과 응답의 차이
03 HTTP 메서드: 웹서버에 대한 요청의 종류
04 상태 코드: 응답 결과의 종류를 나타내는 숫자
05 메시지 헤더: 헤더 필드에 포함된 상세 정보
06 TCP를 통한 데이터 통신: 데이터가 확실하게 도달하는 구조
07 HTTP/1.1 의 통신: 현재 주류 데이터 통신 방식
08 HTTP/2 통신: 스트림 다중화를 통해 고속화한다
09 HTTP/2 에서의 개선점: 고속화를 위한 다양한 기술
10 HTTPS 의 구조: 암호화를 통해 안정성을 높인다
11 HTTPS 통신: 암호화 방식을 맞춘 뒤 통신을 시작한다
12 스테이트풀 & 스테이트리스: 상태 유지 여부
13 쿠키: 스테이트리스 에서 상태를 유지하는 구조
14 세션: 일련의 처리의 흐름을 관리한다
15 URI: 다양한 리소스를 식별하는 기술 방법
01 HTML: HTML 의 구조와 버전
02 웹페이지에서 사용되는 이미지 형식: 형식별 특징을 바탕으로 구분해서 사용한다
03 XML: 범용성을 높이는 방향으로 진화한 마크업 언어
04 CSS: 형태를 담당하는 스타일 시트
05 스크립트 언어: 동적 처리를 실현하는 프로그래밍 언어
06 DOM: 스크립트에서 HTML을 조작하는 구조
07 JSON: 자바스크립트에서 탄생한 범용 데이터 형식
08 피드: 웹사이트의 업데이트 정보를 전송한다
09 마이크로 포맷: 웹페이지에 상세한 '의미'를 삽입한다
10 음성/동영상 전송: 거대한 데이터를 원활하게 전송하는 기술
11 미디어 타입: 다양해지는 열람 환경들에 대응한다
01 웹 애플리케이션의 3티어 구조: 3계층으로 나누어 부하를 분산할 수 있다
02 MVC 모델: 애플리케이션 내부 구조를 결정하는 설계 사상
03 프레임워크: 템플릿을 사용한 효율적 개발
04 웹서버: 웹 클라이언트와의 창구를 담당한다
05 웹 클라이언트: 브라우저만은 아니다
06 애플리케이션 서버: 동적 페이지의 핵심을 담당한다
07 데이터베이스 관리 시스템: 웹 애플리케이션 데이터를 축적한다
08 캐시 서버: 통신을 중개해서 서버 붇마을 줄인다
09 Ajax: 체감 응답을 향상시키는 비동기 통신 기술
10 웹 프로그래밍: 클라이언트 사이드 & 서버 사이드 로 나뉜다
11 Wep API: 프로그램이 서비스를 사용하는 창구
12 매시업: 여러 웹서비스를 조합한다
13 CGI: 서버 사이드 스크립트는 기동하는 구조
14 서버 간 연동: 서버 간 통신에 사용되는 프르토콜
01 웹 시스템 보안: 보안을 이해하기 위한 기본 용어를 익힌다
02 비밀번호 해킹, DoS 공격: 비밀번호 분석과 접근 부하를 통한 공격 기법
03 웹 시스템의 특징을 사용한 공격: 쿠키나 URL의 구조를 사용한 공격 방법
04 웹 애플리케이션의 취약성을 노린 공격: 스크립트를 보내는 공격 방법
05 웹 시스템의 취약성: 보안 구멍을 통한 공격
06 방화벽: 외부로부터의 접근을 제한하는 장치
07 IDS, IPS: 부정 접근을 감지하는 장치
08 WAF: 통신 내용을 보고 공격을 막는 장치
09 암호화: 통신 경로와 저장 데이터 2가지를 암호화한다
10 공개키 인증서: 통신 상대가 실재 존재함과 암호화 통신이 가능함을 증명한다
11 인증: 인증 기능의 아웃소싱화가 진행된다
12 허가: 서비스를 넘나드는 기능 사용을 구현한다
13 캡챠(CAPTCHA): 프로그램을 사용한 부정을 방지한다
01 제공할 서비스 검토: 제공할 서비스로부터 필요한 기능을 도출한다
02 사용 언어 & 소프트웨어 검토: 애플리케이션의 특징에 맞게 결정한다
03 네트워크 구성 검토: 역할별로 네트워크를 분할한다
04 서버 구성 검토: 비용과 가용성의 균형을 고려해 구성한다
05 서버 기반 검토: 온프레미스, 임대, 클라우드
06 부하 분산: 접근 부하를 분산하는 설계
07 서버 설계/구축: 하드웨어 구성, OS, 미들웨어 설정과 테스트
08 데이터베이스 설계: 저장해야 할 데이터를 도출해 데이터베이스를 설계한다
09 애플리케이션 설게: 전체 설계에서 모듈 단위 설계로 진행한다
10 백업 운용: 장애를 예측하고, 백업 방법과 빈도를 결정한다
11 로그 운용: 로그는 시스템 상태를 파악할 수 있는 중요한 정보원
12 웹사이트의 성능: 응답 시간으느 만족도를 나타내는 지표
13 취약성 진단: 사소한 취약성의 확인과 대책이 필요하다
ㅇ출처: 책 <웹의 기초>, 출판사 위키북스