CS26 [Networks] HTTP, HTTPS HTTPHTTPhttps://5kiran.tistory.com/173 [Networks] HTTP 프로토콜HTTP(Hypertext Transfer Protocol)은 무엇인가?HTTP는 웹에서 데이터를 주고받는 서버 - 클라이언트 모델의 프로토콜이다.웹 브라우저가 서버와 통신하는 규칙 애플리케이션 레벨의 프로토콜로 TCP/IP위에5kiran.tistory.com HTTP는 암호화가 되지 않은 평문 데이터를 전송하는 프로토콜로 비밀번호, 주민등록번호 등 민감 정보를 제 3자가 조회할 수 있다.이러한 문제를 해결하기 위해 등장한 것이 HTTPS이다. HTTPSHTTPS는 HTTP에 데이터 암호화가 추가된 프로토콜로 HTTPS는 HTTP의 80포트가 아닌 443포트를 사용하며, 네트워크 상에서 중간에 3자가.. CS 2025. 2. 4. [Networks] TCP/IP TCP/IPIP(인터넷 프로토콜)지정한 IP 주소에 데이터 조각들을 패킷이라는 통신 단위로 최대한 빠르게 목적지로 보내는 역할데이터의 순서, 데이터 누락 여부와 상관없이 보내는 데 집중 TCP(전송 제어 프로토콜)패킷 데이터의 전달 및 순서를 보증데이터 조각을 점검하여 망가졌거나 빠진 조각을 다시 요청TCP는 데이터를 확실하게 보내기 위해서 3Way HandShake 방법을 사용 TCP 3Way HandShake클라이언트와 연결되기 전에 가상 연결을 통해 확인하는 동작 SYN : 연결을 생성할 때 클라이언트가 서버에 보내는 시퀀스 번호SYN-ACK : 시퀀스 번호를 받은 서버가 ACK 값을 생성하여 클라이언트에 응답ACK : ACK 값을 사용하여 응답클라이언트 - 서버 : SYN 전송서버 - 클라이언트.. CS 2025. 2. 4. [Networks] HTTP 프로토콜 HTTP(Hypertext Transfer Protocol)은 무엇인가?HTTP는 웹에서 데이터를 주고받는 서버 - 클라이언트 모델의 프로토콜이다.웹 브라우저가 서버와 통신하는 규칙 애플리케이션 레벨의 프로토콜로 TCP/IP위에서 작동한다. HTTP 프로토콜 특징1. 서버 - 클라이언트 모델HTTP는 서버 - 클라이언트 모델을 따른다.클라이언트에서 요청(request)을 보내면 서버는 요청(response)을 처리해서 응답한다. 2. 무상태(Stateless)HTTP는 Connectionless 방식으로 작동한다.서버에 연결하고 요청해서 응답을 받으면 연결이 끊기며,기본적으로 자원 하나에 대해서 하나의 연결을 만든다. 불특정 다수를 대상으로 하는 서비스에 적합하며, 연결이 유지되지 않기 때문에 더 많은.. CS 2025. 2. 3. 배치 처리 배치처리 배치처리 방식은 일정 기간(일, 월 단위) 또는 한정된 데이터를 모아두었다가 한 시점에 순서적으로 처리하는 방식이다. 배치처리 방식은 일정 기간을 두고 데이터를 일괄 처리 하기 때문에 실시간으로 데이터를 조회하기 힘들다는 단점이 존재한다. 해당 문제를 해결하기 위해 실시간 분산 쿼리 및 스트리밍 기법이 연구되고 있습니다. CS 2023. 5. 13. [CS] TCP/IP 4계층 모델 TCP/IP 4계층 모델 네트워크에서 사용되는 통신 프로토콜의 집합으로 계층들은 프로토콜의 네트워킹 범위에 따라 네개의 추상화 계층으로 구성되어 있습니다. 계층 구조 TCP/IP 계층은 네 개의 계층을 가지고 있으며 OSI 7계층과 많이 비교합니다. TCP/IP 4계층 OSI 7계층 애플리케이션 계층 애플리케이션 계층 프레젠테이션 계층 세션 계층 전송 계층 전송 계층 인터넷 계층 네트워크 계층 링크 계층 데이터 링크 계층 물리 계층 TCP/IP 계층과 달리 OSI 계층은 애플리케이션 계층을 세 개로 쪼개고 링크 계층을 데이터 링크 계층, 물리 계층으로 나눠서 표현하는 것이 다르며 인터넷 계층을 네트워크 계층으로 부릅니다. 애플리케이션 계층 FTP, HTTP, SSH, SMTP, DNS 등 응용 프로그램이.. CS 2023. 5. 2. [CS] 운영체제 운영체제의 역할 운영체제의 역할은 4가지로 나누어집니다. CPU 스케줄링과 프로세스 관리 CPU 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원 할당을 관리합니다. 메모리 관리 한정된 메모리를 어떤 프로세스에 얼마나 할당해야 하는지 관리합니다. 디스크 파일 관리 디스크 파일을 어떤 방법으로 보관할지 관리합니다. I/O 디바이스 관리 마우스, 키보드 등 컴퓨터 간에 데이터를 주고받는 것을 관리합니다. 운영체제의 구조 유저 프로그램 GUI, CUI 시스템콜 커널 드라이버 하드웨어 GUI, 시스템콜, 커널, 드라이버 부분을 운영체제로 지칭합니다. GUI 사용자가 전자장치와 상호 작용할 수 있도록 하는 사용자 인터페이스의 형태로 마우스로 클릭하여 인터넷을 키는 등 단순한 동작으로 컴퓨터와 상호.. CS 2023. 4. 29. [CS] 메모리 메모리 계층 메모리 계층은 레지스터, 캐시, 메모리, 저장장치로 구성되어 있습니다. 레지스터 : CPU안에 있는 작은 메모리로 휘발성, 가장 빠른 속도, 기억 용량이 가장 작은 특징을 가지고 있습니다. 캐시 : L1, L2 캐시를 지칭합니다. 휘발성, 빠른 속도, 기억 용량이 적은 특징을 가지고 있습니다. L3캐시도 존재 주기억장치 : RAM을 가르키는 말으로 휘발성, 보통 속도, 기억 용량 보통의 특징을 가지고 있습니다. 보조기억장치 : HDD, SSD를 가르키는 말으로 비휘발성, 낮은 속도, 높은 기억 용량을 가지고 있습니다. 캐시 캐시는 데이터를 미리 복사해놓은 임시 저장소로 데이터 빠른 장치와 느린 장치의 속도 차이에서 오는 병목 현상을 줄이기 위한 메모리를 말합니다. 데이터에 접근하는 시간이 오.. CS 2023. 4. 27. [CS] 선언형과 함수형 프로그래밍 선언형 프로그래밍 무엇을 풀어내는가에 집중하는 패러다임이며, 프로그램은 함수로 이루어진 것이다. 라는 명제가 담겨있는 패러다임 함수형 프로그래밍은 선언형 패러다임의 일종 함수형 프로그래밍은 순수 함수들을 블록처럼 쌓아 로직을 구현하고 고차 함수를 통해 재사용성을 높인 패러다임 순수 함수 출력이 입력에만 의존하는 것을 의미 const car = (a,b) => { return a + b } 매개변수 a, b 에만 영향을 받습니다 만약 c라는 전역 변수가 출력에 영향을 주면 순수 함수가 아닙니다 고차 함수 함수가 함수를 값처럼 매개변수로 받아 로직을 생성하는 것을 말합니다 일급 객체 고차 함수를 쓰기 위해서는 해당 언어가 일급 객채라는 특징을 하져야 하며 그 특징은 다음과 같습니다 변수나 메서드에 함수를 할.. CS 2023. 4. 18. [CS] REST API REST API란 REST를 기반으로 만들어진 API를 의미합니다. REST API를 알기 위해 REST부터 알아보도록 하겠습니다. REST란? REST(Representational State Transfer)의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미합니다. 즉 REST란 HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 통해 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미합니다. CRUD Operation이란 CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(.. CS 2023. 4. 17. [CS] 프로세스와 스레드 프로세스 프로세스는 컴퓨터에서 실행되고 있는 프로그램을 말하며 CPU 스케줄링의 대상이 되는 작업 프로세스의 메모리 구조 운영체제는 프로세스에 적절한 메모리를 할당합니다. 스택, 힙, 데이터 영역, 코드 영역으로 나눠집니다. 스택과 힙 스택과 힙은 동적 할당이 되며, 동적 할당은 런타임 단계에서 메모리를 할당받는 것을 의미합니다. 스택은 지역 변수, 매개변수, 실행되는 함수에 따라 늘어나거나 줄어드는 메모리 영역입니다. 함수가 호출될 때 환경 등 특정 정보가 스택에 계속해서 쌓이게 됩니다. 힙은 동적으로 할당되는 변수들을 저장합니다. 동적으로 관리되는 자료 구조의 경우 힙 영역을 사용합니다. 데이터 영역과 코드 영역 정적 할당이 되는 영역이며 정적 할당은 컴파일 단계에서 메모리를 할당하는 것을 의미합니다.. CS 2023. 4. 13. [CS] 데이터베이스의 기본 데이터베이스 일정한 규칙, 규약을 통해 구조화되어 저장되는 데이터의 모음 데이터베이스를 제어, 관리하는 통합 시스템을 DBMS라고 하며 데이터들은 특정 쿼리를 통해 삽입, 삭제, 수정, 조회 등을 수행할 수 있습니다. 엔터티 사람, 장소, 물건, 사건 등 여러 개의 속성을 가진 명사를 의미합니다. 회원이라는 엔터티는 이름, 아이디, 전화번호 등의 속성을 가집니다. 서비스의 요구 사항에 맞춰 속성이 정해지며 서비스의 요구 사항과 무관하다면 속성은 사라지게 됩니다. 릴레이션 데이터베이스에서 정보를 구분하여 저장하는 기본 단위이며 엔터티에 관한 데이터를 데이터베이스는 릴레이션에 담아서 관리합니다. 릴레이션은 관계형 데이터베이스에서는 테이블이라고 하며, NoSQL 데이터베이스에서는 컬렉션이라고 합니다. 테이블과.. CS 2023. 4. 7. [CS] 디자인 패턴 디자인 패턴 디자인 패턴이란 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것 싱글톤 패턴(singleton pattern) 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴 데이터 베이스 연결 모듈에 주로 사용 하나의 인스턴스를 생성하여 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에 인스턴스 생성 비용이 줄어드는 장점이 있으나 의존성이 높아지는 단점 또한 존재한다 //main 모듈 const mysql = require('mysql'); const sql = mysql.createPool({ connectionLimit: 10, host: 'example', user: 'root', password: 'sec.. CS 2023. 2. 20. 이전 1 2 3 다음 반응형