반응형

웹개발 7

REST(Representational State Transfer)란?

REST란? REST는 Representational State Transfer의 줄임말로 애플리케이션 개발의 *아키텍처 중 하나입니다. (*아키텍처 : 애플리케이션을 설계, 제작하는데 사용하는 패턴과 기술의 총칭) 직역하자면 '대표 상태 전송' 정도의 뜻이 되겠습니다. 뭔 소린지 하나도 모르겠으니 그냥 다음으로 넘어갑시다. ​ * 글을 읽기 전에 : 이 글은 HTTP에 대한 이해를 어느 정도 필요로 하니 이전 게시글을 참조해주세요. HTTP(Hypertext Transfer Protocol)란? HTTP란? HTTP는 ​Hypertext Transfer Protocol의 줄임말로 웹 상에서 브라우저와 서버가 데이터를 주고 받을때 사용하는 *프로토콜입니다. 이름에 Hypertext가 포함되어 있긴 하지만..

웹개발 2020.10.26

HTTP(Hypertext Transfer Protocol)란?

HTTP란? HTTP는 ​Hypertext Transfer Protocol의 줄임말로 웹 상에서 브라우저와 서버가 데이터를 주고 받을때 사용하는 *프로토콜입니다. 이름에 Hypertext가 포함되어 있긴 하지만 사실 Hypertext 뿐만 아니라 텍스트, 미디어 등의 데이터도 전송할 수 있습니다. ​ (*프로토콜 : 통신 규약이라는 뜻으로 데이터를 주고 받는 방식에 대한 규칙 정도로 이해하시면 됩니다.) 특징 1. 요청과 응답 - HTTP 통신은 클라이언트의 요청(Request)과 그에 대한 서버의 응답(Response)으로 이루어집니다. 우리가 지금 보는 HTML 웹 페이지도 브라우저의 요청에 따라 서버가 응답한 결과물입니다. ​ 2. TCP/IP 통신 위에서 동작 - TCP/IP 통신 위에서 동작하며..

웹개발 2020.10.23

CSRF(Cross Site Request Forgery)란?

CSRF란? CSRF는 Cross Site Request Forgery(사이트 간 요청 위조)의 줄임말로 웹 취약점 중 하나입니다. 공격자가 희생자의 권한을 도용하여 특정 웹 사이트의 기능을 실행하게 할 수 있으며 이는 희생자의 의도와는 무관하게 이루어집니다. CSRF 취약점을 이용하면 공격자가 희생자의 계정으로 네이버 카페나 인스타그램, 페이스북 등 다수의 방문자가 있는 사이트에 광고성 혹은 유해한 게시글을 업로드 하는 것도 가능해집니다.(예시입니다. 네이버나 페이스북에서 CSRF에 대한 대응책을 준비하지 않았을리가 없죠!) 자세히 알아보기 CSRF를 통해 공격을 하기 위해선 아래의 조건이 만족되어야 합니다. ​ · 희생자가 공격자가 만든 피싱 사이트에 접속할 것 · 희생자가 위조 요청을 보낼 사이트(..

웹개발 2020.10.10

XSS(Cross Site Scripting)란?

XSS(Cross Site Scripting)란? XSS는 크로스 사이트 스크립팅, 즉 사이트 간 스트립팅이라는 이름의 웹 취약점입니다. 웹 사이트의 어드민(관리자)이 아닌 악의적인 목적을 가진 제 3자가 악성 스크립트를 삽입하여 의도하지 않은 명령을 실행시키거나 세션 등을 탈취할 수 있는 취약점입니다. 이름처럼 대부분 자바스크립트를 이용한 공격이 이루어지며 SQL Injection과 함께 웹 취약점 중 가장 기초적인 취약점으로 알려져 있습니다만 워낙 공격패턴이 다양하고 변화가 많이 이루어지기 때문에 사실상 완벽한 방어가 힘들고 지금까지도 굉장히 위험한 취약점 중 하나입니다. 비유하자면 인류의 영원한 적이라고 평가받는 감기 바이러스와 비슷하겠네요. 위험성 XSS로 발생할 수 있는 피해는 다음과 같습니다...

웹개발 2020.10.09

서버리스(Serverless)의 개념

서버리스(Serverless)란? 서버리스는 클라우드 컴퓨팅의 모델 중 하나로 사용자가 서버를 직접 관리할 필요가 없는 모델을 의미합니다. 여기서 서버를 직접 관리할 필요가 없다는 의미는 IaaS와 같은 모델처럼 트래픽에 따라 사용자가 직접 서버의 가용량을 증/감 시킬 필요가 없다는 뜻 입니다. 서버(Server) + 리스(Less)의 합성어라서 간혹 '서버가 없다'라고 문자 그대로 이해하실 수도 있는데 서버가 없을수는 없습니다. 어딘가에 저장할 공간이 있긴 해야 하니까요. 자세히 알아보기 클라우드 컴퓨팅이 등장하면서 우리는 더 이상 서버를 직접 설치하고 관리 할 필요가 없어졌습니다. 클라우드 컴퓨팅(Cloud Computing)의 개념 클라우드 컴퓨팅(Cloud Computing)이란? 클라우드 컴퓨팅..

웹개발 2020.10.09

클라우드 컴퓨팅(Cloud Computing)의 개념

클라우드 컴퓨팅(Cloud Computing)이란? 클라우드 컴퓨팅은 간단히 말해서 IT리소스를 직접 구매하지 않고 임대하여 사용하는 것 입니다. 여기서 IT리소스는 서버, DB, 스토리지 등 구성 가능한 자원을 의미합니다. 직접 서버를 구매하여 설치하고 구성하는 과정 대신 클라우드 컴퓨팅 공급자로부터 필요한 자원을 할당받은뒤 사용량만큼 비용을 지불하는 것 입니다. ​ 클라우드 컴퓨팅의 서비스 모델(Service model) 여기서 말하는 서비스 모델(Service model)은 클라우드 공급자가 제공하는 서비스의 차이에 따라 분류하는 개념이라고 생각하시면 됩니다. 클라우드 컴퓨팅의 서비스 모델은 Iaas, Paas, Saas 3가지로 나뉩니다. 0. 전통적인 IT 방식 전통적인 IT방식에서는 기업(배포..

웹개발 2020.10.09

프레임워크(framework)의 개념

Framework(프레임워크)는 어떤 어플리케이션을 개발하기 위해 필요한 기본적인 클래스와 라이브러리등이 모두 포함되어있는 환경을 의미합니다. 쉽게 생각하자면, FrameWork라는 명칭에서 볼 수 있듯이 Frame(틀 속에서)Work(작업한다)라고 생각하시면 됩니다. 기본적인 도구를 제공하는 환경 속에서 애플리케이션을 만드는 것이죠. 어떤 서비스나 애플리케이션을 개발할때는 공통적으로 사용되는 기능이 있기 마련입니다. 웹 애플리케이션을 예로 들자면 회원 가입/로그인/로그아웃 등의 사용자 관리 기능이 있겠죠? 그런데 하나의 웹 애플리케이션을 만들 때 마다 저런 기능을 계속해서 손수 구현하는것은 정신건강에도 좋지 못할 뿐더러 시간적으로도 상당한 손실입니다. 매번 웹을 만들 때 마다 손수 유효성 검사 코드를 ..

웹개발 2020.10.09
반응형