네트워크 2

[4월 16일] 오늘의 주제: 네트워크

Q. 개발자로서 DNS를 구현한다면 어떤 자료구조를 선택하고 어떤 프로토콜을 선택할 것 같은지? A. Map Q. 맵으로 자료구조를 선택하였을 때 유저의 DNS 쿼리가 들어온다면 처리하느데 소요되는 시간 복잡도는? A. 최선의 경우 O(1) 이고 해시충돌이 일어날 경우 O(N) Q. 그럼 해시 충돌은 왜 일어날까요? A. 먼저 해시 함수란 임의의 길이를 갖는 메시지를 입력받아 고정된 길이의 해시값을 출력하는 함수 해시테이블은 해시함수(key값을 mod 연산)를 사용해서 나온 해시값을 key값으로 하고 데이터를 Value로 하여 테이블 형태로 만든다.여기서 해시값을 key값으로 해시 테이블에 insert 하려고 보니까 이미 데이터가 있는 경우를 해시충돌 이라고 한다. Q. 그렇다면 충돌을 해결하기 위한 ..

모든 개발자를 위한 HTTP 웹 기본 지식

OSI 7 계층과 인터넷 프로토콜 스택의 4 계층 TCP의 특징은 가상 연결, 데이터 전달보증, 순서 보장이 있으며 소켓이 연결됐다 라는것은 사실은 물리적으로 진짜 연결된 것이 아닌 논리적으로만 연결된 것이다. UDP의 특징은 IP와 같은데 + PORT, + 체크섬 정도만 추가된 단순하고 빠른 프로토콜이며 HTTP3에서 사용중이다. HTTP의 특징은 비연결성, 클라이언트 서버 구조, 무상태가 있으며 Stateless 하기 때문에 서버 확장성이 높음(스케일 아웃) HTTP 메서드의 속성 안전(Safe Methods): 호출해도 리소스를 변경하지 않는다. ➪ GET 멱등(Idempotent Methods): 몇번을 호출하든 결과가 똑같다. ➪ GET, PUT, DELETE 캐시가능(Cacheable Meth..

Development/Network 2023.04.08