URL의 구조
scheme: [//[user:password@]host[:port][/]path[?query][#fragment]
일반적으로 많이 사용되는 HTTP URL의 scheme
http://<host>:<port>/<path>?<searchpart>
URL 문법
:
을 적는다.:
다음에 //
를 적는다.:
혹은 //
다음에는 프로토콜마다 특화된 정보를 넣는다.URL이 문법에 맞지 않는다
👉 웹 브라우저의 기본 검색엔진으로 검색을 요청함.
URL이 문법에 맞다
👉 HSTS(HTTP Strict Transport Security)목록을 로드해서 확인, 목록에 있다면 첫 요청을 HTTPS로 보내고, 아닌경우엔 HTTP로 보낸다.
HSTS(HTTP Strict Transport Security)란?
HTTP 대신 HTTPS만을 사용해 통신해야한다고 웹사이트가 웹브라우저에 알리는 보안기능.
URL이 문법에 맞지만 한글 등이 포함됐다
👉 Punycode encoding을 url의 host부분에 적용
Punycode란?
유니코드 문자열을 호스트이름에서 허용된 문자만으로 인코딩하는 방법이다. 유니코드가 지원하는 모든 언어로 국제화 도메인을 쓸 수 있게한 IDNA의 일부로, 변환은 전적으로 웹브라우저와 같은 클라이언트에서 이뤄진다.
퓨니코드는 문자, 숫자, 하이픈만 사용할 수 있고 문자열은 항상 "XN--" 문자로 시작한다.
ex)한글.com
=>xn--bj0bj06e.co.kr
ARP(Address Resolution Protocol)란?
IP주소를 MAC주소와 매칭시키기 위한 프로토콜. ARP를 사용하는 이유는 로컬 네트워크에서 단말과 단말 간 통신을 하기 위해 IP주소와 함께 MAC주소를 이용하게 되는데 , IP주소를 MAC address와 매칭해 목적지 IP의 단말이 소유한 MAC주소를 향해 제대로 찾아가기 위함이다.
MAC주소란?
데이터 링크계층에서 통신을 위한 네트워크 인터페이스에 할당된 고유 식별자로 Network Interface Card를 가진 단말이라면 공장에서 출고될 때 부여되고 평생 사용하는 고유한 주소를 의미함. 즉, LAN에서 목적지와 통신하기 위한 실질적인 주소.
ARP broadcast를 보내려면 Network stack library가 조회 할 대상 IP 주소와 ARP broadcast에 사용할 인터페이스의 MAC address를 알아야 한다.
이때 HTTPS면 TLS(Transport Layer Securify)가 추가된다.
https://owlgwang.tistory.com/1
https://aws-hyoh.tistory.com/entry/ARP-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0