본문 바로가기

Server8

JWT (Json Web Token)에 대해 알아보자 안녕하세요. 이번 블로그에선 Json Web Token에 대해 작성해보도록 하겠습니다. JWT 란? - 인증에 필요한 정보를 암호화한 토큰을 의미 합니다. JWT 기반 인증은 HTTP 헤더에 토큰을 실어 클라이언트를 인식합니다. JWT를 알기 전에 JWT가 나오게 된 배경에 대해 간단하게 확인하겠습니다. JWT가 나오기 전엔 세션 인증을 사용해 클라이언트를 인식하고 데이터 통신을 하였습니다. 세션 인증 방식에 대해 간단히 짚고 넘어가도록 하겠습니다. Session 인증 - 인증에 필요한 정보를 클라이언트에 저장하는것이 아닌 서버에서 저장해 클라이언트를 관리하게 됩니다. - 로그인 인증하는 것을 예시로 그림으로 확인해보겠습니다. 이런식으로 로그인 요청할때 서버에서 세션을 생성하고 서버측에서 세션 ID를 저.. 2024. 4. 2.
AWS EC2에 APM 설치하기 오늘은 Apache2 + PHP + Mysql을 EC2 Ubuntu에 설치하는 방법에 대해 알아보도록 하겠습니다. SSH 연결을 해 터미널을 연다음에 설치를 하겠습니다 먼저 SSH 연결 한 후 다음 명령어들을 순서대로 작성하시면 될것 같습니다. 연결 한 후 아파치를 설치하기 전에 사용해야 할 명령어가 있습니다. sudo apt update && sudo apt upgrade apt 업데이트를 먼저 해주고 아파치를 설치하도록 하겠습니다. 앞에 sudo 라고 적혀있는데 이건 따로 한번 찾아보시는것을 추천드립니다. Apache 설치 sudo apt install apache2 명령어를 작성하시면 아파치가 설치되는데 설치가 끝나고 인스턴스 퍼블릭 아이피로 접속해보시면 정상적으로 설치되었는지 확인할 수 있습니다... 2024. 1. 19.
TCP 에 대해 ( 3way handshake / 4way handshake) TCP / IP의 역사 인터넷의 시초인 ARPANET이 있었는데 ARPANET은 PC A에서 PC B에게 데이터를 전달하기 위해 전달할 경로를 하나를 정해놓으면 그 경로로만 데이터를 전달하게 되는데 만약 이 경로가 망가지게 되면 데이터를 전달할 수 없었습니다. 이 단점을 보완해 경로를 설정해 데이터를 전달하는 방식이 아닌 핵폭탄이 떨어져도 다른 경로가 있다면 데이터 전송이 가능한 패킷 교환 방식을 사용해 데이터를 전달하는 프로토콜을 만들게 된것 입니다. TCP(Transmission Control Protocol)는 인터넷 프로토콜 스위트 중 하나로, IP(Internet Protocol)와 함께 인터넷에서 가장 많이 사용되는 프로토콜 중 하나입니다 그래서 TCP/IP 라 널리 불립니다. TCP는 데이터.. 2023. 8. 13.
Socket 통신에 대해서(HTTP 통신과 비교) 소켓 통신이란? 소켓이란 두 프로그램이 서로 데이터를 주고받을 수 있도록 양쪽에 생성되는 통신 단자입니다. 이 소켓으로 서버와 클라이언트가 양방향으로 연결이 이루어지는 통신입니다. 서버 소켓 클라이언트 소켓의 연결요청을 대기하고, 연결 요청이 오게 되면 클라이언트 소켓을 생성하여 통신을 합니다. socket() 함수로 소켓을 생성 bind() 함수로 클라이언트에서 연결할 수 있도록 ip 와 port를 할당함 listen() 함수로 클라이언트에서 요청하는 연결요청을 대기합니다 accept() 함수는 클라이언트에서 연결요청이 들어왔을 때 연결 요청을 수락합니다. write/read() 함수로 데이터를 송/수신 하게 됩니다. 클라이언트 소켓 실제로 데이터 송/수신이 일어나는 클라이언트 소켓입니다.. socke.. 2022. 8. 18.
#1 서버(Server) 와 클라이언트(Client)이해하기 서버(Server)란? 서비스를 제공하는 컴퓨터(service provider) 다수의 클라이언트에게 서비스를 제공하기 때문에 고사양의 하드웨어를 갖춘 컴퓨터가 대다수입니다. 하지만 사양이 낮더라도 서비스를 제공하는 소프트웨어가 실행되는 컴퓨터를 서버라 합니다. 클라이언트(Client)란? 서비스를 사용하는 컴퓨터(Service user) 서버와 이어진 모든 기기를 일컫습니다 주로 서버에요청을 보내 응답을 받는 역할을 합니다. 서버와 클라이언트는 어떻게 연결할까? 서버가 서비스를 제공하기 위해선 서버 프로그램이 있어야 하고, 클라이언트가 서비스를 제공받기 위해선 서버 프로그램과 연결할 수 있는 클라이언트 프로그램이 존재해야 합니다. 연결하는 방식은 기본적으로 서버 프로그램을 따로 두는 것과 하나로 합친 .. 2022. 8. 10.