오늘의 단어

inevitably / entire / contemporary / decade / undone

 

 

inevitably

아니나 다를까, 예상한 대로, 필연적으로

 

예문

Inevitablyit rained on the day of the wedding.

아니나 다를까, 결혼식 날 비가 왔다.

 

This measure inevitably means higher taxes in the long run.

이 조치는 장기간에 걸쳐 필연적으로 세금이 오를 것이다.

 

 

entire

전체의, 온

 

예문

I spent the entire day in bed.

나는 온 종일 침대에서 하루를 보냈다.

 

Well it looks like it’s going to rain the entire week.

글쎄, 한 주 내내 비가 올 것 같은데.

 

I have never in my entire life heard such nonsense!

나는 내 평생 동안 그런 터무니없는 말은 들어본 적이 없다!

 

 

contemporary

동시대의, 현대의, 당대의

 

예문

Contemporary UK drill is being treated as if what it speaks about is literal truth.

현대의 영국 드릴은 그것이 무엇을 말하면 틀림없는 사실인 것으로 취급되고 있다.

 

We have no contemporary account of the battle.

그 전투에 대한 동시대의 기록은 없다.

 

 

decade

10년

 

예문

In the last decade, drill music has become ever more popular while inspiring debates over its links to violence.

지난 10년 간, 드릴 음악은 폭력과의 연관성에 대한 논쟁을 불러일으키며 더욱 인기를 얻었다.

 

Two thirds of the region has been deforested in the past decade.

지난 10년 동안 그 지역의 3분에 2에 해당하는 면적에서 삼림이 파괴되었다.

 

 

undone

1. 잠기지 않은

2. 끝나지 않은

3. 완전히 실패한

 

예문

He felt very embarrassed when he realized that his fly was undone.

그는 그의 바지가 잠기지 않은 것을 깨닫고 매우 당황했다.

 

Most of the work had been left undone.

대부분의 일이 끝나지 않은 채 방치되어 있었다.

 

But by March 1967 he himself admitted that much of his work had already been undone.

그러나 1967년 3월 그는 그 스스로 자신의 많은 일들이 이미 완전히 실패했다는 것을 인정했다.

 

 

오늘의 단어

anticipate / unanticipated / prepare / potential / available

 

 

anticipate

(<-> unanticipated)

1. 예상하다, 예측하다

2. 기대하다, 고대하다

 

예문

Anticipating his arrival, the intersection around Trump Tower was thronged with New Yorkers and tourists alike.

그의 도착을 예상하며 트럼프 타워 주변에는 마찬가지로 뉴욕 시민들과 관광객들이 모여들었다.

 

I anticipate that I will get a letter from my friend in England.

나는 내가 영국에 있는 나의 친구에게 편지를 받기를 기대하고 있다.

 

 

unanticipated

(<-> anticipate)

기대[예상] 하지 않은

 

예문

There were some unanticipated side effects.

예상치 못한 부작용이 있었다.

 

Howeverthere is no basis for believing that technology will not cause new and unanticipated problems while solving the problems that it previously produced.

그러나 과학기술이 이전에 발생한 문제를 해결하는 과정에서 새로운 예상하지 못한 문제를 일으키지 않을 거라고 믿을만한 근거는 전혀 없다.

 

 

prepare

1. 준비하다[시키다]

2. 대비[채비/각오]하다

 

예문

How quickly can you prepare the paperwork?

얼마나 빨리 서류를 준비할 수 있으신가요?

 

Teachers need to prepare their students to deal with real-world situations outside the classroom.

선생님들은 학생들에게 교실 밖의 현실의 상황에 대처할 수 있는 대비를 시켜주어야 한다.

 

 

potential

1. 가능성 있는, 잠재적인

2. 가능성, 잠재력

 

예문

She has great potential as an artist.

그녀는 화가로서 대단한 가능성을 가지고 있다.

 

At a news conference on Monday, New York City Mayor Eric Adams warned any potential "rabble-rousers" to "control yourselves".

월요일 기자회견에서 뉴욕시장 에릭 애덤스는 잠재적인 "폭동꾼들"에게 "자신을 통제하라."라고 경고했다.

 

All children should be encouraged to realize their full potential.

모든 아이들은 자신의 가능성을 충분히 발휘할 수 있도록 격려해야 한다.

 

 

available

1. 구할 수 있는

2. 시간[여유]이 있는

 

예문

This was the only room available.

이것이 구할 수 있는 유일한 방이었다.

 

Dozens of media crews had set up camp on every available corner while at least five news helicopters hovered high over Fifth Avenue.

최소 5개의 뉴스 헬기가 5번 진입로의 상공을 맴도는 동안, 다수의 언론 직원들은 여유 있는 구석마다 진을 쳤다.

 

 

클라이언트에서 서버에 로그인 요청을 보내고 서버에서 로그인의 성공 응답을 보내주는 로그가 있다고 가정해보자.

로그인 인증정보가 맞다면 사용자는 화면에서 로그인을 성공했다는 화면을 확인 할 수 있다. 그런데 우리는 서버로부터 로그인 성공 화면 외에도 다른 것들을 받는다. 그 대표적인 것으로 쿠키(cookie)가 있다.

 

쿠키

쿠키서버에서 클라이언트로 보내져서 브라우저에 저장되는 아주 작은 크기의 데이터이다.

쿠키는 속성을 나타내는 키와 그 속성에 해당되는 값을 가지고 있으며, 명시된 유효기간이 만료된 시점에 브라우저에서 삭제되는 특징을 가지고 있다.

우리가 로그인을 성공한 이후의 작업을 가정해보자. 쇼핑사이트를 예시로 들면 장바구니를 이동하거나 여러 물품을 검색하거너ㅏ 개인정보를 수정하는 등 페이지를 이동할 것이다. 클라이언트가 자유롭게 페이지를 이동하며 여러가지 자원을 활용할 수 있는 이유는 로그인을 성공하여 회원임을 인증하였기 때문이다. 그러나 장바구니에 이동하는 회원이 로그인을 성공했다는 것을 클라이언트와 서버가 요청 자체는 기억하지 못한다. HTTP 통신에서는 각각의 요청과 응답이 독립적이다. 그렇기 때문에 이전의 작업을 기록하지 못한다. HTTP는 각각의 요청과 응답이 종료되었을 때, 연결이 지속되지 않고 상태를 기억하지 않는다는 특징을 가지고 있는데 이것을 Stateless 혹은 무상태성이라고 한다. 수천 명, 수만 명이 동시에 서버에 접속하면 거대한 컴퓨팅 리소스를 하게 되며 서버가 온전히 버틸 수 없는 상태가 될 것이다. 그렇기 때문에 Stateless 속성이 리소스 측면에서는 효율적이다. 그리고 요청을 어딘가에 남기기 위해 고안된 것이 바로 쿠키이다.

 

서버가 클라이언트에게 작업을 성공해서 데이터를 보내겠다는 쿠키를 보내면, 쿠키를 받은 클라이언트는 로그인을 하고 다른 페이지로 이동해도 로그인이 풀리지 않게 된다. 쿠키가 없었다면 페이지를 이동할 때마다 로그인을 해야할 것이다. 브라우저에 저장된 쿠키에 의해 클라이언트는 로그인 했거나 장바구니에 물건을 추가하는 등 서버와 있었던 작업들을 받게 되고 서버는 다시 클라이언트에서 보낸 쿠키 정보에 따라 작업을 기억하고 다시 브라우저에 내용을 띄워주는 역할을 한다.

그러나 쿠키는 취약점이 노출되거나 악의적인 공격에 악용될 수 있어 민감한 데이터들은 최대한 남기지 않도록 해야한다. 서버에서만 쿠키값을 조작할 수 있도록 하는 httpOnly 옵션이나 보안연결에서만 쿠키값을 전송하는 secure를 활용하는 것이 좋다. 해킹이나 사용자 변조, 위장의 피해가 발생하지 않도록 하기 위해 개발자로 하여금 쿠키를 적절하게 활용하는 것이 중요하다.

 

 

세션

쿠키의 한계점을 보안하기 위해 나온 개념이다.

클라이언트에서 로그인 요청을 보내고 성공하게 되면 서버에서는 여러가지 정보들을 주는 것이 아니라 세션 아이디만 쿠키에 실어보낸다. 클라이언트의 상태를 나타내는 나머지 쿠키 데이터들은 서버 측의 세션 저장소에서 가지고 있는다. 클라이언트에서 불필요한 민감 정보나 보안에 접촉되는 데이터를 담지 않고 서버에서 세션 아이디를 받고 그 세션 아이디에 해당되는 정보를 찾아 활용하게 된다.

만약 로그인 이력이 있는 브라우저에서 다시 로그인 요청을 하게 되면 서버에서 세션 아이디가 세션 저장소에 있는지 먼저 찾아보고 아이디가 있다면 거기에 저장된 상태 데이터들을 기반으로 클라이언트에 응답한다.

세션은 민감한 정보가 클라이언트에 저장되거나 노출되어 변조되는 것을 방지하고 클라이언트가 매번 요청 시에 쿠키값을 보내는 리소스 비용을 절감한다. 그런데 세션 저장소는 서버 측 입장에서는 또하나의 비용이 들 수 있다. 그래서 서버 측에서 세션 저장소를 운용하는 가용성과 설계가 서버 성능에 영향을 미치거나 운영비에 변동을 줄 수 있다.

 

 

'Back-End > Java' 카테고리의 다른 글

Spring Boot  (0) 2023.05.26
IP와 Port 그리고 DNS  (0) 2023.05.25
HTTP 통신과 URL  (0) 2023.05.23
Web - 클라이언트와 서버  (0) 2023.05.22
예외 - 예외 처리  (0) 2023.05.19
HTTP와 URL

광활한 인터넷 세계에서 클라이언트와 서버가 통신하기 위해서는 일정한 규칙이 필요하다.

웹브라우저에서 URL이라는 주소 양식을 통해 클라이언트와 서버가 통신하는 규칙HTTP라고 한다.

 

HyperText Transfer Protocol

하이퍼텍스트 전송규칙(규약)

하이퍼텍스트는 다른 페이지, 혹은 리소스로 이동할 수 있는 링크를 뜻한다. 인터넷 세상에서 각종 데이터들을 조회하고 활용하기 위해서는 여러 개의 페이지를 드나들 수 있어야한다. 그러기 위해 웹페이지 내에서 다른 페이지로 이동할 수 있도록 하는 것을 하이퍼텍스트라고 이름을 붙이게 되었다.

 

Uniform Resource Locator

인터넷 상에 위치하고 있는 각종 자원들의 주소 체계를 가르키는 말이다. 서버에 저장된 웹페이지, 혹은 유튜브의 비디오, 음악의 음성 등 모두 URL을 가지고 있다.

 

아래 링크를 예시로 URL의 구조를 살펴보자.

https://coding-study-o-o.tistory.com/43

프로토콜(Protocol)

통신 규칙을 정해 포함을 시키며 HTTP(HTTPS), FTP 등이 있다. 일반적으로 보안 처리가 되어있는 HTTPS 방식으로 통신하기 때문에 대부분의 http에 s가 붙어있다.

 

https://coding-study-o-o.tistory.com/43

호스트(Host)

서버의 주소

호스트 네임이나 루트 도메인이라고 지칭하기도 한다.

 

https://coding-study-o-o.tistory.com/43

경로(Path)

슬래쉬( / ) 뒤에 붙는 것.

호스트 내 서비스의 위치를 가르킨다. 서비스 별로 분할되는 경우가 많다.

 

쿼리 문자열(Query String)

위의 주소에는 없지만 ? 기호로 시작하고 &로 연결되는 URL 규칙이 있다. 키/값 쌍으로 구성되어있다.

쿼리 문자열은 연달아 붙일 수 있다. 입력한 검색어 뿐만 아니라 검색 기관이나 검색 조건을 연속적으로 구성할 수 있다.

 

 

'Back-End > Java' 카테고리의 다른 글

IP와 Port 그리고 DNS  (0) 2023.05.25
쿠키와 세션  (0) 2023.05.23
Web - 클라이언트와 서버  (0) 2023.05.22
예외 - 예외 처리  (0) 2023.05.19
객체지향 - 객체지향 프로그래밍  (0) 2023.05.18

+ Recent posts