지난번 URL 관련 에러가 발생했었다. Network 공부 하던 중 원인을 알 수 있어서 정리한다.
0. URL란
브라우저가 정보를 찾는데 필요한 리소스의 위치를 가리킨다. URL를 이용해서 수십억개의 리소스를 찾고, 공유할 수 있다.
1. 안전한 전송
정보가 유실될 위험 없이 URL을 전송할 수 있다는 것을 의미한다. 이를 위해서 사용할 수 있는 알파벳과 URL의 인코딩 규칙이 있다.
2. URL 규칙
URL은 기본적으로 ASCII를 따른다. 그러나 최근엔 다른 나라 언어도 사용되기에, URL 설계자들은 URL에 이스케이프 문자열을 쓸 수 있게 설계했다. 이스케이프 문자열은 ASCII에서 사용이 금지된 문자들로, 특정 문자나 데이터를 인코딩할 수 있게 함으로써 이동성과 완성도를 높일 수 있다.
안전하지 않은 문자를 퍼센티지 기호로 시작해, ASCII 코드로 표현되는 두 개의 16진수 숫자로 이루어진 이스케이프 문자로 바꾼다.
몇몇 문자는 URL 내에서 예약되어 있다. 만일 URl에서 예약된 문자들이 원래 목적이 아닌 다른 용도로 사용되려면 그 전에 반드시 인코딩이 되어야 한다.
전송 프로토콜에선 별 문제가 안될수도 있지만, 개발자들은 안전하지 않은 문자를 인코딩해야한다. URL의 원형을 유지하기 위해서.
3. 출처
HTTP 완벽 가이드
'개발 끄적끄적' 카테고리의 다른 글
| [디자인 패턴] 추상 팩토리 패턴, 팩토리 메서드 패턴 (0) | 2025.10.25 |
|---|---|
| [Spring] Refresh Token, Access Token, Rotation을 이용한 로그인 구현 (OAuth2.0 + JWT) (0) | 2025.09.14 |
| [Spring] cookie, token, session (0) | 2025.08.08 |
| [Spring] Security - JWT 서버 구축 (4) | 2025.08.06 |
| [Spring] Filter vs Interceptor (2) | 2025.08.04 |