CS/네트워크

    TCP/IP 에 대하여

    TCP/IP란? TCP/IP는 패킷 통신을 위한 인터넷 규약입니다. 태초에 통신은 연결이 이루어지고 나서 끊어질 때 까지 해당 회선을 완전히 독점하여 사용했습니다. 이러한 통신 방식을 서킷 통신이라고 부릅니다. 이 때 다른쪽에서는 해당 회선을 이용하지 못하고 기다려야 하는 상황이 발생합니 다. 서킷통신의 이러한 단점을 해결하기 위해 나온 방식이 패킷 통신입니다. 패킷통신은 다중망을 사용할 뿐만 아니라 보내는 내용을 잘게 잘라서 보내게 됩니다. 따라서 특정 회선이 끊어지거나 누가 사용하여 통신을 못하게 되는 경우를 예방할 수 있습니다. TCP와 IP의 특징을 살펴보자면, IP는 패킷 전달 여부를 보증하지 않습니다. 또한 패킷을 보낸 순서와 받는 순서가 다를 수도 있습니다. 이에 반하여 TCP는 IP위에서 ..

    주소창에 naver.com을 입력하면?

    면접 질문에 자주 나오는 질문이라 정리할 필요성을 느껴 글을 쓰게 되었습니다. 우선 브라우저는 네트워크 호출을 하게 됩니다. 네이버 사이트의 html, css, script 이미지와 관련된 데이터들을 가져와야 되기 때문입니다. 이 작업을 수행하기 위해서 NAVER의 IP 주소를 파악해야 됩니다. 네이버 서버의 주소를 찾는 과정은 1. 브라우저에 해당 도메인이 캐시되어 있는지 확인합니다. 있으면 해당 IP주소를 리턴합니다. 2. 없을 경우 로컬에 저장된 hosts파일에서 참조할 수 있는 도메인이 있는지 확인합니다. 3. 모두 존재하지 않는다면 로컬 DNS 서버에 네이버의 ip주소를 요청하게 됩니다. 4. 로컬 DNS서버에 IP주소가 없다면 Root DNS 서버에 요청합니다. - Rot DNS는 IP주소를 ..

    HTTP 프로토콜과 HTTPS에 대하여

    HTTP HTTP는 HyperText Transfer protocol의 약자로 인터넷상에서 데이터를 주고 받기 위한 서버/클라이언트 모델을 따르는 통신 규약을 뜻합니다. 서버 클라이언트 모델이기 때문에 클라이언트에서 보내는 요청을 서버가 처리하여 응답하는 방식으로 동작합니다. 또한 HTTP는 어플리케이션 레벨의 프로토콜로 TCP/IP 위에서 작동하게 됩니다. HTTP가 지니는 특징으로는 상태를 저장하지 않는 Stateless와 클라이언트의 요청에 맞는 응답을 보낸 후 연결을 끊는 Connectionless가 있습니다. HTTP의 장점은 상태 관리의 필요성이 없어 서버 디자인이 간단합니다. 단점으로는 이전 통신 정보를 모르기 때문에 매번 인증을 해줘야 하고, 이를 해결하기 위해 쿠키나 세션을 통한 데이터 ..