TIL (6) 썸네일형 리스트형 [TIL] 세션, 쿠키, 웹스토리지 HTTP는 무상태(stateless)한 특성을 가진다. 즉 서버가 클라이언트의 정보를 계속 유지하지 않는다. 이러한 한계를 보완하기 위해 사용하는 것이 세션과 쿠키이다. 1. 세션 (Session) : 쿠키 기반이지만 사용자 정보를 서버 측에서 관리하는 것 : 클라이언트 구분을 위해 세션 ID를 부여하며 브라우저 종료 시까지 인증상태를 유지한다. : 접속 시간에 제한을 주어 일정 시간 동안 응답이 없으면 정보가 유지되지 않도록 설정 가능하다. : 데이터를 서버에 두어 보안에 좋지만, 사용자가 많아질수록 서버 메모리를 많이 차지하게 된다. : 세션은 사용자의 수만큼 서버 메모리를 차지하기 때문에 최근에는 이런 문제들을 보완한 토큰 기반의 인증방식을 사용하는 추세이며 그중 JWT라는 것이 있다. JWT : .. [TIL] 브라우저의 동작 방식 및 렌더링 원리 브라우저 : 웹페이지, 이미지. 비디오 등의 콘텐츠를 수신, 전송 및 표현하는 소프트웨어 : 주로 사용하는 브라우저에는 크롬, 사파리, 엣지, 파이어폭스 등이 있다. : 브라우저는 웹 표준화 기구인 W3C에서 정한 Html, Css 명세에 따라 Html 파일을 해석해서 표시한다. 1. 웹 브라우저와 웹 서버의 통신 과정 브라우저의 주요 기능은 사용자가 선택한 자원을 서버에 요청하고 서버로부터 받은 응답(Html, Css, Javascript, 이미지 등)을 브라우저에 표현하는 것이다. 웹 브라우저에서 URL을 입력하면 웹 서버가 웹 브라우저에 웹 페이지를 제공해 준다. 이때 웹 브라우저와 웹 서버는 서로 다른 곳에 위치해 있기 때문에 웹 서버가 실행 중인 컴퓨터의 주소인 IP주소를 통해 웹 브라우저가 웹.. [TIL] 프로세스와 스레드 프로세스와 스레드의 정의에 대해서 정리하기 전에 프로그램에 대해 알아야 한다. 프로그램이란 아직 실행되지 않은 파일 그 자체로 파일이 저장장치에 있지만 메모리에 올라가 있지 않은 정적인 상태의 것을 말한다. 예를 들어. exe파일을 실행시키기 전의 파일 그 자체를 말한다. 이러한 정적인 상태의 프로그램을 실행시키면 동적인 상태가 되는데 이러한 실행되고 있는 프로그램을 프로세스라고 한다. 1. 프로세스 : 운영체제로부터 자원을 할당받은 작업의 단위 : 프로세스당 최소 하나의 스레드를 보유 : 각각 별도의 주소공간을 독립적으로 할당받는다.(code, heap, stack) : 각 프로세스는 별도의 주소 공간에서 실행되며 한 프로세스가 다른 프로세스에 접근할 수 없다. 과거에는 프로그램 실행 시 프로세스 하나.. [TIL] Rest, Rest API, Restful 1. Rest (Representational State Transfer) : 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것 : HTTP URI로 자원을 명시하고 HTTP Method로 해당 자원에 대한 CRUD를 적용하는 것 1-1. REST 특징 서버-클라이언트 구조 : 자원이 있는 쪽이 서버, 자원을 요청하는 쪽이 클라이언트 무상태성 (Stateless) : 작업을 위한 상태정보를 따로 저장하거나 관리하지 않기 때문에 이전의 요청이 다음의 요청에 연관되지 않는다. 이를 통해 서버의 처리 방식에 일관성을 부여하고 부담이 줄어들게 된다. 캐시 처리 가능 (Cacheable) : HTTP의 캐싱 기능을 적용할 수 있어 응답 시간이 빨라지고 성능, 서버의 자원 이용률을 향상할 수 있다. 계.. [TIL] CSR과 SSR 1. CSR (Client Side Rendering) : 렌더링이 클라이언트 쪽에서 일어난다. : 서버는 요청을 받으면 클라이언트에 html과 JavScript를 보내주고 클라이언트는 그것을 받아 렌더링을 시작하는 방식 1-1. CSR 단계 - User가 WebSite에 요청을 보낸다. - CDN이 html파일과 JS로 접근할 수 있는 링크를 클라이언트로 보낸다. - 클라이언트는 html과 JS를 다운로드한다. 그동안 SSR과 달리 유저는 아무것도 볼 수 없다. - 다운이 완료된 JS가 실행되고 데이터를 위한 API가 호출된다. 이때 유저는 placeholder를 보게 된다. - 서버가 API로부터 요청에 응답한다. - API로부터 받아온 data를 placeholder 자리에 넣어주며 페이지는 상호작.. 마크다운(Markdown) 사용법 Github 정리를 해보기로 마음먹으면서 제일 먼저 마주하게 된 것이 README.md이고 이 README.md가 바로 가장 흔히 접할 수 있는 마크다운으로 작성된 파일이다. 앞으로의 마크다운 사용을 위해 마크다운에 대해 정리해보려고 한다. 1. 마크다운 (Markdown) : 일반 텍스트 기반의 경량 마크업 언어 (마크업 언어 : 태그 등을 이용해 문서나 데이터의 구조를 명기하는 언어의 한 가지로 HTML, XML이 그중 하나이다.) : 일반 텍스트로 서식이 있는 문서를 작성하는 데 사용되며, 일반 마크업 언어에 비해 문법이 쉽고 간단한 것이 특징이다. : 응용 소프트웨어와 함께 배포되는 README 파일이나 온라인 게시물 등에 많이 사용된다. 1-1. 마크다운의 장점 - 문법이 쉽고 간결하다 - 관리.. 이전 1 다음