'세계정복의주인장'에 해당하는 글 962건

SSL / TLS

server/http 2018.12.14 02:48

SSL(Secure Sockets Layer) / TLS(Transport Layer Security) 는 통신상의 패킷에 암호화를 통한  보안을 제공.


1. SSL

보안 소켓 계층의 약자로, 1990년대 넷스케이프가 처음 개발한 것으로 데이터를 안전하게 전송하기 위한 인터넷 통신 규약 프로토콜.  1.0 (비공개) -> 2.0 (결함으로 빠른 칼퇴) -> 3.0을 1996년 표준으로 지정.


2. TLS

전송 계층 보안의 약자로 1999년 SSL 프로토콜의 다음 버전으로  출시. IETF( Internet Engineering Task Force)에서 표준화. SSL 3.0과 큰 차이가 없다. 

TLS프로토콜은 모든 종류의 인터넷 통신을 암호화 한다. URL의 https  / 이메일 / 유즈넷 등에서 사용된다. 


3. 작동 (핸드쉐이크)

지원 가능한 알고리즘 서로 교환

- 클라이언트가 서버에 보안 연결을 요청. 서버는 사용가능한 암호 모음을 클라이언트에 알려준다. 
   클라이언트는 자신의 암호 목록과 비교 하여 하나를 선택, 서버에 어떤 암호를 선택 했는지 알려준다. 

키 교환, 인증

- 서버는 클라이언트에게 자신의 신원을 확인 해줄 서드파티 기관이 발급한 인증서를 제공. 인증서엔 퍼블릭 암호화 키를 내장, 클라이언트는 서버의 인증서를 받아 그 진위를 서드파티 기관에 확인.

   

대칭키 암호로 암호화하고 메시지 인증

- 클라이언트와 서버는 퍼블릭 키를 사용해 세션키를 설정.  해당 키값의 교환 및 확인으로 인증 확인. 세션키의 설정은 아래 동영상 참조 



'server > http' 카테고리의 다른 글

SSL / TLS  (0) 02:48:09
http 통신  (0) 2018.12.07
http 동작 방식  (0) 2018.12.06

WRITTEN BY
No.190
세계정복의 시작점

트랙백  0 , 댓글  0개가 달렸습니다.
secret

http://novatechservices.com/use-dsr-to-take-a-load-off-your-load-balancer/


보통의 서버 앞 단에 있는 로드밸런스(L4)에서 사용할수 있는 기능으로 기본적인 통신에서의 클라이언트와 서버의 응답은 

client -> load balancer -> server -> load balancer ->client 

의 형식으로 로드밸런서가 응답에 대해서도 작동을 하게 된다. ( Inline(proxy) mode 라 한다. )

만일 요청이 많아지면 로드밸런서의 처리 때문에 서버가 놀게 되는 현상이 일어날수 있다.

이를 막기 위해 응답은 로드밸런서를 거치지 않고 서버가 바로 클라이언트에 응답을 준다. (상단의 그림 참조 )

client -> load balancer -> server -> client



+ 대용량 파일 업로드의 경우 클라이언트의 요청이 load balancer를 타는것부터 부담이 될수 있다. 

대용량 파일 업로드의 경우 로드밸런스를 거치지 않고 다이렉트로 서버에 올리도록 수정하는게 좋다. 



참고 


http://travelc.tistory.com/82


http://blog.daum.net/_blog/BlogTypeView.do?blogid=05q6N&articleno=12760768&categoryId=159208&regdt=20100909172114


http://tech.kakao.com/2014/05/28/l3dsr/

'server > 아키텍쳐' 카테고리의 다른 글

DSR ( direct server return )  (0) 2018.12.11
서버 구조 생각하기  (0) 2018.11.29

WRITTEN BY
No.190
세계정복의 시작점

트랙백  0 , 댓글  0개가 달렸습니다.
secret

1. 유니코드 

전세계 모든 글자를 표현할수 있는 글자표. 

초기에 1바이트에 ASCII를 비롯한 알파벳만 들어있었어 각 나라에서 남은 공간에 자국의 문자를 할당하여 사용했다. 


2. UTF-8

조합형 문자 집합 ( ㄱ, ㄴ, ㄷ, ㄹ...., ㅏ, ㅓ, ㅡ, ㅣ....)

이미 유니코드에 모든 문자가 들어가 있어 그냥 사용하면 되는데 왜 UTF-8을 사용하느냐?! 

바로 문자가 표현하기 위한 용량을 줄이는것. (유니코드 대신 UTF-8을 사용하는게 아닌 유니코드를 읽고 쓰는 방식을 달리하는 방식) 

UTF-8은 1~4byte의 가변적 인코딩으로 영문은 1byte / 한중일 3byte을 사용한다. 

- 유닉스 / 리눅스 계열에서 사용


3. EUC-KR

완성형 한글 (가, 나, 다, 라 ...)

아스키코드와는 별도의 문자셋 코드표를 만듬. 2byte를 사용


4. CP949(MS949)

완성형 코드표, MS949는  MS사에서 CP949를 확장해서 만들었으며, 윈도우에 쓰이는 문자표, 

윈도우에 쓰이는 한글은 EUC-KR를 확장하여 MS949에 집어넣음(같은 완성형 코드이기 때문에)



왜 윈도우의 파일이 맥에서 오면 한글이 깨지는가?

윈도우의 문자표 (MS949) <--> 맥의 문자표 (UTF-8)

바로 운영체제에서 사용하는 문자표가 다르기 때문......



참고



WRITTEN BY
No.190
세계정복의 시작점

트랙백  0 , 댓글  0개가 달렸습니다.
secret

'뇌세포덩어리""' 카테고리의 다른 글

트렌지스터의 동작 원리  (0) 2018.12.08
.NET Framework 2.0 설치  (4) 2011.06.27
솔라리스 디스크 사용량 알아내기 - df -h 명령어  (0) 2011.06.15
UX라.....  (0) 2010.05.21
mysql 백업, 복구  (0) 2010.05.13
mfc71.dll msvcp71.dll msvcr71.dll  (0) 2009.12.27

WRITTEN BY
No.190
세계정복의 시작점

트랙백  0 , 댓글  0개가 달렸습니다.
secret

http 통신

server/http 2018.12.07 16:35

1. content-type

클라이언트와 서버의 통신시  리소스를 보낼때 해당 리소스가 어떤 컨텐츠 유형인지 알려준다.

content-type 설정을 위해 MIME타입 목록 파일을 사용한다.

https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/MIME_types


2. multipart/form-data post 제출 

브라우저에서 서버로 HTML form 내용을 전송시 사용.

데이터간의 경계를 '--' 로 구분하며, 가가 파트의 content-type은 다를수 있다.

또한 너무 큰 데이터일 경우 --를 경계로 재전송을 시도할수 있다. (3번 참조)


3. 엔터티 재요청



4. 리다이렉트


5. 캐시

expires : 해당 날짜까지만 캐시 유효

cache-control : 데이터를 받은 시점으로 부터 카운트 시작


6. https

https를 사용할때 모든 http요청과 응답 데이터는 네트워크로 보내지기 전에 암호화된다. https는 http의 하부에 전송 레벨 암호 보안 계층을 제공함으로써 동작, ssl(secure socket layer) 로 구현


7. ssl 핸드쉐이크

암호화된 대이터를 보내기전 클라와 서버는 핸드세이크를 실행.
. 프로토콜 버전 교환
. 양쪽이 알고있는 암호 선택
. 양쪽의 신원인증
. 채널 암호를 위한 임시 세션키 생성


참고 목록:

https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/MIME_types

https://developer.mozilla.org/ko/docs/Web/HTTP/Caching


'server > http' 카테고리의 다른 글

SSL / TLS  (0) 02:48:09
http 통신  (0) 2018.12.07
http 동작 방식  (0) 2018.12.06

WRITTEN BY
No.190
세계정복의 시작점

트랙백  0 , 댓글  0개가 달렸습니다.
secret

c to machin language

app/C 2018.12.07 15:40

'app > C' 카테고리의 다른 글

c to machin language  (0) 2018.12.07
최상위 윈도우 이름 구하기  (0) 2012.12.23
winapi 환경에서 콘솔 띄우기  (2) 2012.12.17
iphone 시간 출력 하기!  (0) 2010.06.28
head first iphone 2장...-_- 슬슬 입질이 온다.  (0) 2010.06.25
head first iphone 1장~  (0) 2010.06.24

WRITTEN BY
No.190
세계정복의 시작점

트랙백  0 , 댓글  0개가 달렸습니다.
secret

http 동작 방식

server/http 2018.12.06 17:16

1. http ?

- 클라이언트와 서버 사이에 이루어지는 요청(request)/응답(response) 프로토콜.

  클라이언트가 HTTP를 통해 서버로부터 웹페이지나 그림을 요청하면, 서버는 이 요청에 응답하여 필요한 정보를 클라이언트에 전달


2. METHOD

  •  GET            지정한 리소스 요청
  •  PUT            리소스 업데이트
  •  DELETE      지정한 리소스를 서버에서 삭제
  •  POST          지정된 서버의 업무를 실행
  •  PATCH       지정된 리소스 업데이트
  •  HEAD         지정한 리소스에 대한 응답에서 HTTP 헤더만을 요청
  •  OPTION      해당 URL의 사용할수 있는HTTP 메소드리스트 반환
  •  CONNECT  서버 연결 확인 


3. 웹브라우저 연결의 기본적인 절차  

1) 웹브라우저는 서버의 URL에서 호스트 명을 추출한다.
2) 추출한 호스트명을 IP로 변환한다. (DNS서버 이용)
3) 웹브라우저는 URL에서 지정한 포트번호가 있다면 추출한다.
4) 웹브라우저는 웹서버와 TCP 커넥션을 맺는다.
5) 웹브라우저는 서버에 HTTP 요청을 보낸다.(http 메소드들 포함) 
6) 서버는 웹브라우저에 HTTP 응답을 돌려준다.
7) 커넥션이 닫히면 웹브라우저는 문서를 보여준다. 


4. 요청에 의해 서버가 하는 일 

1) 커넥션을 맺는다

2) 요청을 받는다 

3) 요청을 처리한다. (http의 메소드에 따름)

4) 리소스에 접근한다. (DB / 이미지 / 파일 등)

5) 응답을 만든다. (헤더 및 바디)

6) 응답을 보낸다

7) 트랜잭션 로그를 남긴다.





참고자료 

https://ko.wikipedia.org/wiki/HTTP

도서 : HTTP 완벽 가이드

'server > http' 카테고리의 다른 글

SSL / TLS  (0) 02:48:09
http 통신  (0) 2018.12.07
http 동작 방식  (0) 2018.12.06

WRITTEN BY
No.190
세계정복의 시작점

트랙백  0 , 댓글  0개가 달렸습니다.
secret

1. 수치형 데이터 시각화

https://www.coursera.org/lecture/probability-intro/visualizing-numerical-data-9kRJf


분산형 계획 :  두개의 변수에 의해 어떠한 변수값에 의해 데이터에 영향을 미치는지 확인


두변수간의 관계에 따른 분산을 통해 4가지 형태로 분류 가능함

  • 방향 : 증가 / 감소

  • 모양 : 선형 / 비선형

  • 연관성 : 강함 / 약함

  • 이상치 : 특정 관계에 따른 그룹화

box plot와 히스토그램은 상호 보안이 가능함

box plot에서 분포의 최고점은 히스토그램에서 중앙값이 되며 꼬리는 각 끝으로 이어져 히스토그램과 같은 분포를 나타내게 된다 


2. 데이터에서 중심(중간)을 나타내는 방식

https://www.coursera.org/lecture/probability-intro/measures-of-center-AM0o6

1. mean : 모집단의 평균 ( 모든 샘플의 합 / 샘플의 갯수 )

2. mode : 최빈값 ( 가장 많이 나오는 값 )

3. median : 가운데 위치한 데이터 ( 정렬 후 가운데 있는 값 ) 

만약 median의 가운데가 두개라면 두수의 평균으로 계산 

left skewed :  mean < median

symmetric   : mean ~= median

right skwed : mean > median


3.데이터의 퍼짐을 나타내는 방식

https://www.coursera.org/lecture/probability-intro/measures-of-spread-t9Wbk

분산 : 데이터가 얼마나 퍼져있는지에 대한 수치

  • 변화량

  • 교차사분위범위


variance(변화량)^2 = (데이터 - 평균)^2 / 데이터갯수 -1

교차사분위범위 ( IQR ) : 3분위 - 1분위

1분위 : 전체데이터의 1/4지점

3분위 : 전체데이터의 3/4지점


4. 엄격한 관찰

https://www.coursera.org/lecture/probability-intro/robust-statistics-ssktR


강력한 통계 (값이 특정 부위에 항상 있음) : median(중앙값), IRQ (교차사분위) - 기울어진 분포, 극한의 관찰 설명

비강력한통계 (값이 어디에 있을지 모름- 데이터 값에 따름): 평균, 표준편차  -  대칭분포 설명


5. 데이터 변환

https://www.coursera.org/lecture/probability-intro/transforming-data-eQa2U

data 가 비선형 형태이거나 정규분포가 아닌 경우에는 통계적 분석을 하는데, 문제가 발생 (선형성 가정이 없기 떄문)

data 를 변환해서 정규분포 형태도 바꿔서 분석하는 방법 ( 로그 변환, 1/y, sqrt(y), 루트 변환등)을 통해 선형데이터로 바꿈


'데이터분석 > coursera' 카테고리의 다른 글

코세라 통계학-2  (0) 2018.12.01
코세라 통계학-1  (0) 2018.12.01

WRITTEN BY
No.190
세계정복의 시작점

트랙백  0 , 댓글  0개가 달렸습니다.
secret

0. 소개

https://www.coursera.org/lecture/probability-intro/introduction-UbGdZ

모집단 -> 샘플 추출 -> 연구 -> 관계유추 -> 데이터 시각화 및 통계 -> 통계데이터 


1. 변수 / 변수타입 / 변수의 관계

https://www.coursera.org/learn/probability-intro/lecture/Q0zu3/data-basics


  • 변수
    • 숫자변수 : 숫자를 사용 사칙연산이 가능한 변수
      • 연속 : 높이
      • 불연속 : 높이를 cm로 표기 
    • 분류 
      • 지정된 분류 : 순서가 중요 (높음/ 중간 / 낮음)
      • 비지정 분류
변수의 관계 : 두개 이상의 변수로 인해 차원을 그릴수 있다면, 해당 변수들은 특수한 관계를 가지게 된다.


2. 상관관계 / 연관관계


  • 관찰 : 직접적인 데이터 수집, 관찰만으로 변수들의 관계 파악
  • 실험 : 랜덤으로 추출된 샘플로 변수와 응답 관계 연결 확인
- 실험에의해  랜덤으로 결정된 샘플은 해당 변수 뿐만 아니라 다른 요인으로 결과값이 나올수 있음
   (선 분류 후 관계 파악)
- 관찰은 해당 변수에만 동작하도록 상황 설정 (선 관계 후 파악)

  • 되풀이 연구 : 과거의 연구 이용
  • 예상 : 연구 절반에 걸쳐 데이터가 수집되는 경우


3. 샘플링과 편향(bias)

https://www.coursera.org/lecture/probability-intro/sampling-and-sources-of-bias-Y96uT


전체 샘플을 조사하는게 베스트지만 돈/시간의 제약

샘플링 : 전체가 아닌 소수만으로 분석 (요리를 할때 전체요리를 다 먹을 필요 없이 한스푼만으로 간을 봄)

             단!! 해당 데이터가 골고루 퍼져 있어야 함 ( 골고루 섞지 않으면 간이 일정하지 않음)


- simple random sample : 전체 모집단 중 무작위 추출

- stratified sample : strata로 구룹필한 곳에서 무작위 추출

- cluster sample : 클러스터로 묶은 집단을 추출

- multistage sample : 클러스터링 한 집단안에서의 무작위 추출


4. 무작위 샘플 할당

https://www.coursera.org/lecture/probability-intro/experimental-design-Jyc3t

random sampling : 모집단에서 특정 데이터만을 샘플링을 통해 결과값을  일반화 

random assignment : 샘플에서 특정 그룹으로 나눌시 해당하는 변수들을 섞어서 실험, 즉 같은 값을 가지고 있는 표본들이 그룹으로 나뉘므로 어떠한 작용이 있는지 알아낼수 있음

일반적으로 random sampling 을 통해 샘플링된 집단에서 특정 변수로 구분하여 다시 random assignment하면 실험에 필요한 집단 두개에 변수들이 고르게 분포 되므로 결과값을 일반화 할수 있음

( 특정 폰트의 가독성을 측정 할 경우 모집단에서 샘플링한 사람들에서 교육차이로 빨강/검정으로 검증후 두 그룹으로 나눌대 교육에의해 군등하게 나누고 폰트 실험을 한다면 어떠한 폰트가 더 잘 읽히는지에 대한 교육의 변수를 알수 있음)

'데이터분석 > coursera' 카테고리의 다른 글

코세라 통계학-2  (0) 2018.12.01
코세라 통계학-1  (0) 2018.12.01

WRITTEN BY
No.190
세계정복의 시작점

트랙백  0 , 댓글  0개가 달렸습니다.
secret

'server > 아키텍쳐' 카테고리의 다른 글

DSR ( direct server return )  (0) 2018.12.11
서버 구조 생각하기  (0) 2018.11.29

WRITTEN BY
No.190
세계정복의 시작점

트랙백  0 , 댓글  0개가 달렸습니다.
secret