KT AIVLE
[Web] URL 분석 ( feat. 크롤링, 프로토콜, 도메인, DNS, 서브 파일, 서브 도메인)
윌_
2023. 2. 28. 19:17
웹크롤링을 위해서 url을 이해하는 것은 기본적이다.
이번 포스팅은 url의 의미를 분석한 내용이다.
Client와 Server의 관계
Client : 브라우저를 통해 url을 입력해 서버에 데이터 요청
Server : client가 데이터를 요청하면 요청 url에 따라 데이터를 전송
URL 뜯어보기
https://finance.naver.com/news/news_read.naver?mode=mainnews&office_id=018&article_id=0005433334
(네이버 증권 페이지 주요뉴스 기사)
위 url을 예시로 구성요소들을 분석해보자.
Protocol ( https:// )
: 컴퓨터 내부에서 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계 ( 규칙!! )
HTTPS(https://, Hypertext Transfer Protocol Secure) 와 HTTP(http://) 가 존재.
HTTPS는 서버와 주고 받는 데이터가 암호화되기에 웹사이트에 추가적인 보호를 제공.
따라서 모든 유형의 데이터는 제 3자로부터 보호된다. 변경되거나 손상될 수 없음.
Domain ( finance.naver.com )
: 문자로 표시한 인터넷 주소
인터넷 주소는 원래 212. 233.123.31과 같이 IP로 표현되나 이를 인간이 사용하기 편한 형태인 문자로 연결시킨 것
여기까지 url이 있다면 서버 컴퓨터까지의 경로 찾아준다.
Domain 구성은 다소 복잡한데, 포스팅 마지막 부분에 설명을 추가해두겠다.
Port ( 여기 예시에는 없음 )
서버 컴퓨터 내의 어떤 어플리케이션(= 어떤 데이터를 요청하는 지 결정)으로 접속할 지를 결정
예시에는 없지만 도메인 뒤에 :80 혹은 :443과 같이 붙어있는 경우가 있음
서버에서는 WAS(web application server)에 요청이 왔는지, DB에 요청이 가는 지 모르기에 이를 지정해주기도함.
web application server에서는 80, 443번을 주로 사용
Path ( news )
해당 도메인 아래의 파일 디렉토리 경로 (서브 파일 방식 : naver.com/news )
cf. 서브 도메인 방식 : blog.naver.com
Page ( news_read_naver )
파일 디렉토리에 담겨 있는 파일명 ( 주로 html 코드가 담겨있음 )
여기까지 작성하면 서버컴퓨터의 어플리케이션 내 파일에 접속 가능
Query ( mode=mainnews&office_id=018&article_id=0005433334 )
파일 내에서 해당 조건에 맞는 데이터 or 문서를 가져오기 위함
기사 아이디가 해당 조건에 맞는 기사를 보여달라고 질문하는 것
fragment ( 예시에 없음 )
자주 사용되지는 않지만, 어떤 위치의 화면을 보여줄 지 정해주는 것
#da_723712 와 같은 형태로 #과 함께 붙는다
웹어플리케이션은 주로 데이터 베이스와 연결되어있는데,
이제 이 코드가 맞는 정보를 html에 담아서 클라이언트에게 반환!
Domain 주소 결정
Domain은 역트리 구조로 이루어 진다.
finance.naver.com
일반 도메인 중 회사를 나타내는 com을 먼저 지정하고
도메인 이름 지정 naver
서브 도메인 이름 지정 finance
(단계는 3, 4차까지 가기도 함. 더 디테일한 도메인을 명명하겠지요.)
DNS(Domain Name System)
도메인을 활용해 사람이 알아보기 쉬운 문자로 이루어진 url(이름)을 컴퓨터가 이해할 수 있는 IP(주소)로 변환해주는 시스템. 그리고 반대로 IP를 url로 바꾸어주는 역할도 하는 시스템.
< 참고 >
https://xn--3e0bx5euxnjje69i70af08bea817g.xn--3e0b707e/jsp/resources/domainInfo/domainInfo.jsp