1.
서버(제공자)가 있고 클라이언트(사용자)가 있다.
클라이언트가 서버에 접속한다.
클라이언트(브라우저)가 web 서버같은것과 작용해 받아온 내용을 화면에 보여주는 식으로 동작한다
프로토콜 : 약속
명령어로 접속하고 응답할 내용을 정한 것들을 말한다.
대표적으로
1. HTTP
HTTP는 하이퍼텍스트. HTML같은 문서를 주고받고 보여줄 수 있는 프로토콜
2. 이메일
보낼때는 SMTP : 메세지를 전달해주기 위한 프로토콜
받을때는 PoP3
이런게 다 약속으로 정해져있다.
3. FTP
파일을 주고받을 때 사용하는 프로토콜
사실 요즘은 많이 사용하지 않는다.
대표적으로 HTTP를 이해해주면 됨.
2.
HTTP는 GET으로 요구한다
200 ok는 정상적
404는 page가 없는 것
403은 권한 관련 error
3.
Ajas ( Asyncronus Javascript and XML)
메뉴를 누르면 전체 다 바뀌는게 아니라 메뉴만 바뀌었으면 좋겠다
-> 비동기식으로 요청을 하고 응답을 받는다.
✨ 동기
function을 호출했을 때 동기는 다 호출될때까지 기다렸다가 진행한다.
응답을 받을 때까지 이 함수를 넘어가지 않음
절차적
✨ 비동기
함수가 호출만 되면 바로 넘어간다.
이 함수를 실행하는데 그 결과치는 callback함수같은걸로 받는 것.
만약 이게 실행되면 시행해! 하는 약속에 의해서 코드가 시행된다.
그리고 호출했을 때 응답을 받았을 때 별도로 요청을 할 수 있고, 그에 대한 응답을 또 받을 수 있다
비절차적
4.
✨ cookies
클라이언트의 특정 부분, 특정 위치에 저장
'구워진다'
파일로 남는다
쿠키를 지운다 : 컴퓨터 local에 저장된 정보를 날려버리는 것
✨ session
서버에 저장된다
db와는 좀 다르다.
session은 '시간'을 가지고 있다.
db는 데이터베이스의 값이 저장되어 있는 것,
session이 날아갔다 : 클라이언트에 의해서 접속이 되었는데, 클라이언트에 해당하는 변수를 가지고 있다가 특정 시간이 흐르거나 하면 그 값들을 다 지움
로그인을 했을 때 다른 사이트를 오갔을 때 로그인이 유지된다 : session에 의해 관리되었다.
요즘은 보안상으로 쿠키에 기밀한 내용을 잘 담지 않음
5.
VOIP : voice or IP
이걸 이용한 것이 kakao 보이스톡.
IP를 통해 여기에 voice를 씌운 것.
이 기술은
음성 -> 데이터화(데이터는 IP에 의해 전달가능함 -> 데이터 -> 음성
인터넷망만 된다면 저렴한 가격으로 사용할 수 있음.
하지만 결국 IP 네트워크를 사용하고 있고, 연결을 위해서는 서버 인프라가 필요하고, 이를 위해 연결 서버를 구축해야 한다
VOIP는 TCP보다는 UDP개념에 더 가깝다
TCP
정확한 데이터의 전달을 목표로 한다
UDP
손실에 대한 고려를 한다(손실 좀 날수도 있지 큰 문제 없어)
+ 압축의 개념과 연관짓기
압축 또한 무손실과 손실이 있다.
무손실
zip 파일같은 것. 하나라도 깨지면 읽을 수가 없다
손실
MPEG : 약간 깨지는 것도 영상을 보기에는 괜찮다(+소리)
빠진 데이터를 연결, 보정함으로써 대충 유연하게 들린다
6.
port : 항구
IP라고 치면 한국으로까지 가는 것이 IP. (한국 == 서버)
port는 인천항으로 가냐, 부산항으로 가냐의 문제.
이 port를 기다리고 있는 매핑된 어플리케이션 서버가 있는데.
여기서 데이터를 받는다.
예를들면 FTP는 포트 21번을 사용한다.
HTTP(웹서버)는 80포트를 사용.
== 웹서버는 80포트를 기다리고 있다가 해당 정보를 80을 통해 받는다.
💡 서버, 컴퓨터 포트를 검사할 수 있는 방법 : netstat_n
IP
컴퓨터는 www.naver.com
을 이해할 수 없다
그래서 가는 곳이 DNS 서버.
여기서 알려주는 숫자가 IP.
목적지까지 가게 해준다
정리
데이터를 전달해주는 게 TCP
목적지까지 가게 하는게 IP
기본적으로 DNS서버를 들러서 IP주소를 찾아온다
라우팅 | 이렇게 DNS를 들러 IP경로를 찾아가는 '것'
연결점을 찾아서 간다고 생각하면 된다.
라우터 | '전달을 위한 목적'으로 라우터가 있다.
해당하는 IP를 가지고 있는 패킷들을 전달
현재 사용하는 것은 IPv4라고 해서 4개의 3자리 숫자를 가지고 있다.
IPv6은 여기서 더 확장되어 많은 디바이스를 소화할 수 있도록 된 것.
💡 알아두면 좋을 것NAT | Network Address Translation
서버들이 구성되어있다고 했을 때, 모든 서버들이 퍼블릭 IP를 갖지는 않는다.
private IP
장점 : 보안관점에서 좋다. 외부에서 접속을 못하기 때문에
단점 : 접속을 못해서 이 IP를 가지고는 다른 곳의 서버들과 통신할 수 없다.
기본적으로 통신은 source IP와 destination IP (송신지와 수신지)가 있어야 하는데,
이 때 private IP가 있으면 NAT는 private => public으로 전환해준다
따라서 전달이 가능해진다
7.
네트워크 관련 기본적인 명령어
ipconfig
- 자신의 컴퓨터에 할당받은 IP등 주소를 알 수 있다
ping
- ping IP 로 치면 컴퓨터에서 응답을 해준다.
- 하지만 막아놓으면 응답이 되지 않는다.
tracent
- tracent url 로 치면 해당 url로 가능 라우팅 정보를 준다.
- 서버에 접속이 안될 때 파악할 때 좋다
nslookup
- 해당 도메인 DNS서버를 조죄하는 것
- 도메인에 해당되는 IP address를 알 수 있다
- nslookup 도메인(또는 IP)
이더넷
- 규격/규약. 통신과 관련된 약속
hub
- 사무실 안 컴퓨터가 연결되어 있는 경우.
- 들어온 IP가 똑같이 전달된다.
- 해당 데이터가 왔을 때 원했던 데이터면 받아간다
8.
HTTP / HTTPS
HTTPS는 기본적으로 암호화 통신을 함.
HTTP로 하면 그냥 프로토콜에 의해 전달되는데
HTTPS는 한번 암호화를 해서 전달, 복호화한다
전자 서명 / 전자 인증(기관)
전자 인증 : 내가 해당 사용자라는 것을 증명하는 과정
전자 서명 : 데이터가 원본 데이터라는 것을 증명하는 과정
'👨💻 CS지식' 카테고리의 다른 글
[ SNU 강의 ] 운영체제의 기초 | 쉽게 배우는 운영체제 5주차 (0) | 2022.07.11 |
---|---|
📢 공지 (0) | 2022.07.07 |
[ SNU 강의 ] 운영체제의 기초 | 쉽게 배우는 운영체제 4주차 (0) | 2022.07.05 |
[ 운영체제 ] 30분동안 안쉬고 설명하기 _ 기술노트 with 알렉 (0) | 2022.07.03 |
[ SNU 강의 ] 운영체제의 기초 | 쉽게 배우는 운영체제 1주차 (0) | 2022.07.02 |