날아라김지원
article thumbnail
로그인, 쿠키와 세션, JWT 토큰
웹개발지식 2022. 6. 27. 20:16

- HTTP stateless하다. 연결이 끊기면 사용자와 서버의 통신이 끝나고 상태 정보는 유지하지 않는다. - 로그인을 유지하는방법 1. 쿠키와 세션 방식 세션 : 서버와 클라이언트의 연결이 활성화된 상태 세션ID: 웹 서버메모리에 저장되는 클라이언트에 대한 유니크한 ID (서버 또는 데이터 베이스에 저장) 쿠키 : 키-값(밸류)로 구성된 작은 데이터 조각, 쿠키에 담긴 데이터는 브라우저에서 관리됨( 만료날짜를 보통 서버에서 설정한다), 이름, 값 만료 날짜 등으로 구성된다. 1. 처음 로그인 -> 쿠키, 세션 ID생성 -> 그 이후 다시 요청했을 때 HTTP헤더에 쿠키를 포함시켜 요청 2. 해당 쿠키에 맞는 세션 ID로 이전에 로그인했던 아이디인지 확인 3.로그인을 유지 쿠키는 클라이언트에서 자바스..

article thumbnail
브라우저에 naver.com, google.com을 입력후 일어나는일
웹개발지식 2022. 6. 23. 13:52

대기열, 캐싱, DNS, 라우팅, ARP, 초기연결을 거쳐 컨텐츠를 다운받게 되고 이 후 브라우저 렌더링 과정을 거쳐 네이버(구글)라는 화면이 나타나게 된다. 또한 이러한 과정이 캡슐화, 비캡슐화 과정을 거쳐서 이뤄지게 된다. - 대기열 브라우저는 주소창입력에 대한 요청을 대기열에 넣는다 - 캐싱 캐싱은 요청된 값의 결과값을 저장하고 그 값을 다시 요청하면 다시 제공하는 기술 이는 공유프록시캐시와 브라우저 캐시로 나눠진다. - 브라우저 캐시 브라우저캐시는 쿠키, 로컬스토리지 등을 포함한 캐시이다. 브라우저 자체가 사용자가 HTTP를 통해 다운로드하는 모든 문서를 보유하는것을 말한다. 어떤 사이트를 갔다가 다시 방문하면 빠르게 컨텐츠가 나타나는것이 브라우저 캐시의 역할이다. 인터넷 사용기록을 삭제하고 싶어..

article thumbnail
IP와 라우팅, IP와 ARP, RARP (캡슐화 과정과 비캡슐화)
웹개발지식 2022. 6. 23. 13:36

IP주소를 통해 통신하는 과정을 홉바이홉(hop by hop) 통신이라고 한다. 통신망에서 각 패킷이 여러개의 라우터를 건너가는 모습을 비유적으로 표현한 것이다. 각가의 라우터에 있는 라우팅 테이블의 IP를 기반으로 패킷을 전달하고 다시 전달해나가서 최종목적지에 다다르는것이다. 라우팅 IP 주소를 찾아가는 과정 라우팅 테이블 송신지에서 수신지까지 도달하기 위해 사용되며 라우터에 들어가 있는 목적지 정보들과 그 목적지로 가기 위한 방법이 들어 있는 리스트를 말한다. 라우팅 테이블에는 게이트웨이와 모든 목적지에 대해 해당 목적지에 도달하기 위해 거쳐야 할 다음 라우터의 정보를 가지고 있다. 게이트웨이 서로다른 통신망 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 관문 역할을 하는 컴퓨터나 소프트웨어..

article thumbnail
TCP 3웨이 핸드쉐이크, 4웨이 핸드쉐이크
웹개발지식 2022. 6. 23. 13:24

TCP는 신뢰성을 확보할 때 3웨이 핸드쉐이크라는 작업을 진행한다. (연결성립과정) 3웨이 핸드쉐이크 1.SYN 단계 클라이언트는 서버에 클라이언트의 ISN을 담아 SYN을 보낸다. ISN은 새로운 TCP연결의 첫 번째 패킷에 할당된 임의의 시퀀스 번호를 말하며 이는 장치마다 다를 수 있따. 2.SYN+ACK단계 서버는 클라이언트의 SYN을 수신하고 서버의 ISN을 보내며 승인번호르 클라이언트의 ISN +1을 보낸다 3.ACK 단계 클라이언트는 서버의 ISN+1한 값인 승인번호를 담아 ACK를 서버에 보낸다. 이렇게 3웨이 핸드셰이크 과정 이후 신뢰성이 구축되고 데이터 전송을 시작한다. 참고로 TCP는 이 과정이 있기 때문에 신뢰성이 있는 계층이라고 한다. (UDP) 4웨이 핸드쉐이크 TCP가 연결을 해..

article thumbnail
TCP와 UDP의 차이
웹개발지식 2022. 6. 23. 12:10

TCP 패킷 사이의 순서를 보장하고 연결지향 프로토콜(3웨이 핸드쉐이크)을 사용해서 연결을 하여 신뢰성을 구축해서 수신여부를 확인하며 '가상회선 패킷 교환방식'을 사용한다. 가상회선 패킷 교환방식 각 패킷에는 가상회선 식별자가 포함되며 모든 패킷을 전송하면 가상회선이 해제되고 패킷들은 전송된 순서대로 도착하는 방식이다. UDP 순서를 보장하지않고, 수신 여부를 확인하지 않으며 단순히 데이터만 주는 '데이터그램 패킷 교환방식'을 사용한다. 데이터그램 패킷 교환 방식 패킷이 독립적으로 이동하며 최적의 경로를 선택하여 가는데, 하나의 메시지에서 분할된 여러 패킷은 서로 다른 경로로 전송될 수 있으며 도착한 순서가 다를 수 있는 방식이다.

article thumbnail
TCP/IP 4계층 모델과 OSI 7계층
웹개발지식 2022. 6. 23. 11:56

컴퓨터들이 서로 정보를 주고받는데 쓰이는 프로토콜의 집합 TCP/IP 4계층모델 혹은 OSI 7계층 모델로 설명한다. TCP/IP계층 네개의 계층을 가지고 있고 애플리케이션계층, 전송계층, 인터넷계층, 링크계층으로 표현한다. OSI 7계층 7계층으로 표현하고 : 애플리케이션,프레젠테이션, 세션, 전송, 네트워크계층, 데이터링크 계층,물리계층으로 구분한다. 이 계층들은 특정 계층이 변경될때, 다른 계층이 영향을 받지 않도록 설계 되어있다. 전송계층에서 TCP를 UDP로 변경했다고 인터넷 웹 브라우저를 다시 설치해야 하는것이 아니듯 유연하게 설계된 것이다. 애플리케이션 계층 FTP, HTTP, SSH, SMTP, DNS등 응용 프로그램이 사용되는 프로토콜 계층이다. 웹 서비스, 이메일 등 서비스를 실질적으로..

article thumbnail
MVC MVP MVVM 패턴
웹개발지식 2022. 6. 20. 19:22

- MVC MVP MVVM 패턴 1. MVC패턴 Model, View, Controller로 이루어진 디자인 패턴 애플리케이션의 구성 요소를 세 가지 역할로 구분하여 개발 프로세스에서 각각의 구성 요소에만 집중해서 개발할 수 있다. 재사용성과 확작성이 용이하다. 단 애플리케이션이 복잡해 질수록 모델과 뷰의 관계가 복잡해진다. 모델박스 안에 글자가 들어 있다면, 그 사각형모양의 박스 위치 정보, 글자 내용, 글자 위치, 글자컨트롤러를 통해 모델을 생성하거나 갱신한다. 포맷(utf-8등)에 관한 정보를 모두 가지고 있어야 한다. 뷰에서 데이터를 생성하거나 수정하면 모델은 애플리케이션의 데이터인 데이터베이스, 상수, 변수등을 뜻한다. 사각형 모양의 뷰즉, 모델을 기반으로 사용자가 볼 수 있는 화면을 뜻한다. ..

디자인패턴(라이브러리, 프레임워크, 싱글톤패턴)
웹개발지식 2022. 6. 15. 20:13

디자인 패턴 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은것을 의미한다. ex)모듈화를 진행 라이브러리와 프레임 워크의 차이 라이브러리 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것을 의미, 폴더명, 파일명에 대한 규칙이 없다. 프레임워크에 비해 자유롭다. 내가 직접 컨트롤하는 도구와 비슷하다. 프레임워크 공통으로 사용될 수 있는 특정한 기능들을 모듈화한것을 의미, 폴더명, 파일명에 대한 규칙이 있다. 라이브러리에 비해 엄격하다. 싱글톤 패턴(singleton pattern) 하나의 클래스에 오직 하나의 인스턴스만 가진다. 데이터베이스 연결 모듈에 많이 사용한다. 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른..