제어문자
URL에 제어문자 \t와 같은 걸 넣으면 '', 't' 문자 그대로 들어가서 제어문자로 인식을 안하고 문자로서 인식을 한다고 하던데 왜 그런지 이해할만한 이유가 있나요... 납득이 가면 공부에 더 도움이 될 거 같아 질문합니다!
#web
작성자 정보
답변
1
fow
대표 업적 없음
안녕하세요,
가장 가능성이 있는 이유는 URI의 스펙입니다.
URI의 스펙을 정의하는 RFC3986의 reserved character 항목을 보면, 백슬래시가 포함되지 않는 것을 확인할 수 있습니다. 따라서, 백슬래시가 URI에서 특별한 의미를 가지는 것은 아니기 때문에 URI를 파싱할 때 백슬래시 문자를 그대로 해석하는 것이라고 생각할 수 있습니다.
다만, 상기한 RFC에서 백슬래시의 역할을 정의한 부분이 존재하지 않는 것으로 파악되기 때문에 해당 부분에 대한 의문이 존재합니다만, 통상적인 구현이 백슬래시가 예약 문자가 아니라는 부분에 초점을 두어 이런 결론이 나오지 않았을까 추측합니다.
물론 이렇게 넘겨진 백슬래시는 웹서버 등 다른 프로그램이 해석하는 과정에서 타 문자와 결합되어 제어 문자와 같은 형태로 해석될 수 있습니다.
혹시 잘못된 부분이나 미처 짚고 넘어가지 못한 부분이 있으면 답글 남겨주세요.