본문 바로가기

CS39

21. 로그인 [세션 기반 인증 방식, 토큰 기반 인증 방식] 21. 로그인 [세션 기반 인증 방식, 토큰 기반 인증 방식] 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 세션 기반 인증 방식 HTTP의 특징 중 하나는 stateless 한 것이다 위의 그림처럼 한번 요청하고 응답한 사항은, 추후에 다시 요청을 받을 때, 서버에서 기억을 못 한다 즉, 원래는 한번 로그인 했다고 로그인 상태를 유지 시켜주지 않는다 그래서 유저들의 UX을 위해서 사용자들의 정보를 기억하기 위해서 세션을 유지해야 한다 세션 (Session) : 사용자가 인증을 할 때, 서버가 정보를 저장하는 것을 세션이라고 한다. 클라이언트가 로그인을 요청하면, 서버에서 쿠키에 세션을 생성하고 클라이언트에 응답을 해준다 set-cookie : SESSIONID = XXXXXXXXXXXXXXXXX.. 2023. 3. 7.
20. 웹브라우저의 캐시 [HTTP 해더, 쿠키] 20. 웹브라우저의 캐시 [HTTP 해더, 쿠키] 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) HTTP 해더 HTTP 전송에 필요한 모든 부가 정보를 담고 있다 크게 General, Response Headers, Request Headers로 나뉜다 https://en.wikipedia.org/wiki/List_of_HTTP_header_fields List of HTTP header fields - Wikipedia From Wikipedia, the free encyclopedia HTTP header fields are a list of strings sent and received by both the client program and server on every HTTP request.. 2023. 3. 3.
19. 웹브라우저의 캐시 [로컬 스토리지, 세션 스토리지] 19. 웹브라우저의 캐시 [로컬스토리지, 세션 스토리지] 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 웹 브라우저의 로컬 스토리지 하나의 웹 브라우저에 저장되는 key : value 즉 Chrome에서 하나의 데이터를 저장한다고 해도, Edge브라우저에 저장이 안 된다 Chrome 이라는 하나의 웹브라우저의 로컬 스토리지에 데이터를 저장하는 것이다 같은 컴퓨터지만 다른 브라우저 key에는 하나의 value만 넣을 수 있다 value는 리스트로 만들어질 수 있다 최대 5MB까지 저장을 할 수 있고, 사용자가 직접 데이터를 삭제하지 않는 한, 평생 로컬 스토리지에 저장되어 있다 자동 로그인, 검색할 때에 나오는 전에 검색한 기록 등 사용자 행위를 기억할 때에 사용된다 // 추가 localStorag.. 2023. 3. 3.
18. HTTP, HTTPS & TLS 18. HTTP, HTTPS & TLS 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) URL을 입력하고, 화면을 볼 때까지의 과정 대기열 URL을 통해 요청을 하면, 브라우저는 URL을 대기열에다 넣는다 캐싱 캐싱을 통해 원래 서버에 직접 접근을 하지 않고, 캐시 안에 대기열에 요청한 값을 저장을 한다 추후에 같은 값을 요청하면, 이미 저장이 되어 있어, 더 빠르게 반응을 한다 또한 직접 서버에 접근을 하는 것이 아니라서, 보안성도 보장이 될 수 있다 (프록시 캐시) DNS 서버 주소 즉 수신 주소를 찾는 것이다 유저가 브라우저 창에 요청한 주소는 컴퓨터가 읽을 수 없다 즉 DNS를 통해 브라우저 창에 요청한 주소의 IP주소로 변환해준다 ARP를 통해서 IP주소의 MAC주소를 찾아준다 TCP, 3.. 2023. 3. 2.
17. 라우팅 17. 라우팅 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 라우팅이란? 라우팅은 네트워크에서 경로를 선택하는 프로세스다 더 나아가 라우팅은, 데이터를 보낼 때에 최적의 경로를 선택하여 데이터가 목적지에 도착할 수 있도록 설정을 해준다 예) 네비게이션 네트워크와 네트워크 사이에는 수 많은 노드들이 존재를 한다 그 수 많은 노드들을 거쳐가는데, 최적의 경로를 찾아야 데이터를 더 빠르게 송수신할 수 있다 이것을 라우팅이라 하고, 라우터는 최적의 경로를 설정해주는 기기이다 라우팅 테이블 라우터는 라우팅 테이블을 기반으로 최적의 경로를 선택한다 라우팅 테이블은 네트워크 연결이 포함 되어 있는 리스트다 라우팅 테이블은 IP주소를 기반으로 사용된다 라우팅 테이블은 컴퓨터 네트워크에서 목적지 주소를 목적지에 .. 2023. 3. 1.
16. IP주소 체계 [클래스풀, 클래스리스] 16. IP주소 체계 [클래스풀, 클래스리스] 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 클래스풀 IP 주소 모든 단체들이 똑같은 네트워크 주소를 가지게 된다면, 보안상 문제가 일어날 수 있다 그래서 네트워크 ID를 가지되, Host ID를 따로 배포해주는 것이다 Host ID는 기기들에게 주어지는 IP 주소의 ID이다 Class A부터 Class C까지가 제일 중요하다 Class D는 멀티캐스트용 그리고 E는 주소가 부족할 때에 사용하는 클래스다 Class A 첫 번째 옥텟을 네트워크 ID고, 나머지 3개의 옥텟을 Host ID로 주어진다 즉 하나의 네트워크 당, 2 ^ 24 - 2 개의 호스트에게 IP주소를 나눠줄 수 있다 1 ~ 126 인 범위만 Network ID로 사용할 수 있다 12.. 2023. 3. 1.
15. IP주소 체계 15. IP주소 체계 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) IPv4와 IPv6 IP주소의 버전들이다 IPv4가 먼저 시작을 했고, 아직도 많이 사용하고 있다 IPv4 32비트로, 8비트씩 나누어 구분한다 여기서 8비트의 묶음을 옥텟 (Octet)이라고 한다 즉, 4개의 옥텟으로 만들어져 있다 IPv4를 가지고 2^32 (41억 9천만) 주소를 표현할 수 있다 위의 123.89.46.72 는 사람들이 보기 편하게, 쓰이는 것이다 원래는 이진수로 표현한다 41억 9천만 주소를 표현할 수 있지만, 인구 수 그리고 인당 사용 네트워크 기기를 따진다면, 부족한 수다 그래서 NAT, Subnet 같은 추가적인 기술이 필요하다 IPv6 128 비트로, 16비트씩 8개의 묶음으로 구성되어 있다 128 .. 2023. 2. 28.
14. TCP/IP 인터넷 계층 [IP, ICMP, ARP, MAC] 14. TCP/IP 인터넷 계층 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 인터넷 계층 IP, ICMP, ARP가 대표적 한 노드에서 다른 노드로 전송 계층에서 받은 세그먼트 또는 데이터그램을 패킷화 하여 전송하는 것 ICMP (Internet Control Message Protocol) 노드와 노드 사이에서 통신이 잘 되는지 확인하기 위해 사용되는 프로토콜 데이터를 주고 받는 것이 아니 에코를 주고 받으면서, 통신이 잘 된다는 것을 확인할 수 있다 IP 주소 인터넷 상에 있는 컴퓨터의 논리적인 주소 (변할 수 있는 주소) 집에서 인터넷에 연결해서 부여 받는 IP주소와, 카페의 인터넷에 연결해서 부여 받는 IP주소는 다르다 IP 주소를 통해 데이터를 주고 받을 수 있다 (택배를 받기 위해 집.. 2023. 2. 28.
13. TCP/IP [전송 계층 in detail] 13. TCP/IP [전송 계층 in detail] 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 전송 계층 (Transport) 응용 계층에서 받은 메세지를 세그먼트 또는 데이터그램을 통해서 데이터를 송신하는 것이다 세그먼트 : TCP 데이터그램 : UDP 데이터가 송신 될 때에는, 목적지에 도착한다는 보장이 없다 (중간에 오류가 발생할 수도 있다) 전송 계층에는 TCP와 UDP가 있다 TCP (Transmission Control Protocol) 가상회선 패킷 교환 방식 말 그대로 가상으로 회선을 만든 후, 그 경로대로 패킷을 순서대로 보낸다 TCP는 체크섬을 통해 오류를 검사하고, 데이터가 처음부터 끝까지 제대로 송신이 되었는지 확인을 한다 TCP를 통해 데이터를 전송 중, 측정 시간 동안.. 2023. 2. 24.