쿠키(cookie) 세션(session) 토큰(token)(JWT) 그리고 캐시(cache)
2021. 10. 15. 13:18
CS
쿠키, 세션, 캐시, 그리고 토큰에 대해 알아보기 전에 우선 이것들이 왜 필요한지부터 알아보자. 📖 HTTP 프로토콜의 특징 Connectionless(비연결지향) : 클라이언트가 서버에게 요청을 한 후 그에 맞는 응답을 받으면 그 연결을 끊는 특징이다. HTTP는 먼저 클라이언트가 요청을 서버에 보내면, 서버는 클라이언트에게 요청에 맞는 응답을 보내고 접속을 끊는 특성이 있다. Stateless(상태 정보 유지 X) : 연결을 끊는 순간 통신이 끝나며 상태 정보는 유지하지 않는 특징 비연결 지향의 특성 때문에 계속해서 통신 연결을 유지하지 않아 리소스 낭비가 줄어드는 장점(특히 불특정 다수를 대상으로 할 때)이 있는 동시에 통신할 때마다 새로 커넥션을 열기 때문에 클라이언트는 인증을 계속해야 하는 단점..
API란? (SOAP API, REST API)
2021. 10. 11. 16:54
CS
📌 API란? 우리가 레스토랑에 있다고 가정해보자. 우리는 점원이 가져다준 메뉴판을 보면서 음식을 고르면, 점원이 주문을 받아 요리사에 요청을 한다. 그러면 요리사는 음식을 만들어 점원에게 주고, 우리는 점원이 가져다준 음식을 먹을 수 있게 된다. 여기서 점원의 역할을 한 번 살펴보자. 점원은 손님에게 메뉴를 알려주고, 주방에 주문받은 요리를 요청한다. 그다음 주방에서 완성된 요리를 손님께 다시 전달하게 된다. API는 점원과 같은 역할을 한다. API는 고객(프로그램, 클라이언트)이 주문할 수 있게 메뉴(명령 목록)를 정리하고, 주문(명령)을 받으면 요리사(응용프로그램, 서버)와 상호작용하여 요청된 메뉴(명령에 대한 값)를 전달한다. 📌 API의 역할 1. API는 서버와 데이터베이스에 대한 출입구 역..
HTTP와 SSL 그리고 HTTPS
2021. 10. 6. 15:01
CS
📌 HTTP HTTP란 텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고받을 수 있는 프로토콜이다. 쉽게 말해 HTML, CSS, JS, 이미지, 동영상 들과 같은 컨텐츠들을 서버와 클라이언트가 주고받기 위해서는 서로가 알아들을 수 있는 공통의 약속인 메세지가 필요한데 이를 HTTP라고 한다. 📖 HTTP 동작 방식 클라이언트 즉, 사용자가 브라우저를 통해서 어떠한 서비스를 url을 통하거나 다른 것을 통해서 요청(request)을 하면 서버에서는 해당 요청사항에 맞는 결과를 찾아서 사용자에게 응답(response)하는 형태로 동작한다. 요청 : client -> server 응답 : server -> client Request(요청) 클라이언트가 서버에게 연락하는 것을 요청이라고 하며 요청을 보낼때..
[서버/Server] APM 소스 설치(수동 설치)하기 - PHP
2021. 9. 12. 16:51
CS
📌 APM이란? A(Apache) : 웹서버 P(PHP) : 웹 프로그래밍 언어 M(MYSQL) : 데이터베이스 APM 소프트웨어가 존재하는 것이 아니라, 이 3가지가 연동되어 운영되도록 만든 환경을 APM이라고 한다. Apache와 MySQL이 PHP와 호환성이 좋기 때문에 주로 세 프로그램을 묶어 패키지 형태로 사용한다. 📌 PHP php는 1995년 라스무스 러도프가 처음 만들었다. 데이터베이스와 상호 작용을 하면서 데이터를 저장하며 직접 서버를 설치하여 운영 가능하다. 프로그래밍 언어 일종이며 서버 사이드 스크립트 언어라고도 불린다. C언어 기반으로 만들어졌다. HTML 소스 문서에 넣어 php를 처리했지만 지금은 따로 파일을 분리하여 쓰고 있다. 의미를 확대하여 php는 널리 사용되는 범용 스크..
[서버/Server] APM 소스 설치(수동 설치)하기 - MySQL
2021. 9. 12. 15:55
CS
📌 APM이란? A(Apache) : 웹서버 P(PHP) : 웹 프로그래밍 언어 M(MYSQL) : 데이터베이스 APM 소프트웨어가 존재하는 것이 아니라, 이 3가지가 연동되어 운영되도록 만든 환경을 APM이라고 한다. Apache와 MySQL이 PHP와 호환성이 좋기 때문에 주로 세 프로그램을 묶어 패키지 형태로 사용한다. 📌 MySQL MYSQL은 전 세계적으로 가장 널리 사용되고 있는 오픈 소스 데이터베이스이며, MySQL AB사가 개발하여 배포/판매하고 있는 데이터베이스(DataBase)이다. 표준 데이터베이스 질의 언어 SQL(Structured Query Language)을 사용하는 개방 소스의 관계형 데이터베이스 관리 관리시스템(RDBMS), 매우 빠르고, 유연하며, 사용하기 쉬운 특징이 있..