41. HTTP/네트워크 기초 -1

홍인열·2021년 10월 18일
0
post-thumbnail

전반적으로 개념이 안잡혔다. 아직 익숙한 개념이 아니라그런건지 모르겠지만.. 문제는 풀어지는데 확실히 안다고할수 없는 수준이다. 반복해서 접해봐야 익숙해지고 개념도 재대로 잡힐 것 같다.

클라이언트와 서버

  • 클라이언트(Client) : 리소스를 요청하거나 전달 받은 리소스를 사용하는 앱
  • 서버(Server) : 요청받은 리소스를 클라이언트에게 전달하는 앱

프로토콜

클라이언트가 요청하는 내용을 서버가 이해할 수 있어야 응답이 가능할 것이다.
이를 위해 존재하는 것이 프로토콜이라는 것이고, 프로토콜은 통신규약으로 일종의 약속이다. 즉! 클라이언트와 서버간 통신을 위해 프로토콜을 사용하면 서로 내용을 이해할수 있다.

주요 프로토콜

OSI 7Layer(?)를 기준으로

응용계층 프로토콜

프로토콜 이름설명
HTTP웹에서 HTML, JSON등의 정보를 주고받는 프로토콜
HTTPSHTTP에서 보안이 강화된 프로토콜
FTP파일 전송 프로토콜
SMTP메일을 전송하기 위한 프로토콜
SSHCLI 환경의 원격 컴퓨터에 접속하기 위한 프로토콜
RDPWindows 계열의 원격 컴퓨터에 접속하기 위한 프로토콜
WebSocket실시간 통신, Push 등을 지원하는 프로토콜

전송계층 프로토콜

프로토콜 이름설명
TCPHTTP, FTP 통신등의 근간이 되는 인터넷 프로토콜
UDP(양방향의 TCP와는 다르게) 단방향으로 작동하는 훨씬 더 단순하고 빠르지만, 신뢰성이 낮은 인터넷 프로토콜

API

예를 들어, 햄버거를 주문하는 방법은 직접주문, 어플을 통한 주문, 키오스크를 통한 주문같이 3가지가 있다면, 주문이라는 같은일을 처리하지만 방법은 3가지다. 3가지방법 모두 동일한 프로토콜을 통해 주문을 전달한다면 문제가 없는 것이다.
하지만 클라이언트는 프로토콜을 모르고있다면, 클라이언트의 주문을 프로토콜로 변환시켜 서버에 전달하는 역할을 하는 것이 Application Programing Interface(API)다!
Interface => 의사소통이 가능하도록 만들어진 접접.

브라우저

URL?, RUI?

  • URL(Uniform Resource Locator)은 네트워크 상에서 웹 페이지, 이미지, 동영상등의 파일이 위치한 정보를 나타낸다. URL은 scheme, hosts, url-path로 구분된다.
    URI(Uniform Resource Identifier)은 일반적으로 URL의 기본 요소인 scheme, host, url-path에 더해 query(웹서버에 보내는 추가적인 질문), bookmark를 포함한다.

예시 http://www.google.com:80/search?q=JavaScript

부분명칭설명
file://, http://, https://scheme통신 프로토콜
127.0.0.1, www.google.comhost웹 페이지, 이미지, 동영상 등의 파일이 위치한 웹 서버, 도메인 또는 IP
:80, :443, :3000port웹 서버에 접속하기 위한 통로
/search,/User/username/Desktopurl-path웹 서버의 루트 디렉토리로부터 웹 페이지, 이미지, 동영상 등의 파일 위치까지의 경로
q=JavaScriptquery웹 서버에 전달하는 추가 질문

IP 와 Port

IP(Internet Protocol)는 인터넷 상에서 사용되는 주소체계를 의미한다. 흐니 말하는 IP 주소를 보면 255.255.255.255 처럼 네 덩이의 숫자로 구분된다. 이런 형식을 IPv4(Internet Protocol version 4)라고한다. IPv4sms 2^32(약43억)개의 IP주소를 표현할 수 있고 그 중 일부는 이미 용도가 정해져있다.
localhost,127.0.0.1은 로컬 PC를 나타낸다.
0.0.0.0,255,255,255,255는 broadcast address, 로컬 네트워크에 접속된 모든 장치와 소통하는 주소로 서버에서 접근 가능 IP주소를 broadcast address로 지정하면, 모든 기기에서 서버에 접근할 수 있다.
IPv4로 할당할 수 있는 PC가 한계를 넘어서면서 IPv6(Internet Protocol version 6)이다.

이런식으로 구성되었고, 할당 가능한 수는 2^128(43억 43억 43억* 43억)개 라고한다.

Port

특정 IP 주소에 진입할 수있는 정해진 통로(채널)역할.
127.0.0.1:3000 과 같이 IP 주소뒤에 :Port number로 표현한다.
포트 번호는 0~65,635까지 사용 할 수 있다. 0~1024번 포트 번호는 주요통신을 위해 규약에 따라 정해져있다.
잘 알려진 포트 번호는 22 : SSH, 80 : HTTP, 443 : HTTPS 등이 있다.

profile
함께 하고싶은 개발자

0개의 댓글