CS

    대칭키와 비대칭키(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..

    GET vs POST

    GET vs POST

    GET vs POST GET key와 value 형태로 주소창의 URL뒤에 붙어가는 데이터 길이에 제한이 있다. 데이터가 노출되어 보안에 취약하다. 상대적으로 빠르다. 주로 데이터를 가져와서 사용자에게 보여줄 때 사용한다. 같은데이터를 보내면 항상 같은 응답이 온다. (캐시) POST 데이터를 인코딩하여 바디에 담아서 서버로 보낸다. 문자열 뿐만 아니라 다른 객체의 값도 전송 가능 길이에 제한이 없다(하지만 상식적으로 너무크면 안됨) 데이터가 숨겨져있어 보안에 유리하다. 상대적으로 느리다. 주로 데이터를 입력하거나 수정할 때 사용한다. 같은 데이터를 보내도 받는 데이터가 달라질 수 있다.