CS 6

메모리 단편화(Memory Fragmentation)

주 기억장치에서 메모리의 공간이 작은 공간으로 나뉘어져서, 사용하기에 충분한 공간은 있지만 사실상 사용이 불가능한 경우 메모리 단편화가 발생했다고 한다. 메모리 단편화는 외부 단편화, 내부 단편화로 나뉘어진다. 내부 단편화(Internal Fragmentation): 필요한 양보다 더 큰 메모리가 할당되었을 때 메모리 내부에서 사용하는 메모리 공간 외에 남는 사용하지 않는 메모리 공간이 발생했을 때 ex) 메모장을 실행했을 때 OS가 4KB를 할당해줬다고 하자. 메모장은 실제 1KB만을 차지한다. 필요 이상으로 메모리를 할당받은 것이고 3KB의 남는 공간이 생긴다. 이를 내부 단편화라고 한다. 외부 단편화(External Fragmentation): 메모리가 할당이 되고 해제가 되는 과정이 반복될 때 작..

CS/OS 2022.08.11

URI / URL / URN

URI(Uniform Resource Identifier): 인터넷에 있는 자원을 나타내는 유일한 주소, 하위 개념으로 URL, URN이 있다. URL(Uniform Resource Locator): 웹 페이지를 찾기 위한 주소 URN(Uniform Resource Name): 자원의 고유 name 예를 들어 보면, https://example.com 은 URI이면서 URL https://example.com/test 는 아직까지 path를 나타내므로 URI이면서 URL https://example.com/test/index.html 은 자원의 위치를 나타내므로 URI이면서 URL https://example.com/test/1 뒤에 붙은 1은 특정 식별자로 주소를 나타내지 않기 때문에 URI https..

CS/Network 2022.08.10

쿠키와 세션

쿠키와 세션은 http 프로토콜의 특징이자 약점을 보완하기 위해서 사용한다. http 프로토콜은 connectionless, stateless의 특징을 가지고 있다. connectionless: 클라이언트가 서버에 요청 했을 때 그 요청에 맞는 응답을 보낸 후 연결을 끊는 방식 stateless: 커넥션을 끊는 순간 클라이언트와 서버의 통신이 끝나며 상태 정보를 유지하지 않는다. 실제로는 데이터 유지가 필요한 경우가 많은데 로그인을 했는데 페이지를 다시 불러올 때마다 로그인을 다시 한다거나 로그인 시 아이디 저장을 체크했는데도 불구하고 아이디가 저장이 되어있지 않다거나 하는 것이 대표적인 예이다. 그래서 쿠키와 세션을 사용한다. 쿠키는 클라이언트에 저장하는 정보 파일이다. 클라이언트에 저장하였다가 필요 ..

CS/HTTP 2022.08.03

HTTP Status Code

많이 나오는 http status code만 일단 보자! 나머지는 mdn을 참고하자. 기본적으로 2xx는 클라이언트 요청을 서버가 정상적으로 수행했다는 것을 의미 3xx는 리다이렉션에 대한 정보를 알려준다. 클라이언트가 요청한 리소스가 삭제되었거나 옮겨졌을 경우 해당 리소스에 대한 리다이렉션 정보를 알려준다. 4xx는 클라이언트가 서버에 요청을 잘못한 경우이다. 5xx는 서버에서 알 수 없는 오류가 났음을 의미한다. 200 OK 서버에 요청한 작업이 성공적으로 수행되었음을 의미한다. 400 Bad Request 클라이언트 측에서 요청을 잘못 날렸음을 의미한다. 401 Unauthorized 인증되지 않은 클라이언트가 인증이 필요한 리소스를 요청했을 때 나타난다. (너 누구야 !) 403 Forbidden..

CS/Network 2021.06.10

3way handshake & 4way handshake

TCP 3-way-handshake란 TCP/IP 프로토콜을 이용해서 통신을 하는 응용프로그램이 데이터를 전송하기 전에 먼저 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미한다. Client에서 Server로 접속을 요청하는 SYN 패킷을 보낸다.(SYN-SENT상태) Server는 SYN 요청을 받고 요청을 수락한다는 ACK와 SYN flag가 설정된 패킷을 Client로 보내고 응답을 기다린다.(SYN-RECEIVED 상태) Client는 서버로부터 수락 응답을 받고 다시 Server로 ACK 패킷을 보낸다. 이후로부터는 연결이 이루어지고 데이터를 주고 받을 수 있게 된다. 위와 같은 방식으로 통신하는 것으로 신뢰성을 보장한다. 4-way handshake는 세션을 종..

CS/Network 2021.06.09

HTTP/ HTTPS

1. HTTP란? HTTP(Hyper Text Transfer Protocol)는 인터넷에서 정보를 주고받을 수 있는 프로토콜이다. 주로 HTML 문서를 주고받는 데에 쓰인다. [ HTTP의 구조 ] HTTP는 TCP/IP Protocol model에서 Application level의 프로토콜로 TCP/IP 위에서 작동한다. 상태를 가지고 있지 않는 *Stateless 프로토콜이며 Method, Path, Version, Headers, Body 등으로 구성된다. * Stateless 프로토콜 : 컴퓨팅에서 무상태 프로토콜은 어떠한 이전 요청과도 무관한 각각의 요청을 독립적인 트랜잭션으로 취급하는 통신 프로토콜 HTTP는 암호화가 되지 않은 평문 데이터를 전송하는 프로토콜이기에 비밀번호와 같은 정보를 ..

CS/Network 2021.04.27
1