본문 바로가기

Web 개요7

[Web] Cookie / Session 1. Cookie의 개념쿠키의 개념을 확인하기 전 쿠키의 등장 배경부터 알아보자. 기존의 HTTP 통신은 Stateless(비연결성, 무상태성)의 속성을 가지고 있었다. 이것은 동일한 웹 브라우저가 동일한 웹 서버에 보낼 때 자신의 정보를 매번 보내야 했으므로 효율적이지 못했다.이러한 HTTP 통신의 Stateless한 속성을 더 효율적인 Stateful한 통신을 위해 등장하였다.쉽게 말해 쿠키는 웹 사이트 재방문 시 효율적으로 서비스를 제공하기 위해 등장하였다.쿠키 : 웹 브라우저와 웹 서버의 상태성을 표시할 수 있는 브라우저에 저장되는 로 이루어진 작은 데이터 파일 그렇다면 Stateless와 Stateful의 차이와 정의를 웹 통신을 예시로 간단하게 알아보자.Stateless : 무상태성웹 서버가 .. 2024. 1. 15.
[Web] HTTP Stateless 해결을 위한 웹 저장소 및 웹 보안 0. HTTP는 Stateless하다.Stateless : 불연속성 - 웹 서버 입장에서는 매 요청이 어떤 웹 브라우저가 보낸 것인지 알 수 없다.Stateful : 연속성 - 웹 서버가 이전에 요청받았던 웹 브라우저와 현재 요청의 웹 브라우저를 구별할 수 있다.어떤 유저(어떤 웹브라우저)의 요청인지 알 수 있다면, 요청마다 별개의 작업 수행 혹은 결과 반환이 가능하다.  1. Stateful HTTP : Cookie & Session웹 서버는 웹 브라우저의 요청이 어떤 유저에 의해 요청된 것인지 알기 위해 응답 반환시 특정 정보를 함께 반환한다.웹 브라우저는 응답을 받아, 응답 헤더에 붙어있던 특정 정보를 웹 브라우저 쿠키에 저장한다.웹 브라우저는 이후 요청부터 웹 서버에게 특정 정보를 함께 전달하면 .. 2024. 1. 11.
[Web] Forward Proxy / Reverse Proxy 1. 프록시(Proxy) 란?기본적으로 프록시 서버는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템이나 응용프로그램을 가리킨다.즉, 프록시(Proxy)는 클라이언트와 서버 사이에 위치하여 중계기 역할을 하며 통신을 '대리'로 수행하는 것이다.그렇다면 이러한 대리 역할을 하는 프록시를 사용하는 이유는 무엇일까?그 이유는 보안상의 이유로 직접 통신할 수 없는 두 점 사이에서 대리로 통신을 수행하여 보안성, 성능, 안정성을 향상시키기 위해 사용한다. 보통 클라이언트(웹 브라우저)와 서버(웹 서버)와 통신을 주고 받을 때 데이터 형태로 주고 받는다.이때, 통신을 반복적으로 진행할 때, 중복되는 데이터를 반복하여 전달한다면 효율적이지 못하고 리소스, 네트워크 트.. 2024. 1. 10.
[WEB] HTTP / HTTPS 1. HTTP / HTTPSHTTP는 HyperText Transfer Protocol의 약자로 WWW상에서 정보를 주고 받는 프로토콜이다.쉽게 말해 HTTP는 웹 브라우저와 웹 서버가 웹 페이지와 같은 데이터나 자원을 주고 받을 때 사용하는 통신 규약이다.HTTP는 하이퍼텍스트, 즉 텍스트의 교환이기 때문에 악의적인 누군가(해커)가 네트워크에서 신호를 가로채어 본다면 내용이 노출되는 문제가 있다. HTTPS는 이러한 HTTP의 보안의 문제를 해결하기 위해 HTTP에 SSL을 추가한 것으로 서버와 브라우저 사이에 안전하게 암호화된 연결을 만들 수 있게 해주고, 서버와 브라우저가 민감한 정보를 주고 받을 때 해당 정보가 도난당하는 것을 막아주는 역할을 한다.즉, HTTPS는 인터넷 상에서 정보를 암호화하는.. 2024. 1. 8.
[Web] 웹 브라우저 성능 개선 및 웹 서버 부하 완화 0. 웹 서버 부하 완화 및 웹 페이지 조회 성능 개선웹의 본질은 웹 서버가 클라이언트(웹 서버 혹은 웹 브라우저)의 요청에 따라 그에 맞는 웹페이지를 반환한다.웹 페이지 뿐 아니라 영상, 음성, 이미지 등 모두 반환 = 통칭 HTTP Resource웹의 본질에 따라웹 브라우저는 매번 웹 서버에게 요청해서 결과를 받아와야 하고웹 서버는 매번 웹 브라우저의 요청에 대해 결과를 만들어 반환해야한다.그래서 웹 브라우저와 웹 서버는 너무 힘들다.웹 브라우저 : 결과가 똑같다면 웹 브라우저는 매번 웹 서버에서 결과를 받아올 필요가 없다.이전에 받았던 결과를 저장 후, 매번 같은 요청이 오면 저장한 결과를 재사용하면 되지 않을까?웹서버 : 결과가 똑같다면, 웹 서버는 매번 웹 브라우저에게 만들어 줄 필요가 없다.이.. 2024. 1. 7.
[WEB] Cache / HTTP Cache 1. 메모리 계층 구조캐시에 대해서 이야기 하기 전 데이터를 저장하는 공간의 속도와 용량의 관계에 대해서 먼저 이야기 해보자.위의 그림으로 보면 아래쪽으로 갈수록 데이터를 저장할 수 있는 용량의 크기가 커지고 속도는 느려진다.반대로 위쪽으로 갈수록 데이터를 저장하는 용량은 작아지지만 속도가 빨라진다.이처럼 기본적이로 데이터를 저장하는 공간에서 속도와 저장용량은 반비례라고 생각할 수 있다. 사실 아래에서도 많은 이야기를 하겠지만 기본적으로 컴퓨터 공학의 발전은 효율을 굉장히 따지면서 큰 발전을 이루었던 것 같다. 속도도 빠르고 저장 용량도 크면 매우 좋겠지만 비용이 많이 들고 그러한 비용을 다른 곳에 쓰는 것이 더 큰 효율을 낼 수 있었다.2. 파레토의 법칙갑자기 파레토의 법칙을 이야기 하는 것이 이상하겠.. 2024. 1. 6.
[Web] 웹 구성 간 흐름 0. 웹 전체 개요 학습의 중요성웹의 본질은 클라이언트가(웹 브라우저)가 요청을 주고 웹 서버가 그에 맞는 결과는 받는 그 사이의 모든 것이다.1. 웹의 등장세계의 여러 대학과 연구기관에서 일하는 물리학자들 상호간 신속한 정보교환과 공동 연구를 위해 개발여러 컴퓨터에 저장된 논문, 실험결과 등의 문서들을 공유하기 위한 기술 논문, 실험 결과 등의 문서 = 웹 페이지웹 페이지는 특수한 언어(HTML)로 제작되어 있어서 인간이 바로 읽을 수 없음웹 페이지 리더기 = 웹 브라우저여러 컴퓨터 = 웹 서버 : 각 컴퓨터는 웹 페이지를 제공한다(serve)는 측면에서 웹 페이지 제공자 = 웹서버라고 할 수 있음 1-1. 웹 페이지HTML : 문서CSS : 서식 - Cascading의 의미는 무엇일까?Selector.. 2024. 1. 5.