URL

Heidi·2022년 4월 28일
0

WEB

목록 보기
2/3
post-thumbnail

자원을 지정하는 URL


개념

URL(Uniform Resource Locator)란, 통합 자원 지시자로 인터넷의 리소스를 가리키는 표준 명칭이다.
서버의 자원을 요청할때 사용하며 URL로 인터넷 상의 모든 리소스를 요청할 수 있다.
일반적으로 아는 HTTP 뿐 아니라 FTP, SMTP 관련된 자원 요청도 가능하다.

일반적으로 우리가 아는 URL서버를 (https://www.test.co.kr) 통해 요청(/img/logo.png)을 시도하면, 웹 서버는 요청한 자원에 따라 해당 자원을 응답메세지로 클라이언트에게 전송한다.

동작원리

클라이언트 측에서 먼저 URL을 통해 요청메세지를 서버에 전송하면, 웹 서버는 파일입력 기능을 이용해 웹루트 하위의 자원을 찾아 응답메세지의 Body값에 담아 클라이언트에게 보내는 것이다.


URL 구조 분석

  1. 스키마 부분으로 사용하게 될 프로토콜이 명시되어 있는 부분이다.
  • http외에도 https, htp, file 등이 있다.
  • 해당 부분은 알파벳으로 시작해야 하며 대소문자를 가리지 않는다.

  1. 서버 주소인 호스트 부분으로 자원을 가진 컴퓨터의 위치가 명시되어 있는 부분이다.
  • 웹브라우저는 이를 참조하여 IP주소를 알아낸다.
  • 뒤에 포트번호가 원래는 표기가 되어 있어야하나, HTTP는 기본 80포트를 사용하며 생략이 가능하다. (생략되어 있는 경우는 80포트를 사용한다고 보면 된다)

  1. 자원이 존재하는 디렉토리이다.
  • 이보다 상위 디렉토리에 자원이 존재할 경우 디렉토리는 표기되지 않는다.
  • 위는 정적자원을 요청할때의 예시이다.
  • 동적 자원을 요청할 때에는 js파일 등이 들어간다.

  1. 요청할 자원의 이름이다.

자원을 지정하지 않을 경우

자원을 지정하지 않은 경우 즉, 사이트 도메인만 호출하는 경우
웹 서버에서 설정해둔 기본자본(페이지)가 호출된다.
대부분 index페이지나 iis의 경우 default페이지가 호출된다.


URL 예약 문자

URL상에서 특정 기능을 하는 문자로 웹 클라이언트와 서버 간에 서로 예약이 되어 있는 문자이다. 메타문자로도 불린다.

  • #의 경우에는 #뒤로는 끊어버리는 작용을 한다.
  • GET방식으로 URL을 전송하면 위 예약문자를 URL에서 확인할 수 있다.
  • POST방식을 사용하는 경우 요청메세지 헤더 부분을 통해 전송하여 URL로는 확인할 수 없다.
  • +는 공백으로 인식된다. test+is => test is

URL 구조 분석

데이터에 URL 예약 문자가 들어갈 경우 어떻게 전송되는가?

최근 패스워드 설정 시, 특수문자를 넣게 되어있어 의도치 않게 URL 예약문자가 들어갈 수 있기 때문에 서버에서 제대로 인식할 수 있도록 URL인코딩을 사용한다.


URL 인코딩


URL 상에서 문자를 표현하는 방법으로 데이터 전송 상에 손실을 막기 위해서 인코딩을 사용한다. 또한, 예약 문자를 단순 데이터로 전송이 될 수 있도록 인코딩을 한다.

웹 브라우저를 사용하는 경우 브라우저에서 URL 인코딩은 자동으로 해준다.

보안 관련 직종으로 취업을 원한다면 위 내용을 외워두는 것이 좋다.
진단자들은 웹브라우저가 아닌 프록시를 다루기 때문에 수동으로 변환할 일이 잦기 때문이다.


웹 구조에서 살펴본 URL 인코딩


참고 영상
https://www.inflearn.com/course/%EC%9B%B9-%EA%B8%B0%EC%88%A0-%EA%B8%B0%EC%B4%88

profile
햇님쓰 개발일기장

0개의 댓글