System 17

📌POP3와 IMAP 차이점

📌POP3와 IMAP 차이점 우선, 두 용어는 모두 이메일 메시지를 읽어오기 위한 프로토콜이며, 서버에서 내용을 받아오는 방식을 의미합니다. 이 두 가지 방식의 차이점은 무엇인지 이제부터 자세히 알아보도록 하겠습니다. IMAP IMAP은 Internet Messaging Access Protocol의 약자로 서버에서 이메일을 읽는 프로토콜입니다. 따라서, 어떤 상황에서든 동일한 내용을 읽어올 수 있습니다. IMAP은 서버에서 내용을 불러오고 있습니다. 즉, PC나 모바일에서 메일을 확인할 때 서버에 저장된 정보를 가져와서 내용을 보여주고 변경 사항을 동기화합니다. 그렇기 때문에, 여러 가지의 디바이스에서 접속하여도 항상 동일한 정보를 확인할 수 있습니다. 장점 동기화 : 아웃룩에서 보낸 데이터를 웹 또는..

System/네트워크 2022.06.24

💻 인터넷 상 메일은 어떻게 전달되나? (feat. SMTP)

💻 인터넷 상 메일은 어떻게 전달되나? (feat. SMTP) nodemailer와 구글 SMTP를 사용해서 메일 전송 코드를 구현해봤습니다. 참고 구글SMTP를 테스트해보려면 앱 비밀번호를 등록하고 발급받은 비밀번호를 사용해야 합니다. 앱 비밀번호 등록 방법 SMTP (Simple Mail Transfer Protocol) SMTP (Simple Mail Transfer Protocol)는 간단한 메일을 주고받기 위한 약속입니다. SMTP 서버는 각각의 SMTP 서버와 메일을 전송하는 역할을 합니다. 메일을 전달하기 위해서는 웹 서버와 마찬가지로 SMTP 약속을 따르는 SMTP 서버들이 필요합니다. 네이버, 구글, 카카오 등 각 기업 메일 시스템이 있고 이들의 SMTP 서버가 각각 존재한다. 이 때문에..

System/네트워크 2022.06.24

💻 Web Server와 WAS의 차이

💻 Web Server와 WAS의 차이 1. WS (Web Server) 1.1. WS 개념 WS는 소프트웨어와 하드웨어로 구분된다. 하드웨어 : Web 서버가 설치되어 있는 컴퓨터 소프트웨어 : 웹 브라우저 클라이언트로부터 HTTP 요청을 받아 정적인 컨텐츠(.html .jpeg .css 등)를 제공하는 컴퓨터 프로그램을 뜻합니다. 1.2. WS 기능 HTTP 프로토콜을 기반으로 하여 웹 브라우저의 요청을 서비스하는 기능을 담당한다. 요청에 따라 아래의 두 가지 기능 중 적절하게 선택하여 수행한다. 정적인 컨텐츠 제공 : WAS를 거치지 않고 바로 자원을 제공한다. 동적인 컨텐츠 제공을 위한 HTTP 요청 전달 :클라이언트의 요청(Request)을 WAS에 보내고, WAS가 처리한 결과를 클라이언트에게..

System/네트워크 2022.06.17

📌출처(Origin) 정의

📌출처(Origin) 정의 서버의 위치를 의미하는 https://google.com과 같은 URL은 하나의 문자열 같지만 다음과 같이 구성되어 있다. 이때 출처는 protocal과 Host 그리고 Port까지 모두 합친 것을 의미한다. 동일 출처 비교 예시 아래 표는 URL http://example.com/dir/page.html의 출처를 비교한 예시입니다. URL 결과 이유 http://example.com/dir2/other.html 성공 경로만 다름 http://example.com/dir/inner/another.html 성공 경로만 다름 https://example.com/secure.html 실패 프로토콜 다름 http://example.com:81/dir/etc.html 실패 포트 다름 (..

System/네트워크 2022.06.16

📌HTTP 상태 코드

📌HTTP 상태 코드 에러가 발생한 경우에는 클라이언트에 에러가 났다고 알려줘야합니다. 그 때 보내는 게 상태 코드입니다. 이제부터 어떤 종류의 응답 코드가 있는지 알아보겠습니다. 1. 1XX 정보 100은 서버가 요청의 일부를 받았으며, 나머지 요청을 더 기다리고 있다는 것을 나타냅니다. 101은 http에서 https같이 프로토콜 전환이 일어났을 때 전환이 승인되었음을 알려줍니다. 보통 웹소켓을 할 때 101을 본 것 같습니다. 2. 2XX 성공 200은 성공을 의미하거든요. 대부분은 200이고 몇 가지 다른 게 있습니다. 201은 새로운 컨텐츠 만들기에 성공했을 때 사용합니다. 새로운 포스트를 썼다든가, 새로운 댓글을 썼을 때 보내주면 됩니다. POST 메소드에 대한 응답으로 잘 어울립니다. 204..

System/네트워크 2022.06.11

📌쿠키, 세션, 웹 스토리지

쿠키, 세션, 웹 스토리지 클라이언트의 로그인 정보나 브라우저에서 입력한 값 등이 페이지를 이동할 때 마다 초기화 되는 것입니다. 이러한 문제점을 해결하기 위해 데이터 저장에 사용하는 것이 쿠키, 세션 그리고 웹 스토리지입니다. 쿠키 Cookie 쿠키는 위의 그림과 같은 흐름으로 이용된다. 쿠키를 사용하는 이유는 HTTP 요청은 상태를 가지고 있지 않기 때문이다.(Stateless) 이 말은 브라우저에서는 서버에 요청을 보낼 때 그 요청 자체로는 그 요청이 누구에게서 오는지 알 수 없고, 쿠키에 정보를 담아서 보내면 서버는 쿠키를 통해 파악할 수 있게된다. 쿠키는 주로 세션 관리를 통해 로그인, 접속시간 장바구니 등에 활용되기도 하고, 쿠키를 통해 사용자별로 다른 정보를 표시하는 등 개인화가 가능하며, ..

System/네트워크 2022.04.27

💻 SOP, CORS 이란?

💻 SOP, CORS 이란? 📌 SOP(Single Origin Policy) - 동일 출처 정책 CORS가 왜 생겨났는지 알아보도록 하겠습니다. SOP: 동일 출처 정책(same-origin policy)은 어떤 출처에서 불러온 문서나 스크립트가 다른 출처에서 가져온 리소스와 상호작용하는 것을 제한하는 중요한 보안 방식입니다. 동일 출처 정책은 잠재적으로 해로울 수 있는 문서를 분리함으로써 공격받을 수 있는 경로를 줄여줍니다. 브라우저는 기본적으로 오리진이 다를 경우, 스크립트의 실행을 제한합니다. 쉽게 말해서, 실수로 잘못 들어간 사이트에서 멋대로 코드를 실행하여 쿠키 같은 개인정보나, 다른 사이트의 DOM 조작을 하지 못하도록 막을 수 있는 것입니다. 이런 안전장치가 없을 때 일어날 수 있는 여러 ..

System/네트워크 2022.04.25

HTTP vs HTTPS

HTTP vs HTTPS ✅HTTP와 HTTPS의 기본개념 HTTP는 하이퍼 텍스트 전송 프로토콜의(Hypertext Transfer Protocol)의 약자입니다. 서로 다른 시스템들 사이에서 통신을 주고받게 해주는 가장 기초적인 프로토콜입니다. HTTPS는 하이퍼 텍스트 전송 프로토콜 보안(Hypertext Transfer Protocol Secure)의 약자입니다. 일반 HTTP 프로토콜의 문제점은 서버에서부터 브라우저로 전송되는 정보가 암호화되지 않는다는 것! 이 말은 즉, 데이터가 쉽게 도난당할 수 있다는 것이었습니다. HTTPS 프로토콜은 SSL(보안 소켓 계층)을 사용함으로써 이 문제를 해결했습니다. SSL은 서버와 브라우저 사이에 안전하게 암호화된 연결을 만들 수 있게 도와주고, 서버 브라..

System/네트워크 2022.04.12

AWS EC2에서 불필요한 데이터 정리하고 용량 확보하기

AWS EC2에서 불필요한 데이터 정리하고 용량 확보하기 ✅ 리눅스 : 용량 부족할때, 커널 삭제로 용량 확보하기 bash: Cannot create temp file for here-document: No space left on device 용량이 없어서 위와 같은 오류가 발생할 수 있습니다. 이럴때 하드디스크나 SSD 볼륨 용량을 확장하거나, 필요없는 파일을 지우는 방법이 있지만 그전에 리눅스의 오래된 커널이 남아있을 수 있기때문에 용량부족의 원인일 수 있기 때문에 한번 확인해보시는 것이 좋습니다. 확보하는 방법은 참고링크를 따라 수행하면 된다. 참고 폴시랩 자바스트립트, PHP, 워드프레스, HTML, CSS, 팁, 가이드, 일상이야기. falsy.me ✅ 리눅스에서 비정상적으로 용량이 큰 로그(..

System/AWS 2022.04.12

Nginx와 Certbot(Let's Encrypt)으로 HTTPS 설정하기

Nginx와 Certbot(Let's Encrypt)으로 HTTPS 설정하기 📌 Nginx의 Reverse Proxy Reverse Proxy: 외부에서 내부 서버가 제공하는 서비스 접근 시, Proxy 서버를 먼저 거쳐서 내부 서버로 리다이렉션 하는 기능 certbot으로 Let's Encrypt의 인증서를 발급받고 nginx에서 https 설정을 하고 Nginx의 Reverse Proxy를 이용해서 HTTPS(443) 요청과 80 포트 요청이 들어오면 node 서버로 리다이렉션 한다. Nginx와 certbot 설치, 인증서 발급 1. nginx를 설치한다. sudo apt-get install -y nginx 2. Certbot 설치 Certbot 설치 : 여기서 웹 서버와 시스템을 선택하면 그 환..

System/네트워크 2022.03.31