일단 씻고 나가자

23.08.04 본문

Study/닥치는 대로 주워 담기

23.08.04

일단 씻고 나가자 2023. 8. 4. 23:27

2023. 08. 04 금요일

 

- [Effective Java] bit field란 무엇이며, 그의 대체?

: Util class에서 변수를 일반 정수가 아닌 비트값으로 선언하는 것을 말한다.

(1,2,3,4 -> 1,2,4,8) 이는 리눅스의 chmod처럼 해석하는 데에 이점을 가져온다.

단 비트 필드는 대부분의 경우에서 사용되지 않으며, enum set을 사용하는 것이 권장된다.

 

 

- URL, URI 차이? HTTPS? 네트워크 보안 2가지 방법?

: Uniform Resource Location/Identifier.

URI의 하위 개념이 URL으로, URI는 유니크한 데이터의 정보까지 표기한다.

, www.site.com 까지가 url, www.site.com?id=me&pw=123 까지가 uri.

 

HTTP 통신은 헤더를 누구나 확인할 수 있기 때문에 보안의 이슈가 발생.

따라서 443 포트를 쓰는 https://를 사용. HTTP 프로토콜에 SSL 또는 TLS 프로토콜을 통해 데이터를 암호화하여 송수신한다.

웹 브라우저를 널리 퍼트린 넷스케이프사에서 SSL 프로토콜을 만들었고, 이것이 유용했기에 표준으로 만들었지만 국제 표군화 과정에서 SSL이 상용 제품 이름으로 등록이 되어 있었기 때문에 TLS로 이름을 바꿈.(SSL == TLS)

 

네트워크 보안에는 대칭키(비밀키), 비대칭키(공개키, 개인키)가 있다.

대칭키는 하나의 키로 암호화 및 복호화를 하는 과정인데, 서버에서도 키를 알아야 복호화를 통한 plain text를 알 수 있으므로 한 번은 키를 보내는 과정이 필요하게 된다.

이때 해킹을 당하면 이후의 모든 통신이 해킹을 당할 수 있으므로 문제가 생긴다.

 

비대칭키는 공개키를 공개하고, 송신 쪽에서 공개키를 통해 암호화하여 수신 쪽으로 보내면 해당 데이터는 수신의 개인키로만 복호화가 가능하고 따라서 수신 쪽만 알 수 있다.

키를 줄 과정이 필요 없어지게 되고, 다만 복잡한 수식 계산으로 속도가 조금 느리다.

 

비대칭키 중 개인키로 암호화하는 경우도 있는데, 이는 개인키로 암호화 후 공개키로 복호화하기 때문에 누구나 데이터를 알 수 있다. 이 경우는 데이터보다는 송신측이 누구냐에 초점을 둔 방법으로, 송신의 공개키로 데이터가 열린다면 송신이 보낸 것이 확실하다는 것에 입각한다.

 

 

- REST, REST API, RESTful? 마이크로 서비스?

: 자원을 표현에 의한 상태를 전달하는 것(REST). 이를 구현한 APIREST API라 하며, url을 어떻게 구현할 것이냐에 대한 비공식적인 규칙을 RESTful. (가이드)

마지막에 “/” 미포함, 언더바 대신 - (줄에 가려서 안 보이는 것 방지), 소문자 사용 등등

하나의 도메인에서 일어난 일이라고 해도, 카테고리 별로 서버를 나누는 것.

(네이버 -> 기사, 스포츠, 등등을 서버를 나누어 구현)

 

 

'Study > 닥치는 대로 주워 담기' 카테고리의 다른 글

23.10.05  (0) 2023.10.06
23.10.04  (0) 2023.10.04
23.08.03  (0) 2023.08.04
23.08.02  (0) 2023.08.03
23.08.01  (0) 2023.08.02