[ DNS ]

IP는 기억이 어렵고 추후 변경이 가능하다

이를 해결하기 위한 것이 DNS == IP주소를 이름으로 바꾸는 개념

 

[ URI와 웹 브라우저 요청의 흐름 ]

1. URI : Uniform Resource Identifier

- URI는 로케이터 ,이름 또는 둘 다로 추가 분류될 수 있다

(로케이터 : 리소스가 있는 위치를 지정 , 이름 : 리소스의 이름- 위치는 변하지만 이름은 변하지 않는 장점 )

- 결국 URI는 URL(로케이터) + URN(네임) 을 포괄한는 개념

-하지만 URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않음

-결국 흔히 사용하는것은 URL의 개념

-URL : scheme://[userinfo@]host[:port][/path][?query][#fragment] 의 작성법을 가짐

 

[ 웹브라우저의 요청흐름 ] 

1. 클라이언트 : DNS를 조회 + HTTPS PORT 생략 + HTTP 요청메시지 생성

2. 생성되면 TCP 등을 추가하고 확인 후 서버로 전송

3. 서버가 받으면 똑같이 응답

 

[ HTTP ]  - Hyper Text Transfer Protocol == 인터넷에서 정보를 주고받는 규칙

1. HTTP 메시지에 모든 것을 전송한다 ( 텍스트, 이미지, JSON, 영상...)

2.  1.1 버전을 기본으로 2, 3 발전 중 ( 1.1 ,2 : TCP  / 3 : UDP 주로 사용 )

--현재는 1.1을 주로 사용하는 상태임

3. 클라이언트 서버 구조

4. 무상태 프로토콜 지향

 

무상태 프로토콜? (stateless)

1. 서버가 이전 상태를 유지하지 않는다 == 요청을 받으면 보관하지 않고 응답만 계속 보냄

2. 서버가 바뀌어도 그대로 진행됨 == 무제한 서버 증설 가능

3. 한계가 존재하는 경우 생김 ( ex 로그인 정보 유지 )

4. 정보를 매번 다 보내야하므로 정보가 커짐

(vs 상태유지 == 요청을 받으면 보관하고 응답 == 서버가 바뀌면 유지 정보를 다시 전달해주지 못할 수 있어 오류)

--일반적으로 브라우저 쿠키와 서버 세션등을 사용해서 상태 유지

--상태 유지는 최소한만 사용하는 것이 좋다

 

[비연결성]

1. 연결을 유지하는 모델 : TCP / IP

2. 연결을 유지하지 않는 모델 : HTTP

-- 처리 요청이 적으면 매우 효율적이나 페이지 넘어가면 매번 TCP 연결 절차로css, js등 매번 다운로드 발생 

-- 지금은 HTTP 지속 연결(Persistent Connections)로 문제 해결

 

 

 

 

 

 

 

'개발자로 업그레이드 되자 > HTTP' 카테고리의 다른 글

HTTP 개념 1  (0) 2022.01.25

인터넷 통신은 클라이언트 -> 서버로 갈때 수많은 노드를 지나가서 도착한다

[ 순서 ] 

1. IP주소 부여 ( = 인터넷 프로토콜 )

2. 패킷 단위로 보내게됨( 내 IP , 도착 IP , 메세지 정보등을 가짐) -> 노드를 거쳐 도착 IP로

3. 서버가 받아서 반대로 응답

 

--> 한계가 발생

1. 비연결성 ( 패킷을 받을 대상이 없거나 불능이여도 보내고 봄 )

2. 비신뢰성 ( 패킷이 사라지거나 나눠보냈는데 순서대로 도착하지 않을 수 있음)

3. 프로그램 구별 문제 ( 같은 IP에서 통신하는 어플이 둘 이상인 경우 구분하기가 어려움 )

 

--> 이를 해결하기 위해 TCP/ UDP 개념이 쓰임

 

[ 인터넷 프로토콜 스택의 4계층 ]

1. 애플리케이션 계층 - HTTP, FTP

2. 전송 계층 - TCP, UDP

3. 인터넷 계층 - IP

4. 네트워크 인터페이스 계층 (LAN 장비)

==> 메세지 생성 -> TCP 정보 추가 -> IP 패킷 추가 -> LAN 카드에서 전송 으로 진행됨

 

TCP? 전송 제어 프로토콜 / 전송 제어, 순서 , 검증 정보를 포함하고 있음 -> 기존 한계점 해결

-특징-

(1) 연결지향 (가상 연결로 연결가능 확인 후 보냄 )

(2) 데이터 전달 보증 (정상 도착을 확인)

(3) 순서 보장

(4) PORT가 포함되어 있어 구별가능


UDP? 사용자 데이터그램 프로토콜 / IP와 유사하지만 PORT + 체크섬 추가

-특징-

(1) 단순하고 빠름

(2) 특별한 기능은 없지만 TCP가 정확함에도 속도 최적화가 어려워 이를 보완하기 위해 쓰임

(3) 애플리케이션에서 추가 작업 가능

 

 

 

 

'개발자로 업그레이드 되자 > HTTP' 카테고리의 다른 글

HTTP 개념 2  (0) 2022.01.25

+ Recent posts