[WEB] CORS?
·
WEB
웹 개발자들은 아는 악명 높은 CORS... 이론적인 것은 이미 포스팅이 많이 되어 있으니 내가 실제 겪은 상황과 해결 방법에 대해 적어보려고 한다. (사실 해결 방법이라기 보단 우회? 방법이다...ㅠ)나의 상황은 이러했다. 회사에서 개발용으로 열려있는 host IP의 dev라는 도메인이 있다고 치자. (ex. 123 IP의 example 도메인)그 안에서 전에 만들어둔 파일 관리 테스트용 페이지가 있는데 이 html, css, js코드만 가져왔다. 이 페이지는 로직이 php로 이루어져 있기 때문에 자바 로직 URL 리소스로 바꿔주기 위해 따로 빼온 것이다.(복사한 클라이언트 코드도 123 IP의 example 도메인 서버 안에서 실행되는 중이다.) 따라서 기존에는 JS코드에 var server_url ..
[Spring + Postman] 포스트맨으로 파일 다운로드 테스트
·
Tools/Postman
업무 중 파일을 관리하는 기능을 구현해야 했다. 하지만 아직 앞단 작업이 부족하여 테스트용 뷰페이지를 쓸 수 없는 환경이었다. 평소 postman을 즐겨 사용하지만 다운로드까지 해볼 수 있다는 건 이번에 처음 알게 되어 기록을 해야겠다고 생각했다.  방법은 아주 간단하다.  Send 버튼의 화살표를 누르면 Send and Download라는 버튼이 활성화 된다. 하지만 먼저 Send 버튼을 눌러보자.(API 통신을 하고자 하는 메소드의 리턴값은 ResponseEntity 이다. )��������~~~~~~~ 어쩌고 저쩌고이와 같은 현상은 당연하게도 인코딩 문제라고 볼 수 있다.  하지만 내가 원하는 것은 내가 클라이언트 측에서 보내준 데이터인 xxx.jpg 파일 자체를 다운하고 싶은 것이다.   이번엔 ..
[WEB] DNS
·
WEB
DNS?DOmain Name System의 약자로 호스트의 도메인네임을 네트워크 주소로 변환하거나 그 반대의 역할을 수행한다.예를 들어 naver.com은 DNS를 이용한 도메인네임일 뿐이며 실은 문자의 탈을 쓴 IP주소이다.ping naver.com을 cmd창에 입력해 보면 실제 IP주소를 알 수 있다. IP주소를 브라우저에 제공하면 해당 서버가 뷰페이지를 제공하는 방식이지만 숫자로 외우고 있기 보다는 별명처럼 만들어 접근하기 쉽게 만들어주는 시스템인 것이다. DNS 원리  도메인 주소를 입력하면 도메인 주소를 가지고 있는 DNS서버에 접속DNS서버에 접속한 도메인과 연결된 IP를 확인 후 PC에 전달PC는 전달받은 서버의 IP로 접속IP로 연결된 브라우저에 서버의 내용(뷰페이지) 출력 DNS 동작 순..
[Spring] Spring에서 redis 서버 사용
·
Spring
Redis?Remote Dictionary Server의 약자로 Remote에 위치하고 프로세스로 존재하는 In Memory 기반의 Key - Value 구조 데이터 관리 시스템이다. key - value의 구조를 가지기 때문에 RDB와 같이 쿼리 연산을 사용할 수는 없지만 데이터의 읽기, 쓰기의 속도가 아주 빠르게 최적화 되어 있다. 따라서, Redis를 NoSQL로 분류하기도 한다.  In Memory로 분류되기 때문에 DB, Cache 등의 다양한 데이터 구조를 지원한다. 또한, 일반 DB같이 ssd에 데이터를 쓰는 구조가 아니고 dram에서 처리하는 구조이기 때문에 속도가 아주 빠르다.Redis는 다양한 언어 프레임워크에 대해 API를 지원하기 때문에 사용자들이 많다.    Session Clus..
[CS] JWT?
·
CS
JWT란 JSON Web Token의 준말로 JS의 Key : Value 자료구조를 가지고 있다. HTTP는 기본적으로 state-less를 지향하고 있다. 이때, state-less 상태란 서버가 클라이언트의 정보를 가지고 있지 않는 것을 의미한다. state-less 장단점장점- 서버 확장성이 높고 대량의 트래픽도 대처 가능.- 단일 서버만이 아닌 분리된 서버의 형태에서도 DB나 서버에 의존하지 않아 세션 정보 등의 교환이 가능. 단점- state-ful 방식보다 비교적 많은 양의 데이터가 반복 전송되므로 성능 저하 발생 가능성이 있음.- 데이터 노출로 인해 보안 문제가 발생할 수 있음. 위와 같은 단점을 보완하기 위해 JWT를 사용하기 시작했다.  JWT의 구성aaaaaaa.bbbbbbb.ccccc..
[WEB] Apache? Tomcat?
·
WEB
1. Apache흔히 Apache라고 불리는 것은 Apache HTTP Server를 의미하는데 이는 오픈 소스 소프트웨어 그룹인 아파치 소프트웨어 재단(Apache Software Foundation, ASF)에서 만든 웹서버 프로그램이다. 오픈소스를 통해 많은 개발자들로부터 개발이 이루어지고 있다. 이때의 웹서버란, 크게 두 가지로 나뉘게 된다.1) 하드웨어웹 서버 소프트웨어와 웹 사이트의 구성 요소 파일을 저장하는 컴퓨터를 의미한다.(예 : HTML 문서, 이미지, CSS 스타일 시트 및 JavaScript파일) 2) 소프트웨어보통 HTTP 서버를 의미한다.HTTP 서버는 URL(웹주소) 및 HTTP(프로토콜 주소)를 이해하는 소프트웨어이다.HTTP 서버는 저장하는 웹 사이트의 도메인 이름을 통해 ..