전체 글18 인증 / 인가 웹서비스를 만들기 위해 필수적으로 알아야할 지식이 인증 / 인가 이다. 대부분의 서비스에서는 로그인이 필수적이기 때문이다. 인증 / 인가 란? 인증(Authentication) 이란 웹사이트를 이용하는 사용자의 신원을 확인하는 것이다. 가장 간단한 예로 ID와 PW를 이용하여 로그인을 하는 것을 인증이라 할 수 있다. 인가(Authorization) 란 인증을 완료한 사용자가 어떠한 페이지 (서비스)에 접근할 권한이 있는지 확인하는 것을 인가라고 한다. 간단한 예로 관리자 페이지에는 일반적인 사용자가 접근할 수 없다. 일반적인 사용자에게는 관리자 페이지에 대한 인가가 없기 때문이다. 각각의 프로세스를 살펴보자 인증 로그인 요청 : 사용자(클라이언트)가 아이디와 비밀번호를 입력하고 로그인 요청 사용자 확인.. 2023. 2. 20. HTTP 상태코드 HTTP 상태 코드를 알맞게 사용하는 것은 아주 중요하다. HTTP 상태 코드를 확인하면 클라이언트가 서버로 보낸 요청에 대한 응답이 성공인지 실패인지를 확인할 수 있으며, 어떤 유형의 성공인지 실패인지를 확인할 수 있다. 그리고 만약 백엔드 개발자가 통신간의 에러가 발생했을 시 상태 코드를 잘못 설정해놓는다면 프론트엔드 개발자 입장에서는 예외 처리를 하는 것이 번거로워 질 것이다. 이 때문에 HTTP 상태 코드를 알맞게 사용하는 것은 중요하다. HTTP 상태코드 HTTP의 상태코드의 종류는 아주 많다. 여기서는 자주 쓰이는 상태 코드만 정리를 해보려고 한다. 모든 종류의 상태코드를 확인하려면 공식문서를 참고하자. 응답은 5개의 그룹으로 나눠진다. 조건부 응답, 성공 응답, 리다이렉트 응답, 클라이언트 .. 2023. 2. 19. HTTP란? HTTP(HyperText Transfer Protocol) 인터넷에서 데이터를 주고받을 수 있는 프로토콜로 일종의 통신 규약이다. 웹 클라이언트와 서버 간의 통신을 하기 위한 약속이라 할 수 있다. HTTP의 동작 방식 클라이언트가 브라우저를 통해서 원하는 서비스를 url과 같은 방식을 통해 요청(Request)을 서버로 보내면 해당 요청사항에 맞는 결과를 클라이언트에게 응답(Response)하는 형태로 동작한다. HTTP의 특징 HTTP 메시지는 HTTP서버와 클라이언트에 의해 해석된다. TCP/IP를 이용하는 응용 프로토콜이다. HTTP는 연결상태를 유지하지 않는 비연결성 프로토콜이다.(이러한 단점을 해결하기 위해 Cookie와 Session이 등장) HTTP는 비연결성 프로토콜이라 요청 / 응답 .. 2023. 2. 18. 트랜잭션이란? 트랜잭션 정의 트랜잭션은 데이터베이스의 상태를 변환시키기 위해 수행하는 작업의 단위이다. 여기서 작업의 단위는 하나의 명령어를 뜻하지 않는다. 명령어 하나가 될수도 있고 여러가지 명령어들이 모여 하나의 작업 단위가 될수도 있다. 트랜잭션의 특징 원자성(Atomicity) 트랜잭션은 데이터베이스에 전부 반영되던지 전혀 반영되지 않는다 사용자의 작업셋을 완벽하게 처리하거나 처리하지 못하면 원상태로 복구한다 일관성(Consistency) 트랜잭션이 성공적으로 처리되면 데이터베이스는 일관성을 가져야한다 독립성(Isolation) 두 개의 트랜잭션이 동시에 처리될 수 없다 하나가 처리될 동안 다른 하나는 대기 후 처리가 완료되면 진행된다 지속성(Durability) 성공적으로 트랜잭션이 완료되면 시스템이 고장나더.. 2023. 2. 17. RDBMS와 NoSQL의 차이점 데이터 베이스 (DataBase) 란? 먼저 데이터베이스에 대해 알아보자. 데이터베이스(DB)란 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합을 말한다. 이러한 데이터베이스를 관리해주는 시스템이 있다. 우리는 그것을 DBMS(DataBase Management System) 라고 한다. DBMS를 이용하여 데이터베이스에서 사용자가 원하는 데이터를 추출하고 가공하여 사용자에게 정보를 제공할 수 있다. RDBMS 관계형 데이터베이스는 DB 앞에 R( Relational, 관계형 )을 붙여 RDB로 나타낸다. RDB를 관리해주는 시스템을 RDBMS 라고 한다. RDB는 테이블, 행, 열을 구조화하는 방식이다. 테이블 간의 JOIN을 이용하여 정보간의 관계를 설정할 수 있어 여러가지.. 2023. 2. 16. AWS 서버 OS 종류 AWS 서버를 생성하려면 운영체제(OS)를 선택하여야한다. OS의 종류에는 여러가지가 있지만 리눅스(Linux)와 그의 배포판 우분투(Ubuntu)와 CentOS에 대해서 알아보자. 먼저 OS가 무엇인지 알아보자 OS란? OS는 Operating System의 약자로 운영체제라고 한다. 운영체제는 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임이다. 즉, 컴퓨터의 각종 하드웨어적인 자원과 소프트웨어적인 자원을 효율적으로 관리함으로써 사용자가 시스템을 이용하는데 편리함을 제공하는 소프트웨어이다. OS의 종류에는 여러가지가 있지만 리눅스에 대해서만 알아볼 예정이다. 리눅스 ( Linux ) 리눅스는 Unix 기반의 .. 2022. 10. 21. 이전 1 2 3 다음