■ 온라인에서의 사용자 경험 향상 인터넷 쇼핑몰을 이용하다보면 접속만 했는데도 로그인이 되는 경우가 있다. 심지어 아직 로그인을 하지 않았는데도 이전에 접속해서 쇼핑 카트에 담아두었던 물건 목록들이 그대로 남아있을 때도 있다. 로그인한 상태라면 로그인 했었던 정보를 가지고 쇼핑 카트의 정보를 남겨놓을 수도 있겠지만 로그인을 하지도 않았는데 어떻게 이런 일이 가능한 것일까? 앞에서 공부한 HTTP의 특성을 살펴보면 더더욱 이해가 되지 않는다. 왜냐하면 HTTP는 클라이언트의 상태를 저장하지 않는 stateless(무상태) 성질을 갖기 때문이다. 그래서 HTTP는 기본적으로 이러한 상태 저장 기능을 제공하지 않기 때문에 쿠키(Cookies)라는 것이 새로 개발되었다. ■ 상태를 저장하는 쿠키(Cookies)..
■ HTTP Message HTTP 메시지(Message)는 클라이언트 request와 서버 response 2가지로 이루어지는데 구성되는 형태는 위 그림과 같다. 처음에 위치한 method는 특정한 명령어에 해당한다. 가령 GET이라는 method는 클라이언트가 어떤 데이터를 가지고 싶을 때 사용한다. 다른 method들에 대해서는 뒤에서 다시 알아보자. method 다음에는 URL을 작성해서 어떤 오브젝트에 대한 요청인지 적게 되어있다. 그 뒤에는 HTTP 버전을 작성하는데 1.1버전인지 2버전인지 등 어떤 버전의 HTTP를 사용하고 있는지 적는 곳이다. 다음 줄의 header lines에서는 어떤 host에게서 데이터를 가져오고 싶은가를 적는다. header field name에는 어떤 정보의 종류..
■ World Wide Web (WWW) 월드 와이드 웹(World Wide Web)은 팀 버너스 리가 1990년에 처음 제안을 해서 만들어진 것이다. 웹 페이지에는 텍스트도 있고 그림들도 있고 여러가지 오브젝트(objects)들이 섞여 있다. 이 오브젝트에는 문서 파일, JPEG 이미지 파일, 자바코드, 오디오 데이터 등이 있다. 그렇다면 웹 페이지는 어떻게 기술이 될까? 바로 HTML이라는 프로그램 언어로 기술된다. 위 그림의 HTML 파일을 보면 다양한 오브젝트들을 포함하고 있다. 이런 오브젝트들은 URL(Uniform Resource Locator)이라고 하는 방식으로 나타낸다. URL은 사용자가 얻으려고 하는 데이터가 어디에 위치해 있는지 정확한 규칙에 따라 표현하는 방식이다. 위의 예시로 주어..
● 1990~2000 미 국방성은 단순 군사 작전에만 알파넷을 사용하는 것이 아니라 무기 개발 연구에도 사용하기 위해 과학자들이 사용할 수 있는 연구용 목적으로도 필요성을 느꼈다. 그래서 알파넷을 밀 넷(MILNET, Military Net)이라는 군사형 네트워크와 NSFNET(National Science Foundation)이라는 과학자들이 사용하는 네트워크로 나누었다. 하지만 이 둘 모두 일반인들이 사용하는 네트워크는 아니었다. 그러다 이 인터넷을 일반인들도 상업적으로 사용하면 좋겠다는 이야기가 나오기 시작했는데 이 2개의 네트워크 중 군사적 목적인 밀 넷이 아닌 NSFNET을 개방하기로 하였다. 이와 비슷한 시기의 90년대 초반에 유럽 물리학 연구소의 팀 버너스 리(Tim Berners-Lee)라..
■ 인터넷의 역사 ● 1961~1972 본격적으로 인터넷이 서비스 되기 전에 사람들은 어떤 식으로 멀리 있는 컴퓨터에 데이터를 전달할 것인지 연구했다. 처음에는 전화망이 있었고 이 전화망은 회선 교환(circuit switching) 방식으로 데이터를 전달했었다. 하지만 회선 교환 방식으로는 많은 양의 데이터를 많은 수의 사용자들에게 서비스 할 수 없을 것이라고 생각해 패킷 교환망이 개발되었다. 패킷 교환망의 이론적 기반은 Leonard Kleinrock 교수가 개발하였고, 미 국방성의 ARPAnet(Advanced Research Project Agency)라는 기관에서 알파넷이라는 이름의 네트워크를 개발하게 되었다. 1972년에 처음으로 알파넷 데모(demo)를 했었는데 이 때는 단 4개의 노드만으로..
■ 회선 교환과 패킷 교환의 비교 ● 서비스 제공자가 선호하는 패킷 교환 회선 교환과 패킷 교환 중에 어느 방식이 더 나을까? 그것은 누구의 관점이냐에 따라 나뉜다. 인터넷 서비스를 제공하는 사업자 입장이라면 패킷 교환 방식이 더 낫다. 왜냐하면 패킷 교환 방식은 더 많은 사용자를 수용할 수 있기 때문이다. 그림과 함께 예시를 살펴보자. 우리가 실제 인터넷을 사용할 때 인터넷을 통해 데이터를 주고 받는 시간은 전체 시간에서 많은 비중을 차지하지 않는다. 여기서 데이터를 주고 받는 시간이란 페이지 내 어떤 링크를 클릭하거나 검색창에 어떤 내용을 입력하여 새로운 데이터를 서버로부터 받아오는 시간을 의미한다. 만약 회선 교환 방식으로 네트워크를 구성할 때, 링크의 capacity(용량)은 1 Mbps이고 한 ..
■ Communication link : 유선 방식 유선 링크는 twisted pair cable, coaxial cable, optical fiber의 순서로 발전을 해왔다. ● Twisted pair cable Twisted pair cable은 옛날에 전화가 발명될 때부터 사용되었던 것이고 이것을 번역하면 쌍 꼬임 선이라는 뜻이다. 2개의 절연된 구리선이 꼬여있기 때문에 이러한 이름이 붙여진 것이다. 그렇다면 이렇게 구리선을 꼬아놓은 이유는 무엇일까? 보통 전기 회로에서 디지털 데이터를 전달할 때 보면 받은 쪽에서 전류의 전압을 측정해서 어떤 기준 값보다 높으면 1이고 낮으면 0으로 판단한다. 하지만 Twisted pair cable에서는 그렇지 않고 2개의 구리선에 흐르는 전류의 전압 차이가 어떤..
■ 네트워크 엣지(Network edge)란 무엇인가? 네트워크는 크게 구조적으로 두 부분으로 나누어 볼 수 있다. 하나는 네트워크 엣지, 다른 하나는 네트워크 코어이다. 네트워크 엣지는 단어 그대로 네트워크의 말단(edge) 부분으로서 사용자들이 직접 사용하는 네트워크를 말한다. 스마트폰으로 사용되어지는 모바일 네트워크, 각 가정에서 쓰는 홈 네트워크, 학교나 기업에서 사용하는 기관 네트워크 등이 엣지에 해당하는 부분이다. 그리고 코어는 이런 엣지 네트워크들을 서로 연결 해 주기 위해 중간에 있는 네트워크이다. 네트워크 엣지 1. hosts : 클라이언트 컴퓨터와 서버 컴퓨터들 2. 데이터 센터에 있는 여러 개의 서버들 네트워크 코어 라우터와 스위치 등 중간에서 네트워크들을 연결해주는 역할 ■ 액세스 ..
- Total
- Today
- Yesterday
- java
- 프로그래밍
- 알고리즘
- C언어
- 컴퓨터이론
- 컴퓨터기초
- 컴퓨터 네트워크
- 인터넷
- 코드 리뷰
- 백준 풀이
- C++
- 컴퓨터공학
- 웹개발
- 알고리즘 문제
- 코딩
- 코딩테스트
- TCP
- It
- 알파넷
- 코딩 테스트
- Servlet
- 네트워크
- 컴퓨터
- 백준
- 컴퓨터과학
- jsp
- 서블릿
- 컴퓨터과학과
- 자바
- 컴퓨터공학과
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |