• URI
• 웹 브라우저 요청 흐름
1.uri, url, urn
url, urn 형식
url,urn?
scheme: //[userinfo@]host[:port][/path][?query][#fragment] : url에 사용자 정보를 포함해서 인증한다. 현재 거의 사용하지 않음.
프로토콜(https),호스트명(www.google.com),포트 번호(443),패스(/search),쿼리 파라미터(q=hello&hl=ko)로 이루어져 있다.
주로 프로토콜 사용(어떤 방식으로 자원에 접근할 것인지에 대한 약속. http, https, ftp 등)
http는 80포트, https는 443 포트 사용. 포트 생략 가능. https는 http에 보안 추가
fragment는 html 내부 북마크에 사용된다. 서버에 전송되는 정보는 아님.
dns 조회 후 http 요청 메세지 생성. http 메세지 전송.
메세지 전송: 1. 웹 브라우저가 http 메세지 생성 2. socket 라이브러리를 통해 전달(tcp/ip 연결(ip, port) > 데이터 전달) 3. tcp/ip 패킷 생성 후 http 메세지 포함
패킷 생성: 출발지 ip,port와 목적지 ip,port와 전송 데이터 생성. 그리고 그 안에 http 메시지 생성 > 이 패킷을 전달한다. > 서버는 이 패킷을 가지고 응답 패킷을 생성 후 전달한다. > 응답 패킷을 클라이언트가 받고 나서 웹 브라우저를 렌더링
출처 : https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC#