Spring 입문 강의
TCP : 서버와 클라이언트 간에 데이터를 신뢰성 있게 전달하기 위해 만들어진 프로토콜
TCP는 신뢰성이 있지만 연결하는 과정, 데이터 전송에 시간이 많이 소요됨.
이유 : 3 way handshake 과정을 거치기 때문.
UDP : UDP는 비연결형, 신뢰성이 없는 전송 프로토콜
TCP와 달리 UDP는 실시간 통신이나 스트리밍 애플리케이션에서는 빠른 전송이 중요하여 개발됨.
PORT : 같은 IP 내에서 프로세스 구분을 하기 위해서 사용
도메인 이름과 IP 주소를 서로 변환하는 역할을 수행. 즉, 사람이 읽을 수 있는 도메인 이름을 컴퓨터가 읽을 수 있는 IP 주소로 변환
인터넷 자원을 나타내는 고유 식별자
자원의 위치를 의미
URL 구조
scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment] https://www.google.com:443/search?q=스파르타+코딩클럽
scheme
-주로 프로토콜 사용.
-웹에서는 http, https, ftp를 주로 사용
user[:password]
-사용자 정보
-URL은 보안에 취약하여 사용x
host[:port]
-도메인 명(www.google.com) 또는 IP 주소를 직접 사용
-http : 80, https : 443 포트 사용.
-포트는 일반적으로는 생략
[/path]
-리소스의 경로
-계층 구조
[?query]
-key=value 형태로 구성
-Query Parameter, Query String 이라고도 함
-?로 시작되고 &으로 구분
[#fragment]
-html 내부 북마크 등에 사용 (전달받은 URL로 접속 시 특정 위치(fragment)로 이동)
URL의 한계
자원의 위치를 변경하면 기존 URL 사용 불가
URN(Uniform Resource Name) : 자원의 이름을 의미
JSON은 클라이언트와 서버가 통신할 때 사용하는 데이터 양식. 클라이언트와 서버가 사용하는 언어에 관계 없이 통일된 데이터를 주고받을 수 있도록 만들어짐.
{
"user": [
{
"first_name": "wonuk",
"last_name": "Hwang",
"age": 100,
"phone_agree": false,
"hobby": ["Java", "Spring"]
}
]
}
수직적 확장
수평적 확장
단점
장점
단점
WebApplication을 만들때 서버의 확장성을 고려하여 최대한 Stateless하게 만들어야 함. 하지만 로그인과 같은 상태를 유지해야 하는 경우도 발생함.
Cookie, Session, Token 등을 활용하면 상태 유지를 최소화 시킬 수 있음.
장점
단점
장점
단점
단점 해결 방안
하나의 요청에 필요한 요청들이 모두 응답될 때 까지 연결을 유지
한번만 연결하기 때문에 비연결보다 빠름
1 -> 2
내일 이어서 쓸게요 ^^
오늘 모르는 게 너무 많아서 하나하나 다 정리하니까 머리가 지끈거린다. 일단 내일 아침에 마저 쓰는 것으로 하고 자야 겠다. 확실히 처음 배우는 것은 힘든 것 같다. 이해를 해야 넘어가는 스타일인 나에게 조금 가혹하다. 😭