메타문자(meta character)
메타문자는 어떤 기능에서 특별한 용도 또는 의미를 가지고 있는 문자를 뜻하며, 의미문자, 특수문자(기호)라고도 부릅니다.
ex) URL에서 https://www.test.com/lab/file?name=repo&date=231215
=> ? : 요청 파라미터의 시작
=> = : 파라미터의 이름과 값을 구분
=> & : 파라미터와 파라미터를 구분
ex) SQL문에서 select * from users where id = 'susujin' and pw = '1234'
=> ' '(작은따옴표) : 문자열 데이터의 시작과 끝
이스케이프
이스케이프는 의미문자에서 의미를 제거하고 문자 그 자체로 사용하고자 할 때 씁니다.
이스케이프 방법
1) 인코딩 방법을 이용해서 다른 형태로 변경하여 처리
2) 특정 기능에서 약속한 방법으로 변경하여 처리
3) 이스케이프를 의미하는 의미문자(\)를 이용하여 처리
ex) id 요청 파라미터 값으로 Park & Kim을 전달하고자 할 때
X => https://www.test.com/lab/person?id=Park&Kim
X => id 요청 파라미터 값으로 Park가 설정되고 Kim은 없는 것으로 설정
O => https://www.test.com/lab/person?id=Park%26Kim
O => URL에서 특수기호를 사용하고자 할 때는 URL 인코딩 방법을 사용
ex) id 값으로 i'm susujin의 값을 가지는 정보를 조회
X => select * from users where id = 'i'm susujin' (구문오류 발생)
O => select * from users where id = 'i''m susujin' (MySQL DB에서 홑따옴 글자로 인식)
O => select * from users where id = 'i\'m susujin' (이스케이프 문자를 이용하여 처리)