Cheat Sheet 정보 단위가장 작은 정보 단위: 비트 → 바이트(8비트) → kB(1,000byte) → MG → GB → TB워드(word): CPU가 한 번에 처리할 수 있는 데이터의 크기 이진법이진법: 0과 1만으로 모든 숫자를 표현, 플래그를 통해 양수/음수를 구분함음수 표현 방법 2의 보수: 어떤 수를 그보다 큰 2^n에서 뺀 값모든 0과 1을 뒤집고, 거기에 1을 더하는 방법도 가능십육진법: 10~15를 A~F로 표기함, 이진수로 변환하기 쉬움 (십육진수 한 글자=4비트의 이진수) 정보 단위0과 1을 나타내는 가장 작은 정보 단위는 비트(bit)프로그램은 수많은 비트로 이루어져 있음n비트는 2^n 가지 정보를 표현 가능8비트 = 1바이트(byte), 킬로바이트(kB), 메가바이트(MB..
Cheat Sheet 컴퓨터가 이해하는 정보: 명령어, 데이터CPU: 명령어를 읽고 해석하고 실행함ALU(계산기), 레지스터(임시 저장 장치), 제어장치(제어 신호 내보내고, 명령어 해석)주기억장치(메모리): 현재 실행되는 프로그램을 저장보조기억장치: 전원이 꺼져도 보관할 프로그램을 저장입출력장치: 컴퓨터 외부에 연결되어 내부와 정보 교환할 수 있는 부품시스템 버스: 컴퓨터의 핵심 부품들이 정보를 주고받는 통로주소 버스, 데이터 버스, 제어 버스 컴퓨터가 이해하는 정보컴퓨터가 이해하는 정보에는 데이터와 명령어가 있음명령어는 컴퓨터를 작동시키는 정보컴퓨터는 0과 1로 표현된 정보만을 이해함컴퓨터는 명령어를 처리하는 기계 컴퓨터의 4가지 핵심 부품중앙처리장치(CPU), 주기억장치(메모리), 보조기억장치,..
1대로 멀티 도메인을 가능하게 하는 가상 호스트 가상 호스트(Virtual Host) 기능을 사용하면 하나의 HTTP 서버에서 여러 개의 웹 사이트를 실행할 수 있음 즉 같은 IP 주소의 다른 호스트명과 도메인명을 가진 여러 개의 웹 사이트가 실행될 수 있음 따라서 HTTP 리퀘스트를 보낼 때는 호스트명과 도메인명을 완전하게 포함한 URI를 지정하거나, Host 헤더 필드에서 지정해야 함 통신을 중계하는 프로그램 프록시 서버와 클라이언트의 양쪽 역할을 하는 중계 프로그램 클라이언트로부터 받은 리퀘스트를 서버에 전송하고, 오리진 서버로부터 받은 리스폰스를 클라이언트에 전송함 리소스 본체를 가진 서버를 오리진 서버(Origin Server)라고 함 중계할 때마다 Via 헤더 필드에 경유한 호스트 정보를 추가..
상태 코드는 서버로부터 리퀘스트 결과를 전달한다 HTTP 상태 코드란? 클라이언트가 서버에 HTTP 리퀘스트를 보낼 때 서버에서 그 결과가 어떻게 되었는지 알려주는 것 상태 코드의 구조: 3자리 숫자와 설명 상태 코드 클래스: 숫자의 첫 번째 자리 클래스 설명 1xx Informational 리퀘스트를 받아들여 처리 중 2xx Success 리퀘스트를 정상적으로 처리했음 3xx Redirection 리퀘스트를 완료하기 위해서 추가 동작이 필요 4xx Client Error 서버가 리퀘스트 이해 불가능 5xx Server Error 서버에서 리퀘스트 처리 실패 2xx 성공 (Sueccess) 200 OK 클라이언트가 보낸 리퀘스트를 서버가 정상 처리하였음을 나타냄 204 No Content 서버가 리퀘스트..
HTTP 메시지 공통 구조 메시지 헤더 서버와 클라이언트가 꼭 처리해야 하는 내용과 속성 개행 문자 메시지 바디 꼭 전송되는 데이터 그 자체 메시지 헤더 구성 요소 리퀘스트 라인 혹은 상태 라인 리퀘스트 라인: 리퀘스트에 사용하는 메소드와 URI, HTTP 버전이 포함됨 상태 라인: 리스폰스 결과를 나타내는 상태 코드와 설명, 사용하는 HTTP 버전이 포함됨 헤더 필드: 리퀘스트와 리스폰스의 여러 조건과 속성 등을 나타냄 리퀘스트/리스폰스 헤어 필드, 일반 헤더 필드, 엔티티 헤더 필드 등 인코딩으로 전송 효율을 높이다 HTTP로 데이터를 전송할 때 인코딩(변환)을 하면 전송 효율을 높일 수 있음 메시지: HTTP 통신의 기본 단위로 8비트로 구성되고 통신을 통해 전송됨 엔티티: 리퀘스트랑 리스폰스의 페..
HTTP는 클라이언트와 서버 간에 통신을 한다 클라이언트는 텍스트, 이미지 등과 같은 리소스가 필요하다고 요구하고 서버가 이 리소스를 제공함 리퀘스트와 리스폰스를 교환하여 성립 클라이언트는 서버에 리퀘스트(Request)를 보내고, 서버는 리스폰스(Response)로 응답한다. GET /index.html HTTP /1.1 Host: www.hackr.jp 리퀘스트 메시지는 메소드, URI, 프로토콜 버전, 옵션 리퀘스트 헤더 필드, 엔티티로 구성됨 HTTP 서버 상에 있는 “index.html” 리소스가 필요하다는 리퀘스트 GET: 서버에 요규하는 종류 (메소드) index.html: 리퀘스트 URI로서 요구 대상인 리소스를 나타냄 HTTP /1.1: HTTP 버전 번호 HTTP /1.1 200 OK ..
웹은 HTTP로 나타낸다 HTTP (HyperText Transfer Protocol) 웹 문서 전송 프로토콜 HTTP/1.1 버전이 현재 가장 많이 사용되고 있음 네트워크의 기본은 TCP/IP 프로토콜이란? 서로 다른 하드웨어와 운영체제 등을 가지고 서로 통신을 하기 위해 필요한 규칙 TCP/IP란? 인터넷과 관련된 프로토콜 집합의 총칭 TCP/IP 계층화의 장점 사양이 변경되었을 때 해당 계층만 바꾸면 된다. 각 계층 별로 내부 설계를 편하게 할 수 있다. 애플리케이션 계층 ⇒ 트랜스포트 계층 ⇒ 네트워크 계층 ⇒ 링크 계층 송신 측은 애플레이케이션 계층에서부터 내려가고, 수신 측은 반대로 애플리케이션 계층으로 올라감 각 계층을 거칠 때는 반드시 헤더에 해당 계층마다 필요한 정보를 추가함 반대로 수신..