본문 바로가기
728x90
반응형

공부합시당 💙156

기술 면접 준비 - Cookie 와 Session HTTP는 기본적으로 연결을 유지하지 않고(Connectionless - 클라이언트가 요청을 한 후 응답을 받으면 그 연결을 끊어버림), 서버가 클라이언트의 상태를 보존하지 않기(Stateless - 클라이언트와 서버의 통신이 끝나면 상태 정보를 유지하지 않음) 때문에 서버는 클라이언트가 누구인지를 매번 확인해야한다. 이런 HTTP의 특성을 보완하기 위해 쿠키와 세션을 사용한다. Cookie 쿠키는 클라이언트(브라우저) 로컬에 저장되는 키와 값이 들어있는 데이터 파일이다. 사용자 인증이 유효한 시간을 명시할 수 있고, 유효 시간 동안은 브라우저가 종료되어도 인증이 유지된다. 쿠키는 클라이언트의 상태 정보를 로컬에 저장했다가 참조한다. 클라이언트에 300개까지 저장 가능하고, 하나의 도메인 당 20개의 값.. 2023. 2. 25.
기술 면접 준비 - HTML 파싱과 DOM 생성 브라우저의 요청에 의해 서버가 응답한 HTML 문서는 문자열로 이루어진 순수한 텍스트이다. 순수한 텍스트인 HTML 문서를 브라우저에 시각적인 픽셀로 렌더링 하려면 HTML 문서를 브라우저가 이해할 수 있는 자료구조(객체)로 변환하여 메모리에 저장해야 한다. 브라우저의 렌더링 엔진은 다음과 같은 과정을 통해 응답받은 HTML 문서를 파싱하여 브라우저가 이해할 수 있는 자료구조인 DOM(Document Object Model)을 생성한다. 1. 브라우저가 요청한 HTML 파일을 읽어 메모리에 저장한 다음 메모리에 저장된 바이트를 인터넷을 경유하여 응답한다. 2. 브라우저는 서버가 응답한 HTML 문서를 바이트 형태로 받는다. 바이트 형태의 문서는 meta 태그의 charset 어트리뷰트에 의해 지정된 인코.. 2023. 2. 24.
기술 면접 준비 - HTTP 1.1 과 HTTP 2.0 HTTP는 웹에서 브라우저와 서버가 통신하기 위한 프로토콜이다. HTTP/1.1은 기본적으로 커넥션당 하나의 요청과 응답만 처리한다. 여러 개의 요청을 한 번에 전송할 수 없고 응답도 마찬가지다. 따라서 HTML 문서에 포함된 여러 개의 리소스 요청 - CSS 파일을 로드하는 link 태그, 이미지 파일을 로드하는 img 태그, 자바스크립트를 로드하는 script 태그 등에 의한 리소스 요청과 응답이 개발적으로 전송된다. 이렇게 리소스를 동시에 전송하는 것이 불가능한 구조로 리소스의 개수에 비례하여 응답 시간이 증가한다는 단점이 있다. HTTP/2.2는 다중 요청/응답이 가능하다. 여러 리소스를 동시에 전송 할 수 있어 HTTP/1.1에 비해 페이지 로드 속도가 약 50% 정도 빠르다. 2023. 2. 24.
기술 면접 준비 - SOP(Same-Origin Policy) 그리고 CORS (Cross-Origin Resource Sharing) SOP Same-Origin Policy의 약자이다. RFC6454에서 처음 등장한 보안 정책으로 "같은 출처에서만 공유할 수 있다."는 규칙을 가진 정책이다. CORS Cross-Origin Resource Sharing의 약자이다. 오픈된 공간인 웹에서 사실상 같은 출처에서만 리소스를 공유(SOP)하는 것은 불가능하기 때문에 몇 가지 조항을 두고 이 조항에 해당하는 리소스 요청은 출처가 다르더라도 허용하는 정책을 만들었는데 그것이 바로 CORS 정책이다. CORS 정책을 위반한 경우 CORS 에러가 발생하는 것이다. [출처(Origin)는 무엇인가?] -> URL 구성 요소 중 Protocol, Host, Port 세 가지를 합친 것이 출처다. 따라서 같은 출처라는 것은 프로토콜, 호스트, 포트 세 .. 2023. 2. 23.
기술면접 준비 - SSR 그리고 CSR SSR Server Side Rendering의 약자로 웹 페이지를 서버에서 렌더링 하는 것이다. 서버의 URI로 GET 요청을 보내면 서버는 정해진 웹페이지 파일을 브라우저로 렌더링 한다. 서버 사이드 렌더링을 사용하기 좋은 상황 검색 최적화(Search Engine Optimization)가 우선순위인 경우 웹 페이지의 첫 화면 렌더링이 빠르게 필요한 경우 (SSR이 단일 파일 용량이 작음) 웹 페이지가 사용자와 상호작용이 적은 경우 CSR Client Side Rendering의 약자로 웹 페이지를 브라우저에서 렌더링 하는 것이다. 브라우저의 요청을 서버로 보내면 서버는 웹 페이지를 렌더링하는 대신 웹 페이지의 단일 페이지와 Javascript 파일을 함께 보낸다. 브라우저는 데이터베이스에 저장된 .. 2023. 2. 23.
728x90
반응형