목차 https://gnidinger.tistory.com/651 [면접 준비 - Network]CORS에 대하여 - 1 CORS 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 추가 HTTP 헤더를 사용하여 웹 애플리케이션이 다른 출처의 선택한 리소스에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 메 gnidinger.tistory.com 벌써 세 달이나 이전 일이 되었지만, 처음 적은 CORS의 개념과 관련된 글에 이어 조금 실제적인 부분을 정리하려고 한다. CORS라는 게 무엇인지 경험적으로는 알고 또 처리할 수 있지만 구체적으로 어떻게 표현되는지 알고 싶어서. 짧은 글이 될 것 같지만, 시작! Origin in CORS CORS에서 Origin이..
목차 여기저기에서 이름은 많이 주워들은 엔진엑스. 좋다! 빠르다! 가볍다! 길래 쓰지 않을 이유가 없어 보여 한 번 써볼까 하고 기웃거리는 것이 이 글의 목적이다. 엔진엑스는 2004년 10월, 러시아에서 태어났고 현재는 미국에서 자라고 있는 오픈소스 웹 서버 소프트웨어이다. 여기서 웹 서버란 사용자에게 네트워크를 통해 서비스를 제공하는 컴퓨터(의 집합)를 가리킨다. 엔진엑스는 이런 웹 서버에서 사용하는 프로그램 중 하나라고 할 수 있다. 더욱 많이 들어본 아파치 HTTPd(역시 웹 서버 소프트웨어이다)를 빠르게 대체하고 있으며 22년 5월 기준 시장 점유율 1위를 기록하고 있다. 특징으로는 비동기 방식의 동시접속 처리에 특화된 작동방식이라고 하는데, 되는대로 알아보자. Apache HTTPd vs. N..
목차 브라우저에서 요청을 보내거나 링크를 클릭하면 내부적으로 어떤 일이 일어날까? 에 대한 대답을 (하드웨어 쪽은 제외하고) 정리해 두려고 한다. 예를 들어 https://google.com으로 접근하길 원한다고 치자. 이때 앱의 내부는 다음과 같이 동작한다. Type https://google.com and press Enter Protocol https:// 는 통신 규약으로 Hypertext Transfer Protocol Secure의 약자이다. 데이터를 안전하게 전송하기 위해 기존의 HTTP에 TLS가 적용되어 있다. Domain google.com 은 웹 사이트의 도메인이다. 실제 IP 주소와 연결된 기억하기 쉬운 이름이라고 생각하면 편하다. 위 그림에서 볼 수 있듯이 리소스의 위치를 나타내는..
공부를 하고 프로젝트를 하면서 노드라는 단어를 참 많이 듣기도 했고 쓰기도 했다. 그래도 그림자를 따라다니는 기분을 지울 수가 없어서, 내가 사용하는 범위 안에서만 정리하고 가자. 시작하기 전에, 노드는 맥락과 분야에 따라 굉장히 다양한 의미를 가지며, 내가 정리한 것은 오로지 내가 현재 관심 있는 분야에 한정된 자료에 불과하다. Node - Data Structure 자료 구조를 배울 때, 특히 링크드 리스트나 트리, 더 일반적으로는 그래프에 대해 배울 때 노드라는 단어를 처음 만난다. 자료구조에서의 노드란 추상적으로 말하면 구조의 기본 단위, 트리나 그래프로 치면 정점이라고 할 수 있으며 덜 추상적으로 말하면 메모리 곳곳에 흩어져 있는 데이터의 조각, 혹은 그 기본적인 단위를 가리킨다. 추가로 링크드..
URI(Uniform Resource Identifier)는 통합 자원 식별자라는 이름 그대로 현재 위치에 대한 고유한 문자열을 말한다. 지금 당장 브라우저의 주소창을 눌렀을 때 나오는 문자열이며, URL 및 쿼리 파라미터를 포함한다. URL(Uniform Resource Locator)은 통합 자원 지시자라고 번역할 수 있으며, 네트워크 상에서 리소스의 위치를 가리킨다. 프로토콜, 도메인, 포트 및 URL Path로 구분할 수 있으며, 보통 웹 주소라 하면 이 URL을 가리킨다. 마지막으로 URN(Uniform Resource Name)은 통합 자원 이름이라고 번역되며 쉽게 정리하면 URI에서 프로토콜을 제외한, 영구적이고 유일한 식별자라고 할 수 있다. URL과의 차이점은 URL - 어디에서, 어떤 ..
OAuth(Open Authorization)는 사용자의 비밀번호 없이도 접근 권한을 받을 수 있는 개방형 표준이다. 구체적으로는 사용자가 사용하는 앱(여기서는 클라이언트라 부른다)이 보안을 위해 인증을 다른 업체에게 맡겨버리고 서버로부터 접근 권한만 획득하는 방식, 혹은 그 방식에 대한 표준이 OAuth라고 생각하면 된다. 두 번이나 반복해서 나왔지만 굳이 강조하자면, OAuth는 인증이 아닌 권한 부여에 대한 표준이다. 2007년 버전 1.0이 발표된 이후 2012년 2.0이, 2020년 2.1이 발표되어 현재까지 이르고 있다. 더 와닿도록 말하자면 OAuth란 아래와 같은 방식을 말한다. 위 스크린샷은 흔히 소셜 로그인이라고 불리는 회원가입 창이다. 페이스북, 혹은 구글과 아무런 관련이 없는 핀터레..
지난 글에서 HTTP의 비연결성(Conectionless)과 무상태성(Stateless)을 극복하기 위한 방법으로써의 쿠키, 세션과 보안과정인 TLS, 그리고 그것이 적용된 HTTPS의 통신 방식에 대해서 살펴보았다. 여기서 비연결성과 무상태성이란 Connectionless - 클라이언트가 요청을 한 뒤 응답을 받으면 서버가 연결을 끊어버리는 특성 Stateless - 연결을 끊는 순간 클라이언트와 서버의 통신이 끝나며, 상태 정보를 유지하지 않는 특성 을 말하며, 쿠키와 세션을 이용한 극복은 연결 및 상태를 유지하는(Stateful) 방식으로 이루어졌다. 2022.08.03 - [Development/Network] - [네트워크]웹(WEB) 2022.08.04 - [Development/Network..
이전 글에서 HTTP의 특징인 비연결성과 무상태성을 보완하기 위해 쿠키와 세션이 도입되었다고 했었다. 잠깐 복습하자면 HTTP는 위와 같은 특성을 가지기 때문에 서버는 클라이언트를 매번 확인해야 한다. 페이지를 이동할 때마다 로그인을 새로 해주어야 한다는 의미이다. Connectionless - 클라이언트가 요청을 한 후 응답을 받으면 서버가 그 연결을 끊어 버리는 특성 Stateless - 연결을 끊는 순간 클라이언트와 서버의 통신이 끝나며, 상태 정보를 유지하지 않는 특성 2022.08.03 - [Development/Network] - [네트워크]웹(WEB) 2022.08.04 - [Development/Network] - [네트워크]HTTP [네트워크]HTTP HTTP(HyperText Trans..
이전 글에서 HTTP의 특징인 비연결성과 무상태성을 보완하기 위해 쿠키와 세션이 도입되었다고 했었다. 잠깐 복습하자면 HTTP는 위와 같은 특성을 가지기 때문에 서버는 클라이언트를 매번 확인해야 한다. 페이지를 이동할 때마다 로그인을 새로 해주어야 한다는 의미이다. Connectionless - 클라이언트가 요청을 한 후 응답을 받으면 서버가 그 연결을 끊어 버리는 특성 Stateless - 연결을 끊는 순간 클라이언트와 서버의 통신이 끝나며, 상태 정보를 유지하지 않는 특성 2022.08.03 - [Development/Network] - [네트워크]웹(WEB) 2022.08.04 - [Development/Network] - [네트워크]HTTP [네트워크]HTTP HTTP(HyperText Trans..
해싱은 특정 대상에게 해시 함수(Hash Function)를 적용하는 행위를 가리킨다. 계속해서 해시 함수란 임의의 길이를 갖는 임의의 데이터를 받아 고정된 길이의 데이터를 리턴하는 단방향 함수를 말한다. 예를 들어 자바에서 입력받은 숫자를 10으로 나눈 뒤 나머지를 리턴하는 '%10' 연산자도 해시함수라 할 수 있다. 나올 수 있는 해시값이 정해진 범위(0~9) 사이에 있기 때문이다. 또한 단방향이기 때문에 앞선 글에서 알아봤던 양방향 암호화/복호화와 달리 해싱은 암호화만을 가리키는 말이 된다. 해시값은 해시 함수와 함께 정확한 정보를 입력했는지 검증만 하는 용도이기 때문에 복호화 할 필요가 없기 때문이다. 해시 함수의 특징은 아래와 같으며, 비교적 간단한 알고리즘으로 시스템 자원을 덜 소모한다, 즉 ..
- Total
- Today
- Yesterday
- 여행
- 세계일주
- 알고리즘
- 스트림
- 면접 준비
- java
- 지지
- 자바
- Python
- 파이썬
- 리스트
- 유럽여행
- a6000
- Backjoon
- 동적계획법
- 야경
- 맛집
- 백준
- 유럽
- 기술면접
- 칼이사
- RX100M5
- 중남미
- Algorithm
- 세모
- 스프링
- 남미
- spring
- BOJ
- 세계여행
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |