자바의 정석 16장 네트워킹

네트워킹이란? 두 대 이상의 컴퓨터를 케이블로 연결하여 네트워크를 구성하는 것을 말한다. 네트워크는 컴퓨터들을 서로 연결하여 데이터나 자원을 공유하기 위해 만들어졌다.

클라이언트와 서버

클라이언트와 서버의 관계는 네트워크 상의 역할을 분류한다. 서비스를 제공하는 컴퓨터가 서버, 받는쪽이 클라이언트다. 서버는 제공하는 서비스에 따라 웹서버, 메일서버, 파일서버 등으로 나뉘어지고 한 서버가 여러 서비스를 제공하는 경우, 또 한 서비스를 여러 서버가 제공하는 경우도 있다.

서버는 서비스를 제공하기 위해 서버 프로그램이 필요하고 클라이언트 또한 서비스를 받기위한 클라이언트 프로그램이 필요하다. 웹브라우저 또한 웹서버에서 정보를 받아와 보여주는 클라이언트 프로그램이다. 토랜트같은 프로그램의 경우에는 서버와 클라이언트 프로그램의 역할을 동시에 수행한다.

IP주소

IP주소는 컴퓨터를 구별하는 고유한 값으로 4개의 정수로 이루어져 있고 한 정수는 1byte, 혹은 8bit 값을 넘지 않는다(0~255).

IP주소는 다시 네트워크 주소와 호스트 주소로 나눌 수 있고 서로 다른 두 호스트의 네트워크 주소와 호스트 주소가 같다는 것은 두 호스트가 같은 네트워크 안에 있다는 의미이다. 네트워크가 어떻게 구성되었느냐에 따라 한 IP주소 안에 네트워크 주소와 호스트 주소의 크기를 결정하는데, 네트워크 주소가 차지하는 자리수가 많을수록 호스트 주소의 범위가 줄어들어 네트워크의 규모가 작아지는 상관관계에 있다.

URL

URL stands for Uniform Resource Locator. 인터넷에 존재하는 여러 서버들이 제공하는 자원에 접근할 수 있는 주소를 표현하기 위한 것이다.

![file:///Users/sallyoh/Downloads/Untitled (4).jpg?lastModify=1614044521](file:///Users/sallyoh/Downloads/Untitled (4).jpg?lastModify=1614044521)

소켓 프로그래밍