인프런 커뮤니티 질문&답변

코딩먹는하마님의 프로필 이미지
코딩먹는하마

작성한 질문수

모든 개발자를 위한 HTTP 웹 기본 지식

웹 브라우저 요청 흐름

웹브라우저 요청흐름 질문입니다.

해결된 질문

작성

·

777

·

수정됨

0

https://blog.kakaocdn.net/dn/4rsaX/btruvviyacp/7ZXnLsK7SBsJzwCdv6BP81/img.png여기서 1,2번을 정리한건데 맞는 지 확인 해주세요

1. URL을 입력한다. (클라이언트의 요청)

2. DNS 서버로 IP를 찾아내고 생략된 PORT는 scheme로 찾아낸다.

⇒ DNS에서 IP주소를 획득하는 과정은 3way handshake가 발생하지 않는다.

3.웹 브라우저가 HTTP 요청 메시지를 생성

4.애플리케이션에서 SOCKET 라이브러리를 사용해서 지시

⇒ "커넥션을 TCP/IP로 맺으세요.! " 라고 지시

⇒TCP/IP계층에서 이전에 찾은 IP와 PORT 정보를 통해 3 way handshake 방식으로 서버와 연결

 

먼저 1)이과정이 맞게 생각하고 있는 건지 궁금하고

2)두번째는

다른분의 질문답변에서

3 hand shake를 하면 클라이언트와 서버 모두 서로 IP, PORT를 알게 된다 라고 되있던데 이말은

3 hand shake를 하기위해서는 클라이언트는 서버의 IP, PORT를 알고 있어야하고 3 hand shake 이후에 서버도 클라이언트의 IP, PORT를알게된다는 의미인가요?

그러면 이 수업에서는 DNS 서버로 IP를 찾고 URL(클라이언트의 요청)의 scheme에서 생략된 port를 찾았다 고 배웠는데 그럼 이 과정은 필수 과정인가요??

(3 hand shake를 사용하기위한 필수과정 인가요?

클라이언트와 서버가 연결하기위한 필수과정인가요?)

 

답변 주시면 정말 감사하겠습니다.

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 박희재님

1번 과정은 맞습니다.

2번의 경우 클라이언트는 여분의 랜덤 포트를 하나 할당합니다. 그리고 서버는 해당 랜덤 포트와 연결됩니다.

클라이언트 -> 서버는 80을 연결되더라도, 서버 -> 클라이언트는 랜덤 포트로 연결된다고 보시면 됩니다.

감사합니다.

코딩먹는하마님의 프로필 이미지
코딩먹는하마

작성한 질문수

질문하기