웹 해킹/웹 기초 지식

자원을 지정하는 URL

2024. 11. 6. 22:00
목차
  1. URL 개념
  2. 동작 원리(1)
  3. URL 구조 분석
  4. 동작 원리(2)
  5. URL 예약 문자(메타 문자)
  6. URL 구조 분석
  7. 데이터에 URL 예약 문자가 들어갈 경우 어떻게 전송될까?!
  8. URL 인코딩
  9. 웹 구조에서 살펴본 URL 인코딩

URL 개념

URL(Uniform Resource Locator) = 통합 자원 지시자

인터넷의 리소스를 가리키는 표준 명칭으로 서버의 자원을 요청할 때 사용된다.

URL로 인터넷 상의 모든 리소스를 요청할 수 있으며, 우리가 흔히 알고 있는 HTTP 뿐만 아니라 FTP, SMTP 관련된 자원 요청도 가능하다.

그림1 - URL 사용한 클라이언트/서버 통신

 

 

동작 원리(1)

URL로 자원 요청 시 동작 원리는 아래와 같다.

그림2 - logo.png 파일 요청

1. 클라이언트에서 URL로 자원 요청 - HTTP Request

2. 웹 서버에서 URL에 해당하는 자원을 Body 에 담아서 반환 - HTTP Response

 

 

 

URL 구조 분석

 

그림3 - URL 구조 분석

[01] 스키마

- 사용하게 될 프로토콜이 명시되어 있는 부분으로 위의 URL은 http 프로토콜을 통해 자원을 요청한다. 그 외에도 https, ftp, file 등이 있다. 해당 부분은 알파벳으로 시작해야 되며 대소문자를 가리지 않는다. 프로토콜 뒤에 콜론 ':'이 붙는다.

 

[02] 호스트(서버 주소)

- 자원을 가진 컴퓨터의 위치가 명시되어 있다. 웹 브라우저에서는 이를 참조하여 IP주소를 알아낸다. 뒤에 포트번호가 원래는 표기가 되어 있어야하나, HTTP는 기본 80포트를 사용하며 생략이 가능하다. 따라서 생략이 되어 있는 경우는 80포트를 사용한다고 볼 수 있다. 80포트가 아닌 다른 포트번호를 사용할 경우 표시를 해줘야 한다.(ex. 8080)

 

[03] 자원이 존재하는 디렉터리

- 이보다 상위 디렉터리에 자원이 존재할 경우 디렉터리는 표기되지 않는다.

 

[04] 요청할 자원의 이름

 

 

 

동작 원리(2)

자원을 지정하지 않을 경우 서버의 어떤 자원이 호출될까?

그림4 - index.jsp 반환

네이버 접속 시 naver.com으로 요청하게 된다. 이때 네이버의 웹 서버 or WAS에서는 사전에 설정해둔 기본 페이지(index 페이지)를 반환하게 된다. IIS의 경우 default 페이지도 호출된다. - 설정을 통해서 변경 가능하다.

도메인만 명시되어 있고, 자원은 명시되지 않는 경우 기본 페이지(index 페이지)를 호출한다.

 

 

 

URL 예약 문자(메타 문자)

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

문자 인코딩
? 파라미터가 시작된다는 것을 알려줌 (자원과 사용자 입력값 구분의 기준)
= 파라미터 값 대입
& 다음 파라미터 식별자
+ 공백
# 뒤에 오는 모든 것 제거
! * ( ) ; : @ $ , / [ ] 그 외 문자...

 

URL 예시

http://www.example.com/board.do?val1=test&val2=test+is

 

 

 

URL 구조 분석

그림5 - URL 구조 분석

 

 

 

 

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

그림6 - 데이터에 URL 예약 문자가 있는 경우

그림6 처럼 전송되지 않는다. cre 뒤에 &#는 데이터로 인식하지 않는다.

 

 

URL 인코딩

URL 상에서 문자를 표현하는 방법으로 데이터 전송 상에 손실을 막기 위해서 인코딩을 사용한다.

또한, 예약 문자를 단순 데이터로 전송이 될 수 있도록 인코딩을 한다.

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

※아래의 인코딩 문자는 외워 두는 것이 좋다.

문자 인코딩
& %26
% %25
+ %2B
공백 %20
= %3D
# %23
' %27
? %3F

 

 

 

 

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

그림7 - 로그인 시 입력한 데이터가 웹 브라우저를 통해 서버로 전송되는 과정

 

1. 사용자는 아이디와 패스워드를 입력하여 로그인 한다.

2. 웹 브라우저는 아이디와 패스워드 값 내에 있는 URL 예약 문자를 인코딩하여 서버로 전송한다. - HTTP Request

 

 

 

 

 

 

 

 

 

 

 

 

참고

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

'웹 해킹 > 웹 기초 지식' 카테고리의 다른 글

쿠키와 세션  (1) 2024.11.09
웹의 핵심 기술 HTTP 프로토콜  (1) 2024.11.08
XAMPP 설치 및 URL 예약문자, URL 인코딩 실습  (3) 2024.11.07
웹을 구성하는 3대 요소  (0) 2024.11.05
웹의 탄생 및 발전  (6) 2024.11.04
  1. URL 개념
  2. 동작 원리(1)
  3. URL 구조 분석
  4. 동작 원리(2)
  5. URL 예약 문자(메타 문자)
  6. URL 구조 분석
  7. 데이터에 URL 예약 문자가 들어갈 경우 어떻게 전송될까?!
  8. URL 인코딩
  9. 웹 구조에서 살펴본 URL 인코딩
'웹 해킹/웹 기초 지식' 카테고리의 다른 글
  • 웹의 핵심 기술 HTTP 프로토콜
  • XAMPP 설치 및 URL 예약문자, URL 인코딩 실습
  • 웹을 구성하는 3대 요소
  • 웹의 탄생 및 발전
Security Engineer
Security Engineer
IT 공부
Security Engineer
IT-log
Security Engineer
전체
오늘
어제
  • 분류 전체보기 (176) N
    • Programming (39)
      • Python 웹 스크래퍼 만들기 (39)
    • IT 지식 (69) N
      • IT 정보 (27)
      • CS 기초 (24)
      • 운영체제 (8)
      • IT 인프라 기초 (10) N
    • 보안 (45)
      • 악성코드 분석 (10)
      • Bandit 워게임 (25)
      • 취미로 해킹 2 (6)
      • 환경 구축 (4)
    • 웹 해킹 (23)
      • 웹 기초 지식 (8)
      • SQL 기본 (2)
      • 웹 해킹 및 시큐어 코딩 기초 (13)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • CSS
  • bandit
  • 웹 해킹
  • IT 인프라
  • 워게임
  • 해킹
  • WarGame
  • 운영체제
  • 시큐어 코딩
  • 악성코드
  • 취미로 해킹
  • Selenium
  • 악성코드 분석
  • webScrapper
  • 취미로해킹
  • Python
  • Web
  • 리눅스
  • Beautifulsoup
  • 파이썬
  • CS 기초
  • overthewire
  • 컴퓨터
  • HTML
  • 모의해킹
  • CS
  • 웹 개발
  • Def
  • flask
  • it 운영

최근 댓글

최근 글

hELLO · Designed By 정상우.
Security Engineer
자원을 지정하는 URL
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.