DecordRay

URL이란? 본문

공부/웹 크롤링

URL이란?

DecordRay 2023. 2. 16. 21:24
728x90
반응형
웹 크롤링을 학습하기 전에 URL에 대한 기본적인 이해부터 시작해보자!

 

Client와 Server의 기본적인 구조

  •  Client
    • 브라우저를 통해 서버에 데이터를 요청
  • Server
    • Client가 데이터를 요청하면 요청에 따라 데이터를 전송

URL(Uniform Resource Locator)이란?

 

Ex)

http://news.naver.com:80/main/read.nhn?mode=LSD&mid=shm&sid1=105&oid=001&aid=0009847211#da_727145 

라는 url을 통해 구조를 알아보자!

 

  • https:// - Protocol 
  • news - Sub Domain
  • naver.com - Domain
  • 80 - Port 
  • /main/ - Path
  • read.nhn - Page
  • ?mode = ?mode=LSD&mid=shm&sid1=105&oid=001&aid=0009847211 - Query
  • #da_727145 - Fragment

의 구조로 파헤쳐 볼 수 있다.

 

그렇다면 프로토콜, 도메인 등 이런 용어들은 무엇일까?

 

Protocol(프로토콜)

웹사이트에서 서버와 클라이언트간에 어떤 방법으로 자원을 접근할지 알려주는 통신 규약 중 하나

브라우저에서 가장 많이 사용되는 프로토콜인 https:, http:는 웹브라우저와 웹서버 사이에서 웹문서 및 구성 자원을 전송하기 위한 프로토콜이다.

많은 웹사이트들이 https를 기본 프로토콜로 사용하고 있으며 이는 http 보다 보안이 강화된 버전이다.

 

Domain(도메인)

URL에서 웹서버의 위치를 지정하는 부분

주로 www.example.com과 같이  도메인 이름으로 사용하지만 123.0.0.1과 같은 IP 주소로도 사용할 수 있다.

예시 도메인에서 www. 부분 서브 도메인 혹은 호스트 이름이라고 부르며 이는 특정 웹사이트에 접근하는 데 사용된다.

(+ 위의 예시의 url의 경우 www.에 해당하는 부분은 news. 이다.)

다음으로 나오는 example.com이  도메인 이름으로 네트워크상에서 컴퓨터를 식별하는 호스트명이다. 

 

Port(포트번호)

웹서버에서 자원을 접근하기 위해 사용하는 게이트 번호(+ 웹 서버에서 제공하는 서비스 중 어떤 서비스를 요청할 것인가)

표준 http에서는 80, https에서는 443이며 공통의 약속이다 보니 굳이 작성하지 않아도 브라우저가 알아서 처리해서 보여준다.

* Tip - 기본적으로는 웹서비스를 요청하기 때문에 80, 443 Port번호를 주로 사용하지만 DB 서비스를 요청할경우 Port번호는 3306을 사용한다.

 

Path(패스), Page(페이지)

컴퓨터에는 파일 시스템이 존재한다. 서버도 일종의 컴퓨터이기 때문에 서버컴퓨터에도 파일 시스템이 존재한다.

  • /main/ - Path
  • read.nhn - Page

그렇기에 위 예시에서 path에 해당하는 /main/은 컴퓨터 파일 시스템을 예로 들었을때 폴더 경로에 해당하며, read.nhn은 폴더 안에 있는 파일을 의미한다고 이해하면 될 것 같다.

* Tip - 예를들어 인터넷 상에서 pdf를 다운받게 되면 url 마지막 부분에 .pdf가 있을텐데 이 부분이 page에 해당하는 부분이다. 이를 생각해보면 이해가 좀 더 수월 할 것 같다.

 

Query(쿼리)

서버에 특정 요청을 하기 위한 부분

예를들어 뉴스 웹 사이트에서 특정 뉴스기사를 보기를 원할때 사용한다고 생각하면 이해가 쉽다.

 

Fragment(프래그먼트)

웹 사이트 내의 특정 위치로 이동 시켜주는 부분

+ 블로그를 들어갔을때 목차를 누르면 해당 위치로 이동하는 것을 생각해보면 이해가 쉬울 것 같다.

728x90
반응형

'공부 > 웹 크롤링' 카테고리의 다른 글

쿠키(Cookie), 세션(Session), 캐시(Cache)  (0) 2023.02.16
데이터 요청 방식(Get,Post)  (0) 2023.02.16
HTTP 상태 코드  (0) 2023.02.16
Comments