tcp vs upd
tcp는 연결지향, 데이터보증, 순서도 보장을한다
연결지향에서 3 - way handshake를 하기에 이후에 완료되면 데이터를 전송해서 안전하다
이러한 것들을 보면 tcp는 할 것이 많다 그러나 udp는 연결지향도없고, 데이터 보장도, 순서도 보장없다, 그래서 단순하고 빠를 수 있어서 최적화가 필요할때는 udp를 많이 사용하는 것이라고한다.
udp
순서보장x, 데이터 전달 보장x, 연결지향(3 - way없다),
그래서 지원하는 것이 없어서 ip랑 비슷하다(여기에서 예를 들면 제가 게임도하고 음악도 듣고 다른 것들도 하고 있을때 하나의 ip를 가지고 여러가지 작업을 하고 있습니다. 이럴때 ip를 구분해주도록 port를 사용하는데 이것을 udp가 해준다
최근에는 udp가 곽강을 받고있다, 3 -way를 최적화하자고 http3스펙에서는 udp를 언급하고있다고한다..
port
위에서 udp에서 port를 이야기했는데 port를 알아보자
한번에 둘 잇아 연결 사진 붙이기
ip는목적지 서버를 찾는 것이고, 서버안에서 돌아가는 애플리케이션을 구분 하는 것이 port이다..
한 ip(아파트)내에 있는 port(몇호인지)로 비유가능
dns
- ip는 변경이 될 수도 있다 그래서 나온 것이 DNS
- DNS서버에 도메인명을 등록할 수 있다 그그그그ㅡ (가비아에서 도메인 사는 것을 기억하자)
- 이런식으로 이용하면 IP가 변경이 되어도 클라이언트는 (1) 도메인명을 딱 치면(WWW.NAVER.COM) (2)DNF서버에서 해당 도메인에 해당하는 IP를 클라이언트에 응답을 한 후 (3) 클라이언트는 해당 IP를 목적지로 요청을 보낸다
- URL 와 웹브라우저 요청흐름
- URI는 (locator), 또는 (name)이름으로 분리 할 수있다.
- URI(resource identifier) 리소스 식별자가 가장 큰 개념이고 그 안에 URL(ex : www.naver.com)과 urn으로 구별가능하다
- URL 뜻
- U(uniform, 리소스 식별하는 방식이다), R( resource, 자원이다), I(Identifier, 다른 항목과 구분하는데 필요한 정보)\
- https://www.google.com:443/search?q=hello&hl=ko
- 위 방식에서 www.google.com은 도메인이름
- https는 http에서 강력한 보안이 적용된 것이다, 요즘은 거의 htts
- :443은 port번호
- /search~ 부분은 path(리소스 경로)이다, 페스는 보통 계층적 구조이다.
- 계층적구조라함은 -> /members/100 , (members가 회원들정보 그 하위의 100번정보를 보겠다는 의미)..
- [?query]부분이있다, 쿼리, .. key =value형태, ?로시작, &로 추가가능, 쿼리스트링, 쿼리파라미터라고불린다
인터넷 전달 흐름
- www.google.com:443/search?q=hello&hl=ko에서 먼저 웹 브라우저가 dns 조회해서 ip를 받아오고, 쿼리 정보를 토대로 웹브라우저가 http 요청메시지를 생성한다 이후 소켓라이브러리를 통해서 TCP/IP로 전달해서 TCP/IP로 와서 해당 패킷에(출발지, 목적지 IP , PORT가 들어가 있다 ) 데이터를 씌우고 패킷이 인터넷으로 흘러 나간다
서버에서 요청 패킷을 받았으면 패킷을 다 까서 http빼고는 다 버린다
http를 보고 쿼리보고 데이터를 찾아서 http 응답메시지를 보낸다
응답 패킷이 도착하면 , http응답 메시지를 열고 웹브라우저가 렌더링을하고 화면을 볼 수있게된다.
'http' 카테고리의 다른 글
http vs https (ssl) (0) | 2021.12.31 |
---|---|
HTTP(stateful, stateless, connectionless) (0) | 2021.10.27 |
jwt, 쿠기 (0) | 2021.10.08 |
인터넷 네트워크 (0) | 2021.08.01 |