밍경송의 E.B

[사이버보안] WEB 본문

CSE/사이버보안개론

[사이버보안] WEB

m_gyxxmi 2024. 4. 25. 00:19

이 글은 2024-1 ㅇ화여대 사이버보안개론 수업자료를 참고하였음을 밝힙니다.

 

 

 

WEB 

: 하이퍼텍스트 문서들이 인터넷을 통해 연결된 sys

- 월드-와이드-웹. 물리연구소에서 시작

 

*구성

- HTTP(Hyper Text Transfer Protocol) - 응용계층에서 동작. 

- 하이퍼텍스트 문서들 (링크를 통해 다른 문서로 접근이 가능한 문서)

- URL(서버표시)와 URI(인터넷의 특정 자원에 접근하기 위해 사용하는 식별자)

 

*Web browser : 웹에 접속하기 위한 응용 SW

 


HTTP 통신 프로토콜 

4단계!

 

(1) Request 메세지

*구성

[1 메소드 : 서버가 수행해야 할 동작 정의]

  • GET : 서버에게 자원요청(data나 웹페이지 불러오기) 
    • URL의 id값 뒷부분에 표시 
    • 주소창을 통해 request -> 보안에 매우 취약
  • POST : 데이터를 서버에게 제출하는 용도
    • URL로 전송하지 않음. 링크로 접속 불가 -> 보안적으로 우수
    • request body에 파라미터 정보가 들어감. -> 서버에 저장된 내용에 변화를 줌.

[2 request URI ]

: 상대 경로및 절대 경로 요청 가능

 

[3 프로토콜 버전]

 

[4 request header ]

: request 시 필요한 조건. 특성

 

[5 request body]

  • client-> server로 보내는 데이터
  • POST에서 사용. (GET이면 생략)
  • 다양한 포맷 데이터 추가 가능

 

(2) Response 메세지

**서버의 응답.

 

 

*구성

[1 프로토콜 버전]

**HTTP/3.0

- 2022년 발표. UDP 기반의 QUIC 프로토콜 ! 동영상 서비스에 굳

 

[2 status code]

[3 status code 설명]

[4 response header]

[5 response body]

 


 

HTTP 특징

1. Connectionless protocol

  • client <-> server 로 요청, 응답 보내면 접속 끊음 (기본)
  • 성능상 비효율적 why? 클이 요청보낼 때마다 새로 접속해야 함.
  • 프로토콜 상의 개선 

 

-> Connection 유지 기능 탄생

 

 

2. Multiplexing

**짧은 요청이 있으면 먼저 보내라 

 

 

3. Stateless protocol(상태정보 저장 안 하는 게 기본)

 

대안 = 쿠키 & 세션

 

  • 쿠키 : client에 저장!!!!!!!되는 키와 값이 들어있는 data 파일
    • client 상태 정보를 로컬에 저장 
    • -> 동일 서버에 재요청시, 브라우저에 저장된 데이터 함께 전송.

 

 

  • 세션 : 서버!!!는 일정 시간동안 같은 클.로부터 전달되는 요청을 하나의 그룹으로 보고 세션으로 식별함.
    • 클.이 최초 요청 -> 식별용인 세션ID 부여
    • 클.에도 세션ID를 쿠키로 저장
    • 요청 시 서버는 request 헤더의 세션ID(쿠키의) 확인 -> 서버에 저장된 ID들과 비교해서 식별


 

HTML 특징

  • 가장 단순한 형태. 하이퍼텍스트를 효과적으로 전달 가능한 스크립트 언어
  • Web server에 HTML 문서 저장 -> 클.이 요청하면 해당 페이지 전달 
  • 클.은 전달 받은 page 해석 후 web browser로 표현 : static web page -> 보안상 바꿀 가능성 낮아서 안전.

 

 

*문서 생성

1) Static web page : 내용 변경 없이 web server가 파일을 읽어 그 내용을 전송.

2) Dynamic web page : 사용자의 상황 or request에 따라 내용이 달라짐.

 

 

[SSS : 서버 사이드 스크립트]

  • ASP나 JSP 확장자를 가진 웹 문서 요청
  • web serverSSS로 작성된 page를 내부적으로 실행 -> 실행결과를 HTML로 만들어 클.에게 전송.

 

 

[CSS: 클라이언트 사이드 스크립트]

  • 클라이언트 측 웹 브라우저에서 실행되는 스크립트 ex JS
  • 동적으로 화면만들기나 UI 제공 가능