WEB
● 용어
→ www
: 하나의 공통된 공간에서의 정보 공유를 위한 논리적 개념
: 서버 입장에서 보면 그냥 하나의 호스트
→ 홈페이지
: 도메인 접속 시 출력되는 제일 첫 번째 페이지
→ 웹 사이트
: 도메인 접속 시 출력되는 제일 첫 번째 페이지를 제외한 모든 페이지.
: https://archive.org/ ← 초창기 웹사이트의 별화를 볼수 있는 곳
● 구조
→ Web에서 사용되는 언어의 종류
: SSSL (Server Side Script Language)
▶ ASP, PHP, JSP, Perl, C/C++
: CSSL( Client Side Script Language )
▶ html , javascript
→ Web의 구조/동작
: Step 1. Web Client에서 요청
▶ Web Browser ( Internet Explorer , Firefox ,Chrome )
: Step 2. Firewall ( 시스템에서의 방화벽 , IPSec )
: Step 3. Web Firewall ( 웹 서버에서의 방화벽 )
: Step 4. Web Server
▶ Web Server ( IIS , Apache, Nginx )
: Step 5. Web Application Server ( SSSL )
: Step 6. Database
▶ DB Server ( MS-SQL, Oracle , Mysql, Mariadb )
● HTTP ( Hyper Text Transfer Protocol )
→ 개요
: Web 상에서 정보를 주고 받기 위한 핵심 프로토콜을 말한다.
: 정적인 테스트 자원을 송/수신하기 위해 개발
: Client의 요청( Request )에 따른 Server의 응답 ( Response )
: 패킷 Layout ( 샥스핀으로 확인 가능 )
▶ Ethernet → IP → TCP → HTTP → Data
→ HTTP Protocol 의 특징
: TCP 기반의 프로토콜
▶ 송신측서 수신측에 ‘SYN’ 전송
▶ 수신측서 송신측에 ‘SYN+ACK’ 전송
▶ 송수신측서 수신측에 ‘ACK’ 전송
→ Text 형태의 프로토콜
: HTTP Version
▶ HTTP 1.0
: 1996년 발표 됨
: RFC 1945에 정의 : http://www.w3.org/Protocols/rfc1945/rfc1945
▶ HTTP 1.1
: 1999년 발표 됨
: RFC 2616에 정의 : http://www.w3.org/Protocols/rfc2616/rfc2616.html
▶ HTTP1.1에서 추가된 사항
: 지속적인 연결, 부분적 자원 선택, 향상된 보안
: 가상호스트(Virtual Host) or 다중 호스트 네임
→ v1.1인 경우 반드시 HTTP Header에 Host값을 포함해야 한다.
: 계층적 프록시(Hierarchical proxies)
: 더 좋은 캐싱과 플러싱 지원
: 콘텐츠 협상
: HTTP Version(HTTP 1.1) 및 HTTP Request(요청), HTTP Response(응답)
▶ 각 형식별 나오는 내용 확인
● Request
: Start Line (Request Line)
: Message Header (General Headers, Request Headers, Entity Headers)
: Blank (Blank)
: Message Body (Body)
● Response
: Start Line (Status Line)
: Message Header(General Headers, Response Headers, Entity Headers)
: Blank (Blank)
: Message Body (Body)
▶ 일반적으로 나타나는 유형
(Request와 Reponse를 판단할 수 있는 요령이니까 꼭 암기할 것)
● HTTP Request
: GET/HTTP/1.1
● HTTP Reponse
: HTTP/1.1 200 OK2. Web Proxy