[ 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 |
---|