<!DOCTYPE html>
<html>
<head>
<title>This is a title</title>
</head>
<body>
<div>
<p>Hello world!</p>
</div>
</body>
</html>
웹브라우저가 클라이언트, 컴퓨터에 실행되는 웹사이트를 호스팅하는 프로그램이 서버.
1. 클라이언트 -> 서버에게 HTTP 요청(request) 메시지를 제출
2. HTML을 비롯한 자원을 제공하거나, 클라이언트를 대신해 기능을 수행하는 서버 -> 클라이언트에게 메세지 제공. 메세지엔 리퀘스트에 대한 진행 현황 포함
HTTP is designed to permit intermediate network elements to improve or enable communications between clients and servers.
InetAddress
socket, ip, port / socketaddress
getallbymain
getipaddress
gethostname / getlocalhost .
인터넷 상의 모든 컴퓨터는 숫자로 된 고유한 주소, IP를 갖고 있다. 숫자로 된 주소를 기억하기 어렵기 때문에 인터넷상에서 위치를 쉽게 찾기 위해 DNS가 개발되었다. DNS는 IP주소를 영문과 숫자 조합으로 구성해 기억하기 쉬운 고유한 도메인 이름으로 변경해준다. IP주소를 치지 않고도 www.naver.com 을 통해 웹사이트에 접속할 수 있는 것이다.
각 웹서버는 고유한 '문자 형태의 IP 주소'를 갖고 있으며, 이것을 'IP 주소'로 전환하는 것이 DNS resolution, DNS Lookup 이라고 하는 과정이다.
DNS란, Domain Name Service를 뜻한다.
브라우저 검색창에 naver.com이라고 입력하면 클라이언트 PC는 DNS 서버에 네이버의 ip주소를 요청하게 되고, 해당 통신사의 DBS 서버는 해당 ip주소를 클라이언트 pc에 제공한다. 클라이언트 pc는 이 ip 주소를 받아 라우터를 통해 목적지에 접속한다.
https://library.gabia.com/contents/domain/4005/
https://m.blog.naver.com/kangyh5/221701387941
domain -> IP 주소 가져오기
InetAddress 클래스의 getByName(String domain) 메서드
https://adrian0220.tistory.com/106
IP 주소 -> domain 가져오기
InetAddress ip = InetAddress.getByName("IP주소 숫자들");
System.out.println(ip.getHostName());
https://www.joinc.co.kr/w/Site/Network_Programing/Documents/IntroTCPIP
Internet Protocol Suite은 인터넷과 컴퓨터 네트워크에 쓰이는 통신 프로토콜의 개념적 모델. 이것의 기초적인 프로토콜인 TCP/IP로도 일반적으로 알려져있다.
https://recipes4dev.tistory.com/153
전기 콘센트처럼 연결부를 생각하면 된다. 프로그램이 네트워크에서 데이터를 송수신할 수 있도록 만들어진 연결부가 소켓이다. 네트워크 연결을 위한 소켓도 정해진 규약, 프로토콜을 만족시켜야 한다. 보통 OSI 7계층에서 4번째 계층인 TCP 상에서 동작하는 소켓을 주로 사용하는데, 이를 TCP 소켓, 또는 TCP/IP소켓이라고 부른다.
클라이언트 소켓은 처음 소켓을 (1) 생성한 다음, 서버 측에 (2)연결을 요청한다. 그리고 서버 소켓에서 연결이 받아들여지면 데이터를 (3)송수신하고, 모든 처리가 완료되면 소켓을 (4)닫는다.
서버소켓은 첫번째로 소켓을 (1)생성하고, 생성한 소켓에 서버가 사용할 IP주소와 포트번호를 (2)결합한다. 그 다음 클라이언트로부터 연결요청이 수신되는지 (3)주시하고, 요청이 수신되면 요청을 (4)받아들여 데이터 통신을 위한 소켓을 생성한다. 새로운 소켓을 통해 연결이 수립되면, 데이터를 (5)송수신한다. 데이터 송수신이 끝나면 소켓을 (6) ㄷㄷ는다.
커맨드라인 쉘 입문자를 위한 생존 가이드
API 디자인 원칙
인터넷이 동작하는 구체적 원리 Articles 다 읽어보기