1. HTTP
HTTP? hypertext transfer protocol (클라이언트-서버 프로토콜)
클라이언트(브라우저) -> 서버 ; requset
서버 -> 클라이언트 ; response

1-1. HTTP request message
HTTP 메세지는 사람이 읽을 수 있다! (ASCII)

method - GET(서버로부터 리소스 가져옴), POST(서버로 데이터 전달)
path - 가져오려는 리소스 경로
헤더 - 서버에 대한 추가정보 전달
*uploading form input
-POST method ; to server
-URL method (GET method) ; from server
1-2. HTTP response message

status code - 요청의 성공 여부와 그 이유를 나타냄.
*status codes (서버->클라이언트 전달)
200 OK - 요청 성공
301 Moved Permanently - 요청한 리소스의 URL 변경되었음(데이터 옮겨짐)
400 Bad Request - 잘못된 문법으로 요청 이해 불가
404 Not Found - 요청받은 리소스 찾을 수 없음
505 HTTP Version Not Supported - 요청에 사용된 HTTP 버전 지원되지 않음
https://developer.mozilla.org/ko/docs/Web/HTTP/Overview
HTTP 개요 - HTTP | MDN
HTTP는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜입니다. HTTP는 웹에서 이루어지는 모든 데이터 교환의 기초이며, 클라이언트-서버 프로토콜이기도 합니다. 클라이언트-서버
developer.mozilla.org
https://developer.mozilla.org/ko/docs/Web/HTTP/Messages
HTTP 메시지 - HTTP | MDN
HTTP 메시지는 서버와 클라이언트 간에 데이터가 교환되는 방식입니다. 메시지 타입은 두 가지가 있습니다. 요청(request)은 클라이언트가 서버로 전달해서 서버의 액션이 일어나게끔 하는 메시지
developer.mozilla.org
https://developer.mozilla.org/ko/docs/Web/HTTP/Status
HTTP 상태 코드 - HTTP | MDN
HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려줍니다. 응답은 5개의 그룹으로 나누어집니다: 정보를 제공하는 응답, 성공적인 응답, 리다이렉트, 클라이언트 에러, 그리고
developer.mozilla.org
2. cookie
: 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각
쿠키를 저장해 놓았다가 -> 동일한 서버에 재 요청시 저장된 데이터 함께 전송함.
두 요청이 동일한 브라우저에서 들어왔는지 아닌지를 판단할 때 주로 사용
-> 로그인 상태 유지 가능 (stateless HTTP 프로토콜에서 상태정보 기억시켜줌)
*쿠키의 목적
세션관리, 개인화, 트래킹(tracking)
https://developer.mozilla.org/ko/docs/Web/HTTP/Cookies
HTTP 쿠키 - HTTP | MDN
HTTP 쿠키(웹 쿠키, 브라우저 쿠키)는 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각입니다. 브라우저는 그 데이터 조각들을 저장해 놓았다가, 동일한 서버에 재 요청 시 저장된 데
developer.mozilla.org
3. caching
3-1. web cache (=HTTP cache)
: 서버 지연을 줄이기 위해 웹페이지, 이미지 등의 웹 문서들을 임시 저장하기 위한 정보기술
웹 캐시 시스템를 통과하는 문서들의 사본을 저장 -> 이후 특정 조건을 충족하는 경우 요청(request) 캐시화 가능!
캐싱 - 주어진 리소스의 복사본을 저장하고 있다가 요청 시에 복사본을 제공하는 기술!
웹 캐시 저장소에 요청된 리소스를 가지고 있다면 ?
원래의 서버로부터 리소스를 다시 다운로드 (X), 리소스의 복사본을 반환 (O)
=> 모든 클라이언트를 서비스할 필요가 없어짐 -> 서버의 부하가 완화됨, (캐시가 원래 서버에 비해) 클라이언트에 더 가까이에 있어 리소스를 회신하는 시간 줄어듦.
==> 리소스가 변하기 전까지만 캐싱하고 변한 이후에는 더이상 캐싱하지 않는 것 중요함.
크게 사설(private) 혹은 공유(shared) 캐시 두 가지 존재함.
https://developer.mozilla.org/ko/docs/Web/HTTP/Caching
HTTP caching - HTTP | MDN
웹 사이트와 애플리케이션의 성능은 이전에 가져온 리소스들을 재사용함으로써 현저하게 향상될 수 있습니다. 웹 캐시는 레이턴시와 네트워크 트래픽을 줄여줌으로써 리소스를 보여주는 데
developer.mozilla.org
'스터디 > 해킹실습2' 카테고리의 다른 글
| [취약점 분석] 버퍼 오버플로우, Linux basics (0) | 2021.11.21 |
|---|---|
| [운영체제 보안] 컴퓨터 아키텍처 및 운영체제, 커널 아키텍처, 인터럽트, 시스템 콜, 프로세스, 보안 아키텍처, 리눅스 보안 (0) | 2021.11.01 |
| [암호 및 응용] 암호 알고리즘, 아스키코드, XOR, DES, AES, RSA, Diffi - Hellman 키 교환, 링크 암호화 vs 종단간 암호화 (0) | 2021.11.01 |
| [네트워크 보안] Dos 공격, Spoofing 공격 (0) | 2021.10.10 |
| [네트워크보안] 네트워크 개요, 어플리케이션 네트워크 (0) | 2021.09.21 |