목록Web (18)
Over the limit
SNI 란?SNI(Server Name Indication)를 쉽게 설명하면,TLS 프로토콜의 일부로, 접속 도메인 이름을 지정하는 기능이다.즉, 클라이언트가 HTTPS 연결을 할 때, "내가 접속하려는 도메인은 이거야!" 라고 서버에 알려주는 기술이다. SNI 는 어디에 있는가?HTTPS 통신 전 클라이언트와 서버가 핸드셰이크 하는 과정에서 동작한다. 왜 SNI 가 필요한가?옛날에는 HTTPS를 사용하려면 서버 도메인마다 다른 IP 주소가 필요했다. 하지만 이제 SNI 덕분에, 하나의 IP 주소로 여러 도메인을 관리할 수 있게 되었다. HTTPS는 암호화를 위해 인증서가 필요하고, 서버가 어떤 도메인을 요청받았는지 알아야 적절한 인증서를 제공한다.이 과정에서 SNI가 사용된다. SNI가 없는 ..

윈도우 환경에서 host 파일을 변조하는 과정을 실습해보자.hosts 파일 수정의 주요 목적테스트 환경 설정개발 서버의 IP 주소를 로컬 도메인 이름에 매핑하여 로컬 테스트 환경 구축.예: 192.168.1.50 mytestsite.local특정 도메인 차단도메인을 127.0.0.1로 매핑해 사이트 접근을 차단.예:코드 복사127.0.0.1 www.blockedwebsite.comDNS 우회특정 도메인의 요청을 지정된 서버로 강제 라우팅.예:코드 복사203.0.113.10 mywebsite.com속도 최적화DNS 조회 과정을 생략하고 직접 IP로 연결.보안 및 디버깅악성 사이트를 차단하거나, 네트워크 트래픽 분석 및 디버깅에 사용. 윈도우 host 파일 위치C:\Windows\System32\driver..
1. Pragma 헤더도입 배경: HTTP/1.0에서 도입된 헤더로, 캐시 동작을 제어하기 위해 사용주요 기능:Pragma: no-cache: 클라이언트가 캐시된 데이터를 사용하지 않고, 항상 서버에서 최신 데이터를 가져오도록 지시제한 사항:HTTP/1.1부터는 비표준화된 헤더로 간주되며, 공식적으로 사용되지 않음주로 클라이언트 요청에서 사용되며, 서버 응답에는 거의 쓰이지 않음호환성:HTTP/1.0 클라이언트를 지원하기 위해 존재 2. Cache-Control 헤더도입 배경: HTTP/1.1에서 더 정교한 캐시 제어를 위해 도입주요 기능:다양한 캐싱 지시어를 지원하며, 세부적으로 캐싱 동작 설정가능예시 지시어:no-cache: 항상 서버에서 데이터 검증을 요청no-store: 리소스를 캐시에 아예 저..

데이터베이스를 인텔리제이에 연결한 후에 sql문을 쓰고 (엑셀이나 구글 스프레드 시트 쓰면 편함) 데이터가 여러개므로 MYSQL문법 참고 https://private.tistory.com/63 [MySQL] 여러개 한번에 insert 하기 MySQL에서 여러개의 데이터를 한 테이블에 한번에 Insert 하는 방법입니다. 그냥 values( data1 ), (data2),,, 이런식으로 넣으면 됩니다! 1 2 3 4 5 INSERT INTO 테이블명 (컬럼1, 컬럼2,,,,) VALUES ('값1',.. private.tistory.com 콘솔에 복붙해서 왼쪽 위 시작 버튼으로 돌리면 짜란
axios 문법 구성 axios({ url: 'https://localhost:1234/api/member', //통신할 웹 문서 member: 'get', //통신 방식 data: {//인자로 보낼 데이터 member : 'james' } }); axios 요청(request) 파라미터 옵션 method : 요청 방식 (get이 디폴트) url : 서버 주소 headers : 요청 헤더 data : 요청 방식이 'PUT', 'POST', 'PATCH'에 해당하는 경우 body에 보내는 데이터 params: URL파라미터 axios 응답 데이터 axios를 통해 서버로 요청을 보내면, 서버에서 이를 처리한 후 다시 데이터를 클라이언트에 응답하게 된다. 이를 .then을 통한 함수인자(response)로 ..

Access Token 수명이 있음 만료되면 api가 정보를 안준다. 이런 경우 새로 access 토큰을 발급 받을 수 있는 방법은? refresh 토큰! Refresh Token https://datatracker.ietf.org/doc/html/rfc6749#section-1.6 RFC 6749 - The OAuth 2.0 Authorization Framework datatracker.ietf.org A - 클라이언트가 access 토큰을 요청, 권한 부여를 제시함. B - 권한 서버가 클라이언트를 인증하고 유효성을 검사함. 유효하면, access 토큰, refresh 토큰을 발급함 C - 클라이언트가 access 토큰을 제시함으로써 리소스 서버에 보호된 리소스를 요청 D - 리소스 서버가 acce..
Cookie client가 사이트에 방문하면 server에 기록이 남음. 접속자에 대한 정보를 cookie에 담아둔다. 유효기간이 있음. 인증 뿐만 아니라 여러가지 정보를 저장. stateless = 이전 request는 잊어 버린다! 요청할 때마다 우리가 누군지 알려줘야한다. Session client가 ID/PW로 server에 요청하면 server는 sessionDB에 유저를 생성함. 이때 생기는(요청이 들어올 때 마다 생기는) 세션 ID 즉, 세션 ID는 sessionDB -> server -> browser로 이동하여 저장됨 이는 같은 웹사이트에서 다른 페이지로 가는 상황에 적용된다! 예를 들어, 책을 사기 위해 yes24에 로그인 한 후에 장바구니에 담고 다른 책을 살펴본다고 생각하자. 장바구..

JPA는 Entity들의 생성 및 수정 LocalDateTime을 자동으로 관리해주는 Auditing 기능이 있다. 해당 기능 사용을 위해 @EnableJpaAudiring을 추가했었는데 @SpringBootApplication 클래스에 등록에 놓았기에 에러가 생기게 되었다. package com.web.community.springboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.data.jpa.repository.config.EnableJpaAuditing; @EnableJpaAu..
1. ESLint란? ES (Ecma Script, 즉 표준 자바스크립트) + Lint ( 에러가 있는 코드에 표시를 달아놓는 것) 즉 ESLinkt는 자바스크립트 문법에서 에러를 표시해주는 도구이다. 2. ESLint 사용 모든 파일의 에러를 보고 싶다면 \node_modules\.bin\eslint [파일명|디렉토리] 모든 파일을 fix 하고 싶다면 .\node_modules\.bin\eslint ** --fix 확장자 .js 파일만 fix하고 싶다면, .\node_modules\.bin\eslint **/*.js --fix 참고 https://velog.io/@jiwon/ESlint

백엔드를 먼저 지어둔 후, 프론트를 React로 만들어 연결한 예정이다. 그전에 먼저 개념을 몇개 짚은 후 설치를 진행하자 Node.js node.js는 자바스크립트를 브라우저 밖에서 실행할 수 있도록 해준다. 이는 즉, 자바스크립트 = 클라이언트 언어 + 서버 언어 로 활용 가능하게 해주는 것이다. 나는 이 자바스크립트로 된 node 서버를 이용해 프론트엔드 서버를 개발할 것이다. 프론트엔드 서버의 기능은 그저 요청이 왔을 때 HTML, Javascript, CSS를 리턴해주는 것이다. NPM node.js의 패키지 관리 시스템이다. 백엔드 개발시 , grale이 maven 레파지토리에서 라이브러리를 다운 받는 것과 비슷한 개념으로 npm을 이용해 node.js 라이브러리를 설치할 것이다. npm은 n..