인터넷에 연결되어 있는 모든 장치들(컴퓨터, 서버 장비, 스마트폰 등)을 식별할 수 있도록 각각의 장비에게 부여되는 고유 주소
즉, 인터넷에 연결된 모든 컴퓨터는 IP(주소)를 갖는다.
현재 전세계적으로 보편화되어 사용되는 IP 버전은 IPv4
하지만, 확장성과 용량 면에서 한계를 보이는 IPv4를 대체할 버전은 IPv6
= IP 주소를 사람들이 이해하기 쉽게 문자료 표현한 것
도메인은 웹페이지 URL에 포함된다.
운영 체제 통신에서의 종단점
IP Address를 통해 목적지 호스트까지 도달한 후에는 어떤 프로세스(Process)에서 데이터를 받을 것인지 를 알아야 하는데 이 때 쓰이는 것이 포트번호(Port Number)다.
- 웹 브라우저에 www.naver.com 입력.
- 사용자가 입력한 URL 주소 중 도메인 네임 부분을 DNS 서버에 검색하고, DNS서버에서 해당 도메인 네임에 해당하는 IP주소를 찾아온다.
- HTTP 프로토콜을 사용하여 페이지 URL정보와 찾아온 IP주소를 포함하는 HTTP 요청 메세지를 생성하고, 생성된 HTTP 요청 메세지는 TCP 프로토콜을 사용하여 인터넷 망을 통해 해당 IP주소의 컴퓨터로 전송된다.
- HTTP 요청 메세지를 받은 컴퓨터(서버)는 웹 페이지 URL 정보 중 PATH와 HTTP Method에 맞는 액션을 취한다. (여기서는 naver 페이지를 띄우기 위해 필요한 html 등의 리소스를 찾을 것이다.)
- 생성된 응답 데이터는 또 다시 HTTP 프로토콜을 사용하여 HTTP 응답 메세지로 만들어지고 TCP 프로토콜을 사용하여 인터넷 망을 통해 요청했던 컴퓨터(클라이언트)로 전송된다.
- 도착한 HTTP 응답 메세지는 웹 브라우저에 의해 브라우저 렌더링 과정을 거쳐 화면에 출력되어 사용자가 볼 수 있게 된다.
클라이언트와 서버 간의 자원을 교환하기 위한 TCP/IP 기반 통신 프로토콜(규약, 약속)
여기서 TCP/IP는 간단하게 말하자면
TCP는 '패킷을 안전하게 전달해주는 전송 프로토콜' 인데
IP + TCP = 인터넷 프로토콜 + 전송 제어 프로토콜 이다.
단방향성 이라는 것과 비연결성이라는 특징이 있다.
서버가 먼저 응답을 보낼 수 없고 클라이언트가 요청을 보내야만 응답할 수 있고
클라이언트의 요청으로 서버와 연결된 후, 요청에 대한 응답의 데이터를 전송하면 연결을 할 수 없다.
따라서, 실시간 통신을 할 수 없다.
HTTP는 평문 통신이기 때문에 도청이 가능하다.
통신 상대가 검증된 상대인지 확인하지 않기 때문에 위장이 가능하고, 완전성을 증명할 수 없기 때문에 변조가 가능하다.
그래서 HTTP는 보안에 취약하고, 이러한 문제점을 해결하기 위해 HTTPS가 등장한다.
HTTP(HyperText Transfer Protocol)의 보안(Secured)버전
SSL/TLS 프로토콜을 사용해 HTTP를 암호화하여 주고 받을 때 쓰는 통신 프로토콜
만약 내가 https로 홈페이지를 만들라면 인증기관에서 인증기관 인증서를 발급 받아야 한다.
무료가 있고 유료가 있는데... 자세한건 나도 잘 모르겠다.
사실 http 까지는 어느정도 이해했지만
https는.. 뭐 인증기관에 정보랑 키 보내고 받고
대칭키 공개키 가지고 사용자랑 주고받으면서
서로 데이터를 안전하게 통신한다...? 라는 것만 대충 알겠다...
http://hgworld.com