CS/Network

    TCP/IP (Transmission Control Protocol / Internet Protocol)

    TCP/IP (Transmission Control Protocol / Internet Protocol)

    📔TCP/IP 란 TCP/IP는 패킷 통신 방식의 인터넷 프로토콜인 IP와 전송 조절 프로토콜인 TCP로 이루어져있습니다. 📔TCP/IP 역할 TCP는 데이터를 작은 단위의 패킷으로 분해하고 조립하며 오류를 잡는 역할을 합니다. IP는 목적지를 찾아 패킷을 최대한 빨리 전송하는 역할을 합니다. TCP는 데이터 전달을 관리 IP는 인터넷상의 주소 규칙 📔TCP/IP 동작 먼저 TCP가 데이터를 작은 조각(패킷 단위)로 나눕니다. 다음 IP는 이 조각들을 최대한 빠르게 목적지로 보냅니다. 조각들의 순서가 뒤바뀌거나 일부가 손실 또는 누락되더라도 신경쓰지 않고 보내는 것에 집중합니다. TCP는 이렇게 도착한 조각을 확인하여 순서를 맞추고 손실 또는 누락된 패킷을 다시 요청합니다. 📔TCP/IP 4계층 OSI ..

    대칭키와 비대칭키(Symmetric key and Asymmetric key)

    대칭키와 비대칭키(Symmetric key and Asymmetric key)

    📔키를 사용하는 이유? 키를 사용하여 평문데이터를 암호화하고 상대에게 보냅니다. 외부인이 보더라도 복호화 하지 않으면 볼 수 없어서 안전합니다. 📔대칭키 송신자와 수신자가 같은 키를 가지고 데이터를 암호화와 복호화합니다. 동일한 키로 진행하기 때문에 속도가 빠르다는 장점이 있습니다. 하지만 키의 전달 과정에서 키가 노출될 수 있기 때문에 상대적으로 해킹의 위험에 노출됩니다. 📔비대칭키 송신자는 수신자가 외부에 공개한 공개키를 가지고 데이터를 암호화 하여 수신자에게 보냅니다. 수신자는 자신만이 가지고 있는 개인키로 암호화된 데이터를 복호화합니다. 암호화된 데이터가 노출되더라도 외부인은 복호화 할 수 없기 때문에 안전합니다. 하지만 암호화와 복호화를 하는데 다른 키가 사용되므로 상대적으로 속도가 느립니다. ..

    HTTP와 HTTPS

    HTTP와 HTTPS

    📔HTTP 먼저 HTTP란 서로 다른 시스템들 사이에서 통신을 주고받게 해주는 가장 기본적인 프로토콜입니다. 📔HTTPS HTTPS는 HTTP + S 입니다. 여기서 S는 Secure Socket Layer를 말합니다. 이름에서도 확인 할 수 있듯이 보안이 강화된 HTTP입니다. 기존의 HTTP는 암호화되지 않은 데이터를 전송하기 때문에 보안에 취약합니다. 즉 쉽게 데이터를 도난당할 수 있다는 의미 입니다. HTTPS 에서는 SSL을 사용함으로써 이 문제를 해결했습니다. SSL은 서버와 브라우저 사이에 안전하게 암호화된 연결을 만들 수 있게 해주고, 서버와 브라우저가 민감한 정보를 주고 받을 때 이것이 도난 당하는 것을 막아줍니다. 📔HTTPS의 기능 첫번째 기능으로 접속한 사이트가 신뢰하는 사이트인지 ..

    쿠키와 세션(Cookie / Session)

    쿠키와 세션(Cookie / Session)

    📔쿠키와 세션을 왜 사용할까? HTTP의 특징인 Connectionless 와 Stateless 를 보완하기 위해서 사용합니다. 😁HTTP 특징 보러 가기 📔쿠키와 세션의 차이 쿠키와 세션의 차이는 크게 4가지로 나눌 수 있습니다. 저장 쿠키는 로컬에 세션은 서버에 저장됩니다. 보안 쿠키는 로컬에 저장되어 있기 때문에 탈취나 위변조가 가능합니다. 하지만 세션은 로컬에 세션ID값만 저장되어 있고 실제 정보는 서버에 있기 때문에 상대적으로 안전합니다. 속도 쿠키는 로컬에서 파일로 바로 읽기 때문에 상대적으로 속도가 빠르고, 세션은 서버에 요청을 해서 정보를 받아와야 하기 때문에 상대적으로 느립니다. 라이프 사이클 쿠키는 만료일을 정해서 브라우저를 종료해서 남아있을 수 있습니다. 반면에 세션은 브라우저가 종료..

    프로토콜(Protocol)

    프로토콜(Protocol)

    📔프로토콜이란? 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다. - wiki - 시스템이 원활하게 통신하기 위해서는 정해진 통신규약(프로토콜)을 따라야 합니다. 📔프로토콜의 종류 프로토콜의 종류는 HTTP(인터넷), FTP(파일 전송), VoIP(인터넷 전화) 등이 있습니다. 📔프로토콜의 구성 요소 프로토콜을 이루는 구성요소는 총 세가지로 syntax, semantic, timing 이 있습니다. 먼저 syntax는 데이터의 포맷이나 문법같은 형식을 말합니다. 다음으로 semantic은 데이터의 각 항목이 가지는 의미를 말하고, 마지막으로 timing 은 데이터 송수신 동작방식의 저의를 의미합니다. Syntax: 구문 데이터의 포맷이나 문법 형식 Semantic: 의미 데..

    HTTP (Hyper Text Transfer Protocol)

    HTTP (Hyper Text Transfer Protocol)

    HTTP란? hyper text transfer protocol의 약자로 인터넷상에서 데이터를 서로 주고 받을 수 있는 규칙(프로토콜)을 말합니다. 이렇게 규칙에 맞게 프로그램을 개발하기 때문에 서로 정보 교환이 가능한 것입니다. 서버와 클라이언트 모델을 따르는 어플리케이션 레벨의 프로토콜로 TCP/IP(OSI 4계층)에서 동작합니다. HTTP의 특징 HTTP는 두가지 큰 특징이 있습니다. 바로 stateless 와 connectionless 가 있습니다. 먼저 stateless는 상태가 없는 프로토콜 입니다. 여기서 상태가 없다는 말은 각각의 데이터 요청시 서로 독립적이라는 것을 의미합니다. 즉, 방금 요청한 데이터 통신은 이전의 요청이나 이후의 요청과는 아무런 관련이 없다는 뜻이에요. 다음 conne..