21021

Jung·2021년 2월 1일
0

TIL

목록 보기
9/16

HTML이란?

  • 웹브라우저 에 보이도록 디자인되는 문서의 표준 마크업 언어
  • 웹브라우저는 웹서버/지역저장소(Local Storage)로부터 HTML 문서를 수신하고 이 문서를 멀티미디어 웹 페이지로 렌더 한다.
Web Browser이란? 크롬, 사파리 등 WWW의 정보에 접근하는 소프트웨어 프로그램. 사용자가 특정 사이트로부터 웹페이지를 요청하면, 웹브라우저는 웹서버로부터 필요한 컨텐츠를 가져와 사용자의 기기에 페이지를 보여준다.
Web Server이란? Client의 HTTP 리퀘스트를 충족시키는 서버 소프트웨어, 또는 이 소프트웨어를 수행하는데 동원되는 하나 이상의 컴퓨터들을 말한다. 웹서버의 주요 기능은 클라이언트에게 웹콘텐츠/웹리소스/웹페이지를 저장, 가공, 전달하는 것이다.
Render이란? 컴퓨터 프로그래밍을 통해 이미지를 생성하는 과정

HTML 예시

<!DOCTYPE html>
<html>
  <head>
    <title>This is a title</title>
  </head>
  <body>
    <div>
        <p>Hello world!</p>
    </div>
  </body>
</html>

HTML의 Delivery

  • HTML문서는 다른 컴퓨터 파일들이 전송되는 것과 비슷한 수단으로 전송될 수 있다. 다만, 웹서버로부터 HTTP나 이메일을 통해 주로 전송된다.

HTTP란?

  • HTTP는 WWW의 데이터 커뮤니케이션의 토대이다. WWW는 HTTP를 이용해 웹서버로부터 웹브라우저로 전송되는 HTML 문서들로 주로 구성돼있다.
  • HTTP는 HTML뿐만 아니라 이미지, 소리, 등 다른 컨텐츠를 Serve하는데 쓰인다.
  • HTTP functions as a request–response protocol in the client–server computing model. A web browser, for example, may be the client and an application running on a computer hosting a website may be the server. The client submits an HTTP request message to the server. The server, which provides resources such as HTML files and other content, or performs other functions on behalf of the client, returns a response message to the client. The response contains completion status information about the request and may also contain requested content in its message body.

웹브라우저가 클라이언트, 컴퓨터에 실행되는 웹사이트를 호스팅하는 프로그램이 서버.
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 .

DNS이란?

인터넷 상의 모든 컴퓨터는 숫자로 된 고유한 주소, 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

JAVA에서 도메인을 통한 IP주소 가져오기

  1. domain -> IP 주소 가져오기
    InetAddress 클래스의 getByName(String domain) 메서드
    https://adrian0220.tistory.com/106

  2. IP 주소 -> domain 가져오기
    InetAddress ip = InetAddress.getByName("IP주소 숫자들");
    System.out.println(ip.getHostName());

TCP/IP이란?

https://www.joinc.co.kr/w/Site/Network_Programing/Documents/IntroTCPIP
Internet Protocol Suite은 인터넷과 컴퓨터 네트워크에 쓰이는 통신 프로토콜의 개념적 모델. 이것의 기초적인 프로토콜인 TCP/IP로도 일반적으로 알려져있다.

Socket 소켓이란?

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 다 읽어보기

0개의 댓글

관련 채용 정보