반응형
반응형
Introduction 프로그래밍을 하면서, 정확히는 Spring Framework 로 백엔드 개발을 하면서 Maven 과 Gradle 을 둘 다 사용해 보았고, 그저 빌드를 해주고, 의존성을 편하게 관리할 수 있게 해주는 정도의 지식만을 가지고 있었습니다. 두 개의 차이점은 무엇이며, Maven 과 Gradle 에 대해 기능과 특징 및 차이점을 정리하려고 합니다. Maven Maven 의 뜻은 지식의 축적을 의미하는 이디시어 단어이며, Maven 이 생기기 전의 프로젝트들은 각각 다른 Ant Build File들로 관리 되고 있었고, 표준화 되어 있지 않았습니다. 이러한 문제를 해결하고, 프로젝트를 구축하는 표준 방법, 프로젝트가 어떤 것으로 구성 되어 있는지에 대한 명확한 정의, 프로젝트 정보를..
DNS (Domain Name System) 우리는 인터넷을 활용해 많은 자원을 획득하고 사용한다. 인터넷에 연결된 하나의 클라이언트를 host라고 부르며, 인터넷에서 자원을 획득하는 것은 하나의 host가 자원을 가진 다른 host에게 자원을 요청하고, 그에 맞는 응답으로 이루어진다. 이 경우 요청을 위한 주소가 필요한데 그러한 주소를 IP라고 부른다. IP는 종류도 다양하고(IPv4, IPv6), 일련의 숫자들과 영문의 조합으로 이루어져 있으며 사용자가 사용하기에 불편하고 직관적이지 못하다. 위의 문제와 같은 접근성의 불편함을 해소하기 위한 대표적인 예시로 핸드폰에 있는 전화번호부가 있다.계층 구조로 이루어진 전화번호를 쉽게 활용하고 사용할 수 있도록 우리는 전화번호부에 이름을 등록해 그 이름을..
HTTP HYPER TEXT TRANSFER PROTOCOL HTTP(HyperText Transfer Protocol 은 W3(World Wide Web)에서 정보를 주고 받을 수 있는 프로토콜이다. 모든 웹 어플리케이션의 기초이며, 상호간의 정의된 규칙으로 클라이언트와 서버 사이에 이루어지는 요청/응답으로써 서버는 클라이언트의 요청에 따라 필요한 정보를 사용자에게 응답 해준다. HTTP 구조 HTTP 통신의 구조는 크게 요청라인(startlien, statusline), header, body 3계층으로 구성되어 있다. equest HTTP 의 startline 은 요청 url, method, 프로토콜 버전이 담겨져 있고, Response HTTP 의 statsuline은 응답 코드, 응답 코드에 대..
1. Cookie 란 ? 클라이언트의 상태 및 정보들을 저장할 수 있는 공간. HTTP 프로토콜 통신은 기본적으로 stateless하게 이루어진다. 요청을 보낸 클라이언트의 정보나 상태 등을 저장하지 않는다. 하지만 예외적으로 값들을 저장하고, 사용해야 하는 경우를 위해 Session과 Cookie가 존재한다. Session은 정보를 서버에 Cookie는 사용자 리소스(클라이언트 컴퓨터)에 저장한다. 2. 문제점 정보를 저장하고 사용하기 때문에 해킹 공격에 취약하다. 개인 컴퓨터의 보안상태나 활동반경이 다 다르기 때문에 저장되어 사용되는 값들은 해킹의 위험이 존재한다. 3. 대표적인 해킹 공격 2가지(xss, sniffing) 3-1 xss (Cross Site Script) xss는 자바스크립트가 사..