CS 70

● 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)

1.SOP(Same Origin Policy) 1)동일 출처 정책(same-origin policy)은 어떤 출처에서 불러온 문서나 스크립트가 다른 출처에서 가져온 리소스와 상호작용하는 것을 제한하는 중요한 보안 방식이다. 동일 출처 정책은 동일 출처에서 오지 않은(다른 출처에서 온) 잠재적으로 해로울 수 있는 요청을 분리함으로써 공격받을 수 있는 경로를 차단한다. (예를 들어 특정 사이트에 내가 로그인하면서 토큰을 발급 받을 때 해커가 그 토큰을 가로채서 다른 요청을 서버에 보낸다면 서버 측에서 다른 출처로 인식 되기 때문에 요청을 거부하게 되는 것이다.) ex) nginx(웹서버)로 Vue(프론트) 와 내장 tomcat(WAS) Springboot(Api Server) 간 통신의 경우 생각 출처란? ..

CS/Network 2022.10.11

CURL(Client URL)

CURL(Client URL)이란? (서버와 통신할 수 있는 커맨드 명령어 툴) 다양한 통신 프로토콜을 이용해 데이터를 전송하기 위한 라이브러리와 명령 줄 도구를 제공하는 툴이라고 보면된다. 클라이언트에서 커맨드라인(cmd)을 통해서 간단하게 웹 브라우저처럼 데이터를 전송할 수 있는 툴이다. cURL은 리눅스 배포판에 대부분 기본으로 포함돼 있다. url을 가지고 할 수 있는 것들은 다할 수 있다. 예를 들면, http 프로토콜을 이용해 웹 페이지의 소스를 가져온다거나 파일을 다운받을 수 있다. ftp 프로토콜을 이용해서는 파일을 받을 수 있을 뿐 아니라 올릴 수도 있다. 심지어 SMTP 프로토콜을 이용하면 메일도 보낼 수 있다 RestAPI 서비스의 성능테스트를 위해 사용하곤 한다. CURL 설치 : ..

CS/Network 2022.09.15

Git revert, reset

1. git revert https://www.lainyzine.com/ko/article/git-revert-reverting-commit-in-git-repository/ git revert 사용법: 이미 커밋한 내용을 되돌리는 방법 Git 저장소의 특정 커밋을 되돌릴 때는 revert 서브 커맨드를 이용하빈다. reset과 달리 revert 명령을 사용하면 특정 커밋을 되돌리는 커밋을 만들어주기 때문에 안전하게 커밋 내용을 되돌릴 수 있 www.lainyzine.com https://www.youtube.com/watch?v=CUlU_DBJMvw&list=PLuHgQVnccGMCB06JE7zFIAOJtdcZBVrap&index=8 8 분

CS/ETC. 2022.08.17

프록시 서버(Proxy), 포워드 프록시 서버(Forward), 리버스 프록시 서버(Reverse)

1. 프록시 서버 프록시 서버란 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템이나 응용 프로그램을 가리킨다. 프록시 서버를 사용하면 보안성, 성능, 안정성을 향상할 수 있다. 2. 포워드 프록시 서버 (클라이언트와 가깝게) 흔히 말하는 '프록시 서버'는 포워드 프록시 서버를 의미한다. 클라이언트가 인터넷 웹서버에 요청을 보내면 중간에서 그 요청을 프록시 서버가 가로채고 프록시 서버는 해당 요청을 웹 서버에게 보낸 후 받은 응답을 클라이언트에게 전달한다. 1) 포워드 프록시 서버를 사용하는 이유? 정부, 학교, 기업 등과 같은 기관에 속한 사람들이 기관 내에서 인터넷을 사용할 때 제한을 하기 위해 사용한다. 해당 기관에 속한 사람들이 그들이 방문하고자 하는..

CS/ETC. 2022.08.07

웹 표준, 웹 접근성

1. 웹 표준 넷스케이프 vs 인터넷 익스플로러 -> 1) 웹 표준이란? 어떠한 운영체제나 브라우저를 사용하여도 동일한 컨텐츠를 볼 수 있도록 웹에서 표준적으로 사용되는 기술이나 규칙 W3C에서 웹 표준이 확정된다. 2. 웹 접근성 장애인이나 노인분들 모두 개인의 능력에 상관없이 웹 페이지의 정보에 접근할 수 있도록 보장하는 것을 의미한다. ex) 시각 장애인은 스크린 리더 프로그램으로 웹페이지 읽는다. (tab키를 이용해 input, button 등 이동)

CS/ETC. 2022.07.22

IP 주소 묶는 법 CIDR

CIDR (Classless Inter Domain Routing) Private Network (사설망) 하나의 Public IP를 여러 기기가 공유할 수 있는 방법 하나의 망에는 private ip를 부여받은 기기들과 gateway로 구성한다. 각 기기는 인터넷과 통신시 Gateway를 통해 통신한다. Private IP는 지정된 대역의 아이피만 사용 가능하다. 181.227.3.33 - public IP CIDR는 IP는 주소의 영역을 여러 네트워크 영역으로 나누기 위해 IP를 묶는 방식 여러 개의 사설망을 구축하기 위해 망을 나누는 방법 Classless Classful 10.88.135.144/28이면 28비트까지가 네트워크 주소이다. host 주소가 모두 0일 때부터 주황색 부분 모두 1일 때..

CS/Network 2022.06.01

팝업, 모달창

1. 일반 팝업 새로운 웹 창을 하나 더 추가시키는 기능, - 크기 줄일 수도 있고 위치 옮길 수도 있다. - 상단의 페이지 주소를 복사해서 새 탭에서도 열 수 있다. - 브라우저 설정에서 팝업 차단하면 팝업 뜨지 않음 2. Alert/ Confirm / Prompt : (시스템 팝업) - 각자의 컴퓨터 환경과 브라우저에 따라서 정해진 디자인으로 뜨는 팝업 - 별도로 마크업이나 디자인이 필요하지 않다. 3. 레이어 팝업 : Modal - 원래 있던 콘텐트에 반투명한 배경으로 깔리고 그 위에 팝업이 뜬다. - 상단에 주소창도 없고 옯길 수도 없다. - 이 팝업은 온전하게 현재 이 브라우저에 속해있기 때문에 브라우저를 옯겨야지만 옮겨진다. 4. 일반 팝업 vs. 레이어 팝업 - 새 창으로 열기 때문에 새로운..

CS/ETC. 2022.04.29

소켓 프로그래밍

소켓 프로그래밍이란? 소켓을 이용한 통신 프로그래밍을 뜻한다. 소켓이란 프로세스 간의 통신에 사용되는 양쪽 끝단을 의미한다. ex) 전화기 자바에서는 java.net패키지를 통해 소켓 프로그래밍을 지원하는데, 소켓통신에 사용되는 프로토콜에 따라 다른 종류의 소켓을 구현하여 제공한다. 1. TCP와 UDP tcp는 연결기반, 연결 후 통신, 1:1 통신방식이다. 데이터의 경계를 구분 안 하고 신뢰성 있는 데이터를 전송한다. 데이터의 전송 순서가 보장되고 데이터의 수신 여부를 확인한다. 관련 클래스로는 Socket, ServerSocket이 있다. 반면, udp는 비연결기반이며, 연결 없이 통신이 되며, 1:1, 1:n, n:n 통신방식이다. 데이터의 경계를 구분하고(datagram) 신뢰성 없는 데이터를 ..

CS/Network 2022.04.21

브랜치 전략

1. git-flow : 5가지의 브랜치를 이용해 운영하는 브랜치 전략 1) 2개의 메인 브랜치와 역할을 완료하면 사라지는 3개의 보조 브랜치로 구성되어있다. -메인 브랜치 : 항상 유지 가. master : 제품으로 출시될 수 있는 브랜치 나. develop : 다음 출시 버전을 개발하는 브랜치 -보조 브랜치 : merge되면 사라진다. 가. feature : 기능을 개발하는 브랜치 나. release : 이번 출시 버전을 준비하는 브랜치 다. hotfix : master 출시 버전에서 발생한 버그를 수정하는 브랜치 2) 개발자는 develop 브랜치로부터 본인이 개발할 기능을 위한 feature 브랜치를 만든다. feature브랜치에서 기능을 만들다가, 기능이 완성되면 develop 브랜치에 merg..

CS/ETC. 2022.04.17

JAVA - MD5, SHA-256 암호화

MessageDigest Class java.security.MessageDigest 클래스를 사용하며, 해시 알고리즘에는 MD5, SHA-1, SHA-256 등이 있다. SHA- 256 사용 권장 해싱은 단방향이고 다시 말해 복호화가 불가능하다. 반면, 암호화는 양방향으로 암호화를 역으로 하면 복호화도 가능하다. 단방향 해시 함수는 어떤 수학적 연산에 의해 원본 데이터를 매핑시켜 완전히 다른 암호화된 데이터로 변환시킨다. 이 변환을 해시라고 하고 해시에 의해 암호화된 데이터를 다이제스트라고 한다. 1. SHA-256 SHA-256는 SHA 알고리즘의 한 종류로 256비트로 구성되며, 64자리 문자열을 반환한다. SHA-256 해시 함수는 어떤 길이의 값을 입력하더라도 256비트의 고정된 결과값을 반환한..

CS/ETC. 2022.03.30