본문 바로가기

CS

(9)
[CS정리] 네트워크 웹 동작 방식 사용자가 브라우저에 URL을 입력 브라우저는 DNS 서버를 조회해 서버의 IP정보를 얻어온다 HTTP 프로토콜을 사용해 HTTP 요청 메세지를 생성하고, TCP/IP 연결을 통해 HTTP 요청이 웹 서버로 전송 서버는 HTTP 프로토콜을 활용해 HTTP 응답 메세지를 생성하고, 요청한 컴퓨터로 전송 도착한 HTTP 응답 메세지를 해석해 HTML을 화면에 랜더링하여 사용자가 볼 수 있도록 한다 TCP & UDP TCP(Transmission Control Protocal, 전송제어 프로토콜) 연결 지향형 서비스, 3-way handshaking 과정을 통해 연결을 설정 높은 신뢰성을 보장하지만 속도가 느림, 순차적인 전달을 하며, 신뢰할 수 있는 전송을 보장한다 UDP(User Datagra..
🌐 TCP와 UDP 정리 1️⃣ TCP(Transfermission Control Protocol, 전송 제어 프로토콜) TCP로 전송할 때 붙이는 헤더를 TCP 헤더라 하고, 이 헤더가 붙은 데이터를 세그먼트(segment)라 한다 연결형 통신방식이며, 신뢰할 수 있는 데이터 전송을 보장 흐름 제어, 혼잡 제어, 오류 제어를 제공 ❓ 흐름 제어 데이터를 송수신하는 곳의 데이터 처리 속도를 조절해 수신자 버퍼 오버플로우를 방지하는 것 송신하는 곳에서 감당하지 못하도록 많은 데이터를 빠르게 보내 수신측에서 문제가 발생한다 stop and wait, 슬라이딩 윈도우 등을 사용 ❓ 혼잡 제어 네트워크 내 패킷 수가 넘치지 않도록 막는 것 정보의 소통량이 과다하면 조금만 전송하여 혼잡 붕괴 현상이 일어나는 것을 막는 것이다 연결 지향형..
[CS 정리] 운영체제 (3) 파일 시스템 파일 보조 저장장치에 기록된 관련 정보의 정명된 집합, 사용자 관점에서 논리적 보조 저장장치의 가장 작은 할당 단위 접근 방법 순차 접근(Sequential Access) 파일의 정보가 레코드 순서대로 차례대로 처리되는 것 가장 간단한 접근방법 읽기(read next) : 파일의 다음 부분을 차례대로 읽어나간다 쓰기(write next) : 파일의 끝에 추가, 새로운 파일의 끝으로 파일 포인터가 이동 직접 접근(Direct Access), 상대 접근 직접접근을 위해 파일은 고정 길이의 논리 레코드로 구성되고 특별한 순서없이 빠르게 레코드를 읽고 쓸 수 있다 디스크가 무작위 파일 블록에 임의적 접근을 허용하기 때문에 파일의 디스크 모델에 기반 14→53→7 등의 접근이 가능 읽거나 탐색할 블록..
HTTP 메소드의 종류와 특징, 속성 HTTP 메소드 주어진 리소스에 수행하길 원하는 행동, 서버가 수행해야 할 동작을 지정한다 주요 메소드 종류 GET 리소스의 조회에 사용한다. 서버에 전달하고 싶은 데이터를 query(parameter, query string)을 통해 전달한다. 메시지 바디를 통해 데이터를 전달할 수도 있지만 지원하지 않는 곳도 존재하기 때문에 권장❌ POST 메시지 바디를 통해 서버로 요청 데이터를 전달한다. 서버는 메시지 바디를 통해 들어온 데이터를 처리하는 모든 기능을 수행한다. 주로 신규 리소스의 등록, 프로세스 처리 등에 사용한다 신규 리소스를 등록했다면 새로 생성되었다는 201 상태 코드와 생성된 URI 경로(Location)를 반환한다 또한, 다른 메소드로 처리하기 애매한 경우 주로 사용된다. 조회할 때 데..
HTTP란? HTTP의 특징, 메시지의 구조 HTTP? HTTP란 HyperText Transfer Protocol로 문서 간의 링크를 전송하는 프로토콜이다. HTML 메시지에 HTML 뿐만 아니라 텍스트나 이미지, 음성, 영상 JSON 등 거의 모든 형태의 데이터가 전송이 가능하며 서버간의 데이터 전송 시에도 대부분 HTTP를 사용한다. 현재 주로 사용하는 HTTP/1.1과 HTTP/2는 TCP를 기반으로 하고 있다. HTTP의 특징 1️⃣ 클라이언트 서버 구조 Request Response 구조 클라이언트가 서버에 요청을 보내고 응답을 대기 서버가 요청에 대한 결과를 만들어 응답 비즈니스 로직과 데이터는 모두 서버가 처리하고 UI 등은 클라이언트가 처리한다 클라이언트와 서버의 분리를 통해 클라이언트와 서버가 각각의 성장이 가능! 2️⃣ Stat..
[CS 정리] 운영체제 (2) 스케줄러 프로세스를 스케줄링하기 위한 Queue Job Queue : 시스템에 들어올 때 진입하는 큐, 현재 시스템 내에 있는 모든 프로세스의 집합 Ready Queue : 현재 메모리 내에 있으면서 CPU를 잡아 실행되기를 기다리는 프로세스의 집합 Device Queue : 특정 입출력 장치를 대기하는 프로세스의 집합 Process 스케줄러 각각의 Queue에 프로세스들을 넣고 빼주는 스케줄러 장기 스케줄러(Long-term scheduler, Job scheduler) 메모리는 한정되어 있는데 많은 프로세스들이 한꺼번에 메모리에 올라올 경우, 대용량 메모리(일반적으로 디스크)에 임시로 저장. 대용량 메모리(일반적으로 디스크)에 임시로 저장 저장되어 있는 프로세스 중 어떤 프로세스에 메모리를 할당하여 ..
[CS 정리] 운영체제 (1) 프로그램 어떤 작업을 위해 실행할 수 있는 파일 프로세스 컴퓨터에서 연속적으로 실행되고 있는 프로그램 즉, 동적인 개념으로는 실행된 프로그램을 의미 디스크로부터 메모리에 적재되어 CPU의 할당을 받을 수 있는 것 메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립적인 개체) 운영체제로부터 시스템 자원(주소 공간, 파일, 메모리 등)을 할당받는 작업의 단위 함수의 매개변수, 복귀 주소와 로컬 변수와 같은 임시 자료를 갖는 프로세스 스택과 전역 변수들을 수록하는 데이터 섹션을 포함 프로세스 실행 중에 동적으로 할당되는 메모리인 메모리 힙을 포함 프로그램과 프로세스는 다르다!! 프로그램은 명령어를 내용으로 가진 디스크에 저장된 파일, 수동적인 존재(passive entity) 프로세스는 다음에 실행할 명령..
주소창에 URL을 입력하면 일어나는 일 자세하게 설명하는 것이 아닌 대략적인 흐름을 간단하게 정리해보았다. 웹 브라우저에 주소를 입력하게 되면, 먼저 'google.com'에 해당하는 DNS서버를 조회하여 IP정보를 얻어온다. 또한, 생략된 포트 번호를 파악하기 위해 https의 포트인 443을 찾아내 http 요청 메시지를 생성한다. 요청을 보내기 전, 먼저 소켓 라이브러리를 통해 IP와 포트정보를 사용해 3-way-handshake를 통해 연결을 확립한다. 요청 메시지가 전송 계층에 전달되어 TCP헤더가 붙게 되고 => 세그먼트 네트워크 계층에 전달되어 IP헤더가 붙게 된다 => IP 패킷 브라우저는 만들어진 패킷을 서버에 전달하게 되고, 서버는 받은 패킷의 헤더를 제거하고 해석을 하고 요청을 처리한다. 처리된 결과를 통해 HTTP 응답 ..