네트워크 4

정글사관학교 51일차 TIL: 프록시, mmap()과 malloc() 차이 정리

1. 프록시 1. 프록시(proxy)란 무엇인가 클라이언트와 서버 사이에 위치해 중계기로서 통신을 수행하는 역할. 클라이언트가 직접적으로 end server와 연결하여 리소스를 얻는 게 아니라 프록시라는 중간 경로를 통해 통신 수행 프록시는 클아이언트로부터 받은 요청을 엔드 서버에게 보내 응답을 받은 뒤, 해당 응답을 클라이언트에게 보낸다. 프록시 종류 Forward proxy Reverse proxy 1. Forward proxy 보통 우리가 부르는 proxy: forward proxy. 클라이언트가 서버로 요청할 때 직접 요청하지 않고 먼저 프록시 서버를 통해 요청하는 방식. Forward 프록시 특징: 클라이언트가 요청한 내용을 캐싱(caching)해준다. 캐싱: 이전에 요청해서 얻은 리소스를 저장..

정글사관학교 50일차 TIL: 웹서버 개념 정리

웹서버 1. Web Basics 클라이언트와 서버는 텍스트 베이스인 HTTP로 통신함. HTTP: 매우 단순. 클라이언트는 서버와 인터넷 연결을 open하고 콘텐츠를 요청한다. 서버는 요청받은 콘텐츠에 대해 응답하고 연결을 종료한다. 브라우저는 콘텐츠를 읽고 화면에 띄운다. FTP와 HTTP와의 차이? 가장 큰 차이는 웹 콘텐츠가 HTML 언어로 쓰여진다는 점. HTML 프로그램은 태그를 갖고 있는데, 이 태그는 브라우저에게 어떻게 다양한 텍스트와 그래픽 요소들을 페이지에 띄울 것인지 알려준다. 반면 FTP는 파일을 전송하는 프로토콜. 2. Web content 클라이언트와 서버에게 content란 MIME type을 지닌 바이트의 연속. MIME는 파일의 유형을 나타냄.(html, gif, png, j..

정글사관학교 49일차 TIL: 파일 디스크립터, 소켓 프로그래밍

파일 디스크립터(File descriptor) 파일 디스크립터란 운영체제가 특정 파일에 할당해준 정수값을 말한다. 컴퓨터 프로그래밍 시 운영체제가 파일에 접근하기 쉽게 번호로 추상화시켰다고 보면 된다. 예컨대 3학년 8반 5번 김철수라는 아이를 일일이 김철수라 부르지 않고 "3-8반 5번"으로 부른다고 생각하면 된다. 우리가 자주 사용하는 표준 입출력 역시 이미 파일 디스크립터 값이 할당되어 있는데, 값은 아래와 같다. stdin(표준입력): 0 stdout(표준출력): 1 stderr(표준에러): 2 위처럼 0-2까지는 이미 파일 디스크립터 값이 할당되어 있으니, 우리가 사용할 수 있는 건 3 이상부터다. 하지만 이 번호는 OS에서 알아서 매겨주기 때문에 신경 쓸 필요는 없다. 파일 디스크립터 값 할당..

정글사관학교 45일차 TIL: 인터넷 네트워크 개념 정리(TCP/IP, UDP)

malloc 주차가 끝나고, 이제 OS 전 마지막 준비 단계인 주차에 들어섰다. 간만에 밀린 운동도 해서 기분은 좋으나 매우 피곤한 관계로, 빠르게 정리하고 집에 갈 예정. 인터넷 네트워크 인터넷 통신 클라이언트와 서버는 어떻게 통신할까? 중간에 인터넷이라는 놈이 둘 사이를 연결해준다. 그러면 이 인터넷은 어떻게 구성되어 있는 걸까? 인터넷은 수많은 서버 노드의 집합이라고 생각하면 된다. IP(인터넷 프로토콜) 클라이언트와 서버는 무작정 소통하는 게 아니다. 둘 사이에는 일종의 전송 규칙을 설정해 통신하는데, 이때 정하는 규칙을 IP(인터넷 프로토콜)이라고 한다. IP의 역할은 크게 두 가지이다. IP address를 통해 데이터를 전달 패킷 형태로 데이터를 전송 IP는 일종의 통신 규약이라고 했다. I..