본문 바로가기

서버 & 네트워크32

가상 호스트 가상 호스트란 ? 호스트는 네트워크에 연결된 하나의 컴퓨터를 의미한다. 즉, 가상 호스트는 한 대의 컴퓨터로 여러 대의 컴퓨터가 동작하는 것처럼 한다는 뜻 이런 이점을 이용하여, 서버 하나에 가상 호스트 여러개를 생성하여 소비자에게 빌려주는 서비스가 Shared Web Hosting 가상 호스트 운용 방식 1. Named - based ( 이름 기반 ) Name-based 방식의 가상 호스트는 같은 IP 주소를 가지고 여러 개의 호스트명을 가진다. 여러 개의 호스트명이 있을 때 ex) www.sun.org, www.ing.org 같은 IP 주소를 가지는 호스트를 구분하기 위해 서버에서는 클라이언트의 REQUEST 메시지 안에 들어가 있는 호스트 헤더 요청을 받는다. GET /.../... HTTP/1.1.. 2022. 5. 10.
OAuth 2.0 Open Authorization, Open Authentication OAuth 2.0은 쉽게 말해 소셜 로그인이다. OAuth 2.0을 사용하면 로그인, 개인정보 관리 책임을 서드파티 애플리케이션(google, facebook , kakao 등)에게 위임할 수 있다. (사용자가 서드파티 애플리케이션에 회원가입이 되어있는 경우에만) 서비스 중에서 사용자가 일부 필요한 것만 사용할 수 있게 한다. OAuth 2.0의 요소 resource owner - 사용자 resource server - 사용자의 개인정보를 가지고있는 애플리케이션 authorization Server - 권한을 부여해주는 서버 client - OAuth 2.0을 사용할 서버 6번이 끝나면 인증완료 9번이 끝나면 서비스가 유저 정보에 접.. 2021. 10. 10.
인증과 인가(쿠키, 세션, JWT) 인증 : authentication 특정 서비스에 일정 권한이 주어진 사용자임을 인증 받는 것 인가 : authorization 한 번 인증을 받은 사용자가 이후 서비스의 여러 기능들을 사용할 때 서버에서 사용자가 로그인 되어있음을 알아보고 허가 해주는 것 쿠키와 세션 HTTP 프로토콜은 서버-클라이언트 통신 시 stateless 방식으로 통신을 한다. stateless 방식을 쉽게 말하면 브라우저에서 통신이 끝나면 상태를 유지하지 않으므로 새 웹 페이지를 열 때 기존 웹페이지 park-algorithm.tistory.com 앞서 쿠키와 세션에 관해 살펴보았다. 쿠키와 세션을 이용하여 인가를 구현 하면 다음과 같은 문제가 발생한다. 1. 세션은 stateful이다. 세션의 문제점은 REST의 제약 조건을.. 2021. 10. 10.
REST API REST란? Representational State Transfer의 약자이다. REST는 분산 시스템 설계를 위한 아키텍처 스타일이다. 즉 제약 조건의 집합이다. HTTP를 통해 통신을 할 때 HTTP가 원래 가지고 있는 의미를 잘 활용하는 것을 목표로 한다. API란? Application Programming Interface의 약자이다. 웹 API는 웹 애플리케이션 개발에서 다른 서비스에 요청을 보내고 응답을 받기 위해 정의된 명세를 일컫는다. REST API란? 말 그대로 REST + API이다. REST 형식을 지키며 HTTP를 통해 CRUD를 실행하는 WEB API를 뜻한다. 웹 애플리케이션이 제공하는 각각의 데이터를 resource, 즉 자원으로 간주하고 각각의 자원에 고유한 URI(Un.. 2021. 10. 3.
HTTP HTTP는 Hyper Text Transfer Protocol의 줄임말이다. 즉 html문서를 주고받기 위한 프로토콜이라고 생각하면 된다. HTTP는 Request/Response (요청 / 응답) 동작에 기반하여 서비스를 제공한다. HTTP 1.0은 클라이언트에게 HTTP 요청을 받으면 클라이언트와 서버 연결을 통한 요청에 대한 응답이 있고 응답 후 연결을 해제한다. 다음 요청이 들어오면 다시 연결을 한다. 쉽게 말해 요청-연결-응답-연결해제-요청-연결-응답-연결해제.. 이런 구조인 것이다. 연결을 맺고 끊는 작업은 TCP 통신 과정에서 가장 많은 비용이 소비되는 작업이다. 따라서 이는 통신 부하 문제가 발생할 수 있다. 따라서 HTTP 1.1에서는 이 문제를 해결하기위해 keep-alive 기능을 지.. 2021. 10. 2.
UDP 프로토콜 사용자 데이터그램 프로토콜( User Datagram Protocol )의 줄임말이다. UDP 프로토콜은 4계층 프로토콜로 비연결 지향형 프로토콜이다. 비연결 지향형 프로토콜은 연결 지향형보다 속도가 빠르지만 신뢰성이 떨어진다. UDP의 전송방식은 단순해서 신뢰성이 떨어진다. 일반적으로 오류의 검사와 수정이 필요 없는 프로그램에서 수행한다. UDP 프로토콜을 사용하는 프로그램 DNS 서버 tftp 서버 RIP 프로토콜 2021. 9. 29.
AWS RDS 구축하기 AWS RDS를 구축하는 이유 RDS란 Relational Database Servic의 줄임말이다. AWS 클라우드에서 관계형 데이터베이스를 더 쉽게 설치, 운영 및 확장할 수 있는 웹 서비스이다. 앞선 글에서 효율적인 서버 관리를 위해서 웹 서버와 데이터베이스 서버를 나누는 이유에 대해서 적어보았다. 서버란? 서버란 무엇인가에 대하여 요약해보자 1. 서버란 무엇인가? 서버를 음식점에 비유한다면 크게 홀 , 요리사, 냉장고(창고)로 나눌 수 있다. 홀, 요리사, 냉장고는 각각 웹 서버, 백엔드 언어, 데이 park-algorithm.tistory.com RDS를 구축하는 이유에 대해서 적어보자면, EC2의 서버에 데이터베이스를 구축해도 되지만, EC2 서버를 운영하다 보면 여러 문제가 발생할 수 있다... 2021. 9. 29.
ARP 프로토콜 ARP 프로토콜의 역할 ARP 프로토콜은 같은 네트워크 대역에서 통신을 위해 필요한 MAC주소를 IP주소를 이용해서 알아오는 프로토콜이다. 같은 네트워크 대역에서 통신을 하더라도 IP주소와 MAC주소가 필요하다. 이때 IP주소는 알고 MAC주소는 모를 때 ARP 프로토콜을 통해 통신이 가능하다. Hardware type: 2계층 프로토콜 타입, Ethernet을 뜻하는 0x0001만 온다. Protocol type: IPv4를 뜻하는 0x0800만 온다. Hardware Address Length: Mac주소의 길이 -> 0x06 Protocol Address Length : IPv4 주소 길이 -> 0x04 Opcode : operation code이다. 상대방이 MAC 주소를 요청했을 때 -> 0x0.. 2021. 9. 25.
HTTPS 와 SSL 인증서 HTTPS 적용하기 HTTP와 HTTPS의 차이점 HTTP란? HyperText Transfer Protocol의 줄임말이다. 클라이언트와 서버 사이에 이루어지는 요청/응답 프로토콜이다. 웹 브라우저가 HTTP를 통하여 서버로부터 HTML(hyper text markup la.. park-algorithm.tistory.com 지난주에 HTTP에 HTTPS를 적용해보았다. HTTPS에 대해 더 자세하게 공부해본다. HTTPS는 HTTP + SSL/TLS로 보안이 강화된 HTTP이다. HTTPS는 SSL/TLS 프로토콜 위에서 돌아가는 프로토콜이다. SSL 디지털 인증서 SSL 인증서는 클라이언트와 서버 간의 통신을 제삼자가 보증해주는 전자화된 문서다. 이 인증서를 통해 클라이언트는 서버가 신뢰할 수 있는.. 2021. 9. 25.