ComputerScience/Web 15

[Web] JWT( JSON Web Token )

[ JWT( JSON Web Token ) ]JSON웹토큰(JSON Web Token, JWT)은 선택적 서명 및선택적 암호화를 사용하여 data를 만들기 위한 인터넷 표준으로payload는 몇몇 클레임(claim) 표정(assert)을 처리하는 JSON을 보관하고 있다.토큰은 비공개 시크릿 키 또는 공개/비공개 키를 사용하여 서명된다.이를테면 서버는 "관리자로 로그인됨"이라는 클레임이 있는 토큰을 생성하여이를 클라이언트에게 제공할 수 있다.그러면 클라이언트는 해당 토큰을 사용하여 관리자로 로그인됨을 증명한다.이 토큰들은 한쪽 당사자의 비공개 키(일반적으로 서버의 비공개 키)에 의해 서명이 가능하며이로써 해당 당사자는 최종적으로 토큰이 적법한지를 확인할 수 있다.일부 적절하고 신뢰할만한 수단을 통해 다른..

ComputerScience/Web 2024.11.22

[WebServer] caddy

[ caddy ] 원본 작성자Matthew Holt초기 릴리스2015년 4월 28일안정적 출시2.8.4 / 2024년 6월 2일저장소https://github.com/caddyserver/caddy작성자Go운영 체제BSD variants, Linux, Plan 9, macOS and Windows플랫폼IA-32 (i386), x86-64, ARM, MIPS, S390X유형Web server, reverse proxy server라이센스Apache 2웹사이트https://caddyserver.com/ [ 아키텍처 ] caddy는 명령어, 핵심 라이브러리, 구성 모듈의세 가지 주요 구성 요소로 구성됩니다.이 명령어는 프로그램이 실행되는 확장 가능한 인터페이스로,구성파일을 로드하고, 공통모드를 실행하고,설치된..

ComputerScience/Web 2024.10.30

HTTP cookie란?

HTTP 쿠키(HTTP cookie)란 하이퍼 텍스트의 기록서(HTTP)의 일종으로서 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 사용자의 웹 브라우저를 통해 인터넷 사용자의 컴퓨터나 다른 기기에 설치되는 작은 기록 정보 파일을 일컫는다. 쿠키, 웹 쿠키, 브라우저 쿠키라고도 한다. 이 기록 파일에 담긴 정보는 인터넷 사용자가 같은 웹사이트를 방문할 때마다 읽히고 수시로 새로운 정보로 바뀐다. 이 수단은 넷스케이프의 프로그램 개발자였던 루 몬툴리(Lou Montulli)가 고안한 뒤로 오늘날 많은 서버 및 웹사이트들이 브라우저의 신속성을 위해 즐겨 쓰고 있다. 쿠키는 소프트웨어가 아니다. 쿠키는 컴퓨터 내에서 프로그램처럼 실행될 수 없으며 바이러스를 옮길 수도, 악성코드를 설치할 수도 없다. 하지만 스..

ComputerScience/Web 2023.01.04

Session(세션)이란?

세션(session)은 컴퓨터 과학에서 ,특히 네트워크 분야에서 반영구적이고 상호작용적인 정보 교환을 전제하는 둘 이상의 통신 장치나 컴퓨터와 사용자 간의 대화나 송수신 연결상태를 의미하는 보안적인 다이얼로그(dialogue) 및 시간대를 가리킨다. 따라서 세션은 연결상태를 유지하는 것보다 연결상태의 안정성을 더 중요시 하게 된다. 세션 수립은 연결 지향 통신을 수행하는데 기초적인 요구 사항이다. 또, 세션은 무접속 방식으로 전송하는 기본 단계이기도 하다. 그러나 단일 지향성 전송은 세션을 정의하지 않는다. 프로세스 일반적으로 세션은 컴퓨터 시스템의 관리자(또는 OS 또는 서버)가 자신의 자산을 이용하는 것을 허락한 사용자 (컴퓨팅)를 인식한 일정한 기간을 가리키는것으로 광범위하게 이해될 수 있다. 따라..

ComputerScience/Web 2023.01.04

HTTP( HyperText Transfer Protocol )

HTTP( HyperTextTransferProtocol, 초본문전송규약, 하이퍼본문전송규약 ) W3상에서 정보를 주고받을 수 있는프로토콜이다. 주로HTML문서를 주고받는 데에 쓰인다. 주로TCP를 사용하고 HTTP/3 부터는UDP를 사용하며, 80번 포트를 사용한다. 1996년버전 1.0, 그리고1999년1.1이 각각 발표되었다. HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜이다. 예를 들면, 클라이언트인 웹 브라우저가 HTTP를 통하여 서버로부터 웹페이지(HTML)나 그림 정보를 요청하면, 서버는 이 요청에 응답하여 필요한 정보를 해당 사용자에게 전달하게 된다. 이 정보가 모니터와 같은 출력 장치를 통해 사용자에게 나타나는 것이다. HTTP를 통해 ..

ComputerScience/Web 2021.07.01

hosts

hosts 파일은 운영 체제가 호스트 이름을 IP 주소에 매핑할 때 사용하는 컴퓨터 파일이다. 이 hosts 파일은 플레인 텍스트 파일이며 전통적으로 hosts라는 이름을 사용한다. 파일 내용 이 hosts 파일에는 여러 줄이 올 수 있으며, 이 줄의 첫 문자 필드에는 IP 주소가, 그 다음에는 하나 이상의 호스트 이름이 위치한다. 각 필드는 흰 공백 탭으로 구별되는데, 역사적인 이유로 탭이 선호되지만 공백도 사용된다. 주석 줄을 포함할 수도 있는데 해시 문자(#)를 줄의 처음 위치에 놓으면 된다. 파일 내의 완전히 비어있는 줄들은 무시된다. 이를테면 일반적인 hosts 파일은 다음과 같다: 127.0.0.1 localhost loopback ::1 localhost 위 예는 오직 시스템과 시스템 호스트..

ComputerScience/Web 2021.04.23

DNS( Domain Name System )

도메인 네임 시스템(Domain Name System, DNS)은 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발되었다. 특정 컴퓨터(또는 네트워크로 연결된 임의의 장치)의 주소를 찾기 위해, 사람이 이해하기 쉬운 도메인 이름을 숫자로 된 식별 번호(IP 주소)로 변환해 준다. 도메인 네임 시스템은 흔히 "전화번호부"에 비유된다. 인터넷 도메인 주소 체계로서 TCP/IP의 응용에서, www.example.com과 같은 주 컴퓨터의 도메인 이름을 192.168.1.0과 같은 IP 주소로 변환하고 라우팅 정보를 제공하는 분산형 데이터베이스 시스템이다. 인터넷은 2개의 주요 이름공간을 관리하는데, 하나는 도메인 네임 계층, 다른 하나는 인터넷 프로토..

ComputerScience/Web 2021.04.23

Proxy Server

프록시 서버( proxy server )는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램을 가리킨다. 서버와 클라이언트 사이에 중계기로서 대리로 통신을 수행하는 것을 가리켜 '프록시', 그 중계 기능을 하는 것을 프록시 서버라고 부른다. 프록시 서버 중 일부는 프록시 서버에 요청된 내용들을 캐시를 이용하여 저장해 둔다. 이렇게 캐시를 해 두고 난 후에, 캐시 안에 있는 정보를 요구하는 요청에 대해서는 원격 서버에 접속하여 데이터를 가져올 필요가 없게 됨으로써 전송 시간을 절약할 수 있게 됨과 동시에 불필요하게 외부와의 연결을 하지 않아도 된다는 장점을 갖게 된다. 또한 외부와의 트래픽을 줄이게 됨으로써 네트워크 병목 현상을 방지하는 ..

ComputerScience/Web 2021.04.12

XSS( Cross-Site Scripting )

사이트 간 스크립팅 (또는 크로스 사이트 스크립팅, 영문 명칭 cross-site scripting, 영문 약어 XSS)은 웹 애플리케이션에서 많이 나타나는 취약점의 하나로 웹사이트 관리자가 아닌 이가 웹 페이지에 악성 스크립트를 삽입할 수 있는 취약점이다. 주로 여러 사용자가 보게 되는 전자 게시판에 악성 스크립트가 담긴 글을 올리는 형태로 이루어진다. 이 취약점은 웹 애플리케이션이 사용자로부터 입력 받은 값을 제대로 검사하지 않고 사용할 경우 나타난다. 이 취약점으로 해커가 사용자의 정보(쿠키, 세션 등)를 탈취하거나, 자동으로 비정상적인 기능을 수행하게 할 수 있다. 주로 다른 웹사이트와 정보를 교환하는 식으로 작동하므로 사이트 간 스크립팅이라고 한다. 공격 유형 1. 비 지속적 (Non-persi..

ComputerScience/Web 2021.04.12

AJAX?

✔ AJAX ( Asynchronous JavaScript And XML ) AJAX는 프로그래밍 언어가 아닙니다. AJAX는 새로운 기술이나 다른 언어가 아니라 새로운 방식으로 사용되는 기존 기술 일뿐입니다 기존 페이지의 표시 및 동작을 방해하지 않고 비동기식으로 (백그라운드에서) AJAX는 프리젠테이션 계층에서 데이터교환 계층을 분리함으로써 웹 페이지와 웹 애플리케이션이 전체 페이지를 다시 로드하지 않고도 동적으로 컨텐츠를 변경할 수 있도록합니다 모든 최신 브라우저 (Chrome, Firefox, IE7 +, Edge, Safari Opera)에는 내장 XMLHttpRequest 객체가 있습니다. AJAX는 다음 조합을 사용합니다. ◾브라우저 내장 XMLHttpRequest 객체 (웹 서버에서 데이터..

ComputerScience/Web 2021.03.11