일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 모두의 네트워크
- HTTP
- 깃 터미널 연동
- React Native
- 데이터베이스
- 팀플회고
- 데베
- 백준 4949번
- 리액트 네이티브
- 리액트 네이티브 프로젝트 생성
- 스터디
- 문자열
- 백준 4358 자바
- 백준 4358번
- 모두를위한딥러닝
- 백준 5525번
- 깃 연동
- 네트워크
- SQL
- 깃허브 토큰 인증
- 자바
- 리액트 네이티브 시작하기
- 지네릭스
- 모두의네트워크
- 머신러닝
- 깃허브 로그인
- 모두를 위한 딥러닝
- 정리
- 백준
- 딥러닝
- Today
- Total
솜이의 데브로그
1장 ) 웹과 네트워크의 기본 본문
Reference : 그림으로 배우는 Http & Network Basic
웹은 HTTP로 나타낸다
★ 브라우저 주소 입력란에 URL을 입력했을 때 어떻게해서 웹페이지가 보여지는지?
HTTP (HyperText Transfer Protocol) : 클라이언트에서 서버까지 일련의 흐름. 웹 통신 규약!
웹의 등장 배경
- 팀 버너스 리 박사
- WWW
HTTP/0.9 : 정식버전 아님
HTTP/1.0 : 정식. 초기 사양이지만 현역으로 많이 사용됨
HTTP/1.1 : guswo rkwkd aksgdl tkdydehla. chltlsqjwjs
(HTTP/2.0도 책정되어 있지만 많이 쓰이려면 오래걸릴것)
TCP/IP 프로토콜
- 프로토콜의 집합. ( ex : 케이블 규격, IP주소 지정 방법, 라우팅 방법과 도달 순서, 웹표시 순서 등..)
- 4계층 (OSI 7계층도 기억하기) → 계층화 되어있어 사양이 변경된 해당 층만 바꾸면 된다. 또한 설계가 편함.
4계층
(1) Application Layer : 유저에게 제공되는 애플리케이션에서 사용되는 통신의 움직임. HTTP도 포함.
(2) Transport Layer : 애플리케이션 계층에 네트워크로 접속되어 있는 컴퓨터 사이의 데이터 흐름. TCP, UDP
(3) Network Layer : 네트워크 상에서 패킷의 이동을 다룸. 어떤 경로로 패킷을 보낼지.
(4) Link Layer (Data Layer) : 네트워크에 접속하는 하드웨어적인 부분을 다룸.
TCP/IP 통신의 흐름
통신을 할 때 계층을 순서대로 거쳐 상대와 통신한다.
송신하는 측은 애플리케이션 계층부터 내려가고, 수신측은 애플리케이션쪽으로 올라간다.
각 계층을 거칠 때는 반드시 헤더를 추가하여 해당 계층마다 필요한 정보를 추가한다. 수신측에서는 계층마다 헤더를 제거한다.
이러한 과정으로 정보를 감싸는 것을 '캡슐화' 라고 한다.
IP
- 네트워크 층에 해당. IP 는 프로토콜의 명칭이다.
- IP 주소와 MAC 주소가 중요.
- 통신은 ARP 프로토콜을 이용해 MAC주소에서 한다. ARP 주소 : 수신지의 IP주소를 바탕으로 MAC 주소 조사. '라우팅'
- 이 때 ARP spoofing 공격 유의할 것!
TCP
- 트랜스포트 층에 해당. 신뢰성 있는 바이트 스트림 서비스를 제공.
- 바이트 스트림 : 용량이 큰 데이터를 TCP 세그먼트라고하는 단위 패킷으로 분해하여 관리.
- 3-way handshaking : 확실히 데이터를 보내기 위해 사용. SYN, ACK, TCP 플래그 사용.
- 중간자 공격, SYN Flooding 등 공격 가능
DNS
- HTTP와 같이 응용계층 시스템에서 도메인 이름과 IP 주소 이름 확인을 제공함.
- IP주소와 별개로 호스트 이름과 도메인 이름을 붙일 수 있다.
- DNS는 도메인 명에서 IP 주소를 조사하거나 반대로 IP 주소로부터 도메인명을 조사하는 서비스 제공.
URI와 URL
- URL : 브라우저 등으로 웹 페이지를 표시하기 위해 입력하는 주소. ex) https://www.google.co.kr
- URI (Uniform Resource Identifiers) :
- Uniform : 통일된 서식 결정. 여러 종류의 리소스 지정 방법을 구별없이 취급, 새로운 스키마 도입을 용이하게 함.
- Resource : '식별 가능한 모든 것'. 도큐먼트 파일, 이밎, 서비스 등 구별가능한 모든 것
- Identifier : 식별 가능한것을 참조하는 오브젝트. 즉, URI는 스키마를 나타내는 리소스를 식별하기 위한 식별자.
- URI 는 리소스를 식별하기 위해 문자열 전반을 나타내며, URL은 리소스의 장소를 나타냄. URL 은 URI의 서브셋.
URL 포맷
절대 URI 포맷 ex)
http://user:pass@www.example.jp:80/dir/index.htm?uid=1#ch1
스키마 + 자격정보(credential) + 서버 주소 + 서버포트 + 계층적 파일 path + 쿼리 문자열 + 프래그먼트 식별자
- 스키마 : http 또는 https 같은 스키마를 사용하여 리소스를 얻기 위해 사용하는 프로토콜 지시.
- 자격정보(크레덴셜) : 서버로부터 리소스 취득하기 위한 자격정보. 옵션
- 서버주소 : DNS 이름 또는 IP 주소를 지정.
- 서버포트 : 서버의 접속대상이 되는 네트워크 포트 번호 지정. 옵션. 생략시 디폴트 포트 사용
- 계층적 파일 패스 : 특정 리소스를 식별하기 위한 서버상의 파일 패스
- 쿼리 문자열 : 파일패스로 지정된 리소스에 임의의 파라미터 넘겨줌. 옵션
- 프래그멘트 식별자 : 취득한 리소스에서 서브 리소스 가리키기 위해 사용. 옵션
느낀점
URI URL 차이점 알게되어 좋았다! 전공에서 배웠던것보단 덜 자세하게 배운듯.
'CS > Network' 카테고리의 다른 글
3장 ) HTTP 정보는 HTTP 메시지에 있다 (0) | 2021.09.22 |
---|---|
3장 ) 물리계층 (0) | 2021.09.22 |
2장 ) 간단한 프로토콜 HTTP (0) | 2021.09.18 |
2장 ) 네트워크 기본 규칙 (0) | 2021.09.18 |
1장 ) 네트워크 첫걸음 (0) | 2021.09.12 |