본문 바로가기

이것저것 스터디📚/CS 스터디

(30)
IP 주소 IP 주소 - IP(Internet Protocol)란 인터넷에 연결되어 있는 모든 장치들(컴퓨터, 서버 장비 등)을 식별할 수 있도록 각각의 장비에게 부여되는 고유 주소이다. IP 종류(IPv4 VS IPv6) ※ IPv4 - IPv4는 IP version 4의 약자로 전 세계적으로 사용된 첫 번째 인터넷 프로토콜이다. - IPv4는 일반적으로 마침표로 구분된 4개의 숫자가 있는 점으로 분리된 10진수 형식으로 표시된다. - 예를 들어, 172.16.254.1와 같이 표시되며, 이를 2진법으로 표현한다면, 32비트 숫자 10101100.00010000.1111110.0000001이 된다. - 즉, IPv4는 32bit로 이루어진 주소이며 이를 합산해보면 약 43억 개의 고유 주소를 제공한다. - 전 세..
DHCP란? DHCP란? - DHCP란 ‘Dynamic Host Configuration Protocol(동적 호스트 구성 프로토콜)’의 약자로, IP 네트워크에 사용되는 네트워크 프로토콜이다. - DHCP는 IP 주소 및 기타 통신 매개변수를 네트워크에 연결된 장치에 자동으로 할당하는데, 대부분의 가정용 네트워크에서는 라우터가 IP 주소를 장치에 할당하는 DHCP 서버의 역할을 한다. - 즉, 클라이언트에서 IP 주소, 기본 게이트웨이, 서브넷 마스크, DNS 주소를 직접 할당하지 않도록 하는 역할을 한다. - DHCP는 네트워크에서 IP 주소와 관련된 설정 정보를 자동으로 할당하는 응용 계층의 프로토콜로OSI 7계층에서 응용 계층(ApplicationLayer)에 존재한다. DHCP 동작 과정 1. DHCP Di..
HTTP 1.1 VS HTTP 2.0 HTTP 1.1 VS HTTP 2.0 HTTP 1.1 * HTTP 1.1 특징 - HTTP 1.0에서는 Connection 당 하나의 요청을 처리할 수 있다보니 동시 전송이 불가능했고(하나의 요청에 대한 응답이 온 후 다음 요청을 처리하기 때문) 이는 네트워크 시간을 지연시키는 단점이 있었다. - 따라서, HTTP 1.1에서는 HTTP Pipelining이 도입하여 네트워크 시간을 줄이는 방식을 도입하였다. - HTTP Pipelining : 하나의 Connection으로 다수의 Request와 Response를 처리할 수 있게하는 것으로 HTTP 1.0과 달리 여러 요청들에 대한 응답 처리를 뒤로 미루는 방법을 사용한다. - 하지만, 이는 완전한 멀티플렉싱이 아닌 응답처리를 미루는 방식이므로 각 응답의..
HTTP GET과 POST 차이 - HTTP GET과 POST는 웹에서 데이터를 서버에 보내거나 서버에서 데이트를 받는 데 사용되는 두 가지 주요한 HTTP 메서드이다. GET과 POST 차이 1. 목적 - GET : 서버에 어떠한 리소스로부터 정보를 요청하기 위해 사용되는 메서드이다. - POST : 서버로 리소르를 생성하거나 업데이트하기 위해 데이터를 보낼 때 사용되는 메서드다. 2. 데이터 전송방식 - GET : URL 주소 끝에 파라미터로 포함되어 전송되며, 이 부분을 쿼리 스트링(query string)이라고 부른다. 예를 들어 www.example.com/show?name1= value1&name2=value2 의 경우 서버에서는 name1과 name2라는 파라미터 명으로 각각 value1과 value2의 파라미터 값을 전달..
Context Switch - 컨텍스트 스위칭 : CPU에서 실행할 프로세스를 교체하는 기술이며 프로세스 스케줄링에서 프로세스를 계속해서 바꿔주는 기술들에 사용되는 게 바로 컨텍스트 스위칭이다. - 즉, 여러개의 프로세스가 실행되고 있을 때 기존에 실행되던 프로세스를 중단하고 다른 프로세스를 실행하는 것이다. - 컨텍스트 스위칭은 PCB(Process Context/Control Block)이라고 하는 메모르의 별도 공간에 process 상태값들을 저장하고, 해당 값들을 찾는 방법으로 구현된다. - 위 예시에서 A라는 프로세스가 running 상태이고 B라는 프로세스가 ready 상태라고 할 때, 스케줄러가 A 프로세스의 실행을 중단하고 B 프로세스를 실행할 것을 요청하는 경우 - A 프로세스의 SP(Stack Pointer)의 ..
경쟁 상태(Race Condition)란? - 경쟁 상태(Race Condition) : 여러 개의 프로세스가 공유 자원에 동시 접근할 때 실행 순서에 따라 결과값이 달라질 수 있는 현상이다. - 즉, 공유 자원에 여러 프로세스가 동시에 접근할 때 자료의 일관성을 해치는 결과나 나타날 수 있다. - 경쟁 상태의 문제를 해결하기 위해 공유 메모리를 쓰는 프로세스끼리 "동기화"를 해줘야 한다. - 동기화 : 쓰레드의 순차적 실행을 보장하는 것 - 동기화를 예를 들어서 설명하면, 탈의실을 생각해볼 수 있다. 탈의실은 한번에 한명만 이용할 수 있고 다른 사람은 사용중인 탈의실의 사용을 기다려야 한다. - 동기화에서는 탈의실을 임계 구역(Critical Section)이라고 하고, 오직 한번에 한명만 들어갈 수 있는 것을 상호 배제(Mutually exc..
뮤텍스(Mutex)와 세마포어(Semaphore) - 동시성 프로그래밍에서의 "공유자원"을 안전하게 관리하기 위해서는 상호배제(Mutal exclusion)를 달성하는 기법이 필요하다. - 뮤텍스와 세마포어는 "공유자원 관리"에 대해 상호배재를 위해 고안된 기법으로 서로 다른 방식으로 상호배제를 달성한다. 1. 뮤텍스(Mutex) - 뮤텍스는 Key에 해당하는 어떤 오브젝트가 있고, 이 오브젝트를 소유한 쓰레드, 프로세스만이 공유자원에 접근할 수 있다. - 만약 1번 프로세스가 자원 접근을 위해 Key를 점유하고 공유 자원 A를 사용하고 있다면, 2번 프로세스가 공유 자원 A 사용을 원하더라도, Key의 점유를 위해 대기해야 한다. - 1번 프로세스가 공유 자원을 다 사용하고 Key를 반환하면, 대기하고 있던 2번 프로세스는 Key를 점유하고 공유자원에..
쿠키와 세션 - HTTP는 Connectionless(비연결지향)과 Stateless(상태 비유지)의 특징을 갖는다. - 하지만, HTTP 통신을 할 때 실제로 데이터 유지가 필요한 경우(로그인 상태와 같은 상태 유지 필요)가 있고 이때 쿠키와 세션을 사용한다. 쿠키(Cookie) * 쿠키란? - 쿠키는 클라이언트(브라우저) 로컬에 저장되는 키와 값이 들어있는 작은 데이터 파일이다. - 사용자 인증이 유효한 시간을 명시할 수 있으며, 유효 시간이 정해지면 브라우저가 종료되어도 인증이 유지된다는 특징이 있다. - 쿠키는 클라이언트의 상태 정보를 로컬에 저장했다가 참조한다. - 쿠키는 사용자가 따로 요청하지 않아도 브라우저가 Request시 Request Header를 넣어서 자동으로 서버에 전송한다. * 쿠키 구성요소..