[HTTP강의] TCP/UDP와 URI
2022. 4. 21. 00:17ㆍ개발공부/HTTP
728x90
본 글은 인프런 김영한님 강의를 정리한 글입니다. 자세한 강의내용은 강의를 통해 들어보시길 추천드립니다.
데이터 통신할 때 IP 주소로 전송 데이터를 보냅니다. 전송 데이터 외 데이터의 순서와 통신 상대 간 신뢰를 주고받을 수 있는 프로토콜이 필요한데, TCP
가 그 역할을 합니다.
TCP(Transmission Control Protocol)
- PORT, 전송 데이터 순서에 대한 정보를 담아 전달합니다.
- *3-way-handshaking 방식으로 통신을 전달받습니다.
- *1.Syn(client to server) -> 2.Syn + Ack(server to client) -> 3.Ack(client to server) 마지막 단계에선 전송 데이터도 함께 전달하기도 합니다.
UDP(User Datagram Protocol)
- TCP와 달리 IP에 가까운 형태로, PORT만 담아 전달합니다.
- 데이터 순서나 3-way-handshaking이 없기 때문에 신뢰성 확보를 하지 못합니다.
- 통신 속도는 TCP에 비해 빠릅니다.
PORT(=항구)
PORT
는 IP 주소에 더해 세부주소라고 생각하면 됩니다. 같은 IP를 사용해 웹 브라우저, 영상 및 음악 재생에 대한 HTTP 통신요청을 할 수 있는데 그 때 구분짓는 주소가port
입니다.
IP가 아파트라면port
는 동-호수 입니다.
URI(Uniform Resource Identifier)
- URL(location), URN(name)이 URI 안에서 위치, 이름으로 존재하는 고유 식별 정보입니다. 이를 이용해 필요한 요청을 하고, 요청 위치에 대한 데이터를 받아올 수 있습니다.
- URN보다 URL가 위치에 따라 읽기 편하기 때문에 브라우저에 요청을 작성할 때 주로 사용합니다.
- URL 구성은 아래와 같이 이루어져 있습니다.
https://www.google.com:443(보통 생략)/search?hl=ko&hw=hello#bookmarkpoint
- protocol:host:port:path:query_param(string):fragment
DNS(Domain Name System)
- IP 주소가 가독성이 떨어지고, 변경될 경우 불편함이 있기 때문에 영문으로 IP 주소를 대신 부여한 이름 도메인입니다.
웹 브라우저 전송요청과 흐름
- 도메인 주소를 웹 브라우저 창에 입력하면, IP 주소를 찾아서, 웹 브라우저 HTTP 요청을 생성합니다. HTTP 요청 양식은
GET /serach?hl=ko&hw=hello#bookmarkpoint HTTP/1.1 \n Host: www.google.com
와 같습니다. - TCP/IP로 통신의 신뢰성을 확인한 뒤, HTTP 전송 데이터를 담아 요청 HTTP를 전달하는 흐름입니다.
참조: 인프런 김영한님 HTTP 강의
'개발공부 > HTTP' 카테고리의 다른 글
[HTTP강의] HTTP 캐시 (0) | 2022.05.26 |
---|---|
[HTTP강의] HTTP 헤더 (0) | 2022.05.25 |
[HTTP강의] HTTP 상태코드 (0) | 2022.05.24 |
[HTTP강의] HTTP 메서드 (0) | 2022.05.23 |
[HTTP강의] HTTP 특징 (0) | 2022.05.23 |