2022. 3. 1. 15:34ㆍ기타
처음 웹 개발을 공부하는 개발자를 대상으로 한 강의.
개발자는 평생 HTTP 기반 위에 있음
-> 언젠가 한번은 HTTP 정리를 해야함 !
강의 목표:
- HTTP의 전체 흐름 이해
- 실무에 꼭 필요한 핵심 내용
- 수 많은 예시와 그림으로 쉽게 설명
[인터넷 네트워크]
- 인터넷 통신
- IP(Internet Protocol)
- TCP, UDP
- PORT
- DNS
[IP(인터넷프로토콜)]
역할: 지정한 IP주소에 데이터 전달
노드를 거치며 목적지에 도달함, 도착하면 OK메세지를 다시 노드를 순회하며 출발지에 도달
한계:
비연결성
비신뢰성
프로그램 구분
패킷 소실
패킷 전달 순서 문제 발생
[TCP, UDP]
Transmission Control Protocol
현재는 대부분 TCP 사용
TCP는 IP의 문제를 해결해줌
- 연결지향
- 데이터 전달 보증
- 순서 보장
TCP 3 way handshake
1. SYN
2. SYN+ACK
3. ACK
UDP는 TCP와 같은 계층
IP에서 PORT와 체크섬 정도만 추가되었음
TCP보다 최적화할 여지가 있음
[PORT]
한번에 둘 이상의 연결이 필요하다면 ?
ex)게임 + 화상통화 + 웹브라우저 요청
같은 ip 내에서 프로세스를 구분하는 것이 필요함
-> TCP/IP 패킷 정보에 포트 정보가 있다!
0~65536 할당 가능
0~1023: 잘 알려진 포트, 사용 권장 X
[DNS]
도메인 네임 시스템(Domain Name System)
IP는 기억하기 어렵다.
IP는 변경될 수 있다.
도메인 명으로 요청하면 DNS서버가 ip를 줌
[URI와 웹 브라우저 요청 흐름]
URI, URL, URN
URI 는 URL과 URL을 포함한다.
URL은 리소스가 있는 위치를 지정
URN은 리소스에 이름을 부여 - 이것만으로 리소스를 찾는 방법이 보편화되지 않았음
URL (https://www.google.com:443/search?q=hello&hl=ko)
- 프로토콜(https)
- 호스트명(www.google.com)
- 포트번호(443)
- 패스(/search)
- 쿼리 파라미터(q=hello&hl=ko)
[HTTP]
HyperText Transfer Protocol
요즘은 http 메시지로 모든 것을 전송할 수 있음
클라이언트 서버 구조 -> Request, Response 구조
클라이언트는 서버에 요청을 보내고, 응답을 대기한다.
서버가 요청에 대한 결과를 만들어서 응답한다.
무상태 프로토콜 (Stateless)
비연결성(Connectionless)
'기타' 카테고리의 다른 글
nGrinder + Springboot 부하 테스트 튜토리얼 (8) | 2022.08.27 |
---|---|
MySQL + docker + python 더미데이터 십만개 넣기! (0) | 2022.07.01 |
[CI/CD] github action 맛보기 기록 (1) | 2022.06.28 |
[대규모 시스템] 대용량 데이터 처리의 어려움 (2) | 2022.06.21 |
Docker 맛보기 (3) | 2022.02.08 |