|
|
목차 |
2. HTML Meta 태그
저자는 카드 사용 내역을 확인하기 위해 LG 카드 홈페이지(www.lgcard.com)에 접속한 경험이 있다. 그러나 화면에는 LG 카드 홈페이지가 아닌, 신한카드의 홈페이지(www.shinhancard.com)가 출력되었다. LG카드가 신한카드와 통합 되었으니 그럴 수 있겠다 하면서도, [2]에서 설명하였듯이 이전 야후 홈페이지 접속을 통해 유사한 경험(사용자가 요청한 페이지에 대해 다른 페이지를 제공하는 경우)을 가지고 있던 저자는 이 역시 HTTP 302 Found 코드를 이용한 HTTP Redirection을 예상하고 패킷 캡쳐링 프로그램을 사용하여 해당 패킷을 확인해보기로 했다.
그런데 분석 결과 HTTP 응답 메시지 가운데 302 Found 코드를 담은 패킷은 어디에서도 찾을 수 없었다. 즉, 예상했던 302 Found 응답 코드를 담은 응답 HTTP 메시지는 없었고 모두 200 OK 응답 코드를 담은 HTTP 메시지뿐 이었지만, 요청했던 웹 페이지(www.lgcard.com)가 아닌 다른 웹 페이지(www.shinhancard.com)가 화면에 나타난 것이다. 결국 Redirection이 일어난 것이다.
패킷 분석 결과, 200 OK 응답 코드가 찍힌 HTTP 응답 메시지에서 www.shinhancard.com이라는 URL (Uniformed Resource Locator)이 HTML 정보에 포함되어 있는 것을 발견했으며, 이것은 LG 카드 홈페이지 요청에 대한 응답으로 화면에 출력된 홈페이지의 URL이었다. 이와 같이 HTML 정보 내에 Meta Refresh 태그 정보를 이용하여 HTTP Redirection이 가능한 것이었다. 이 Meta 태그라는 것은 무엇일까?
1장에서 설명했듯이, 우리가 인터넷을 통해 수 많은 정보들을 얻는 홈페이지는 HTML이라는 형식으로 작성되며, 이는 그림 1과 같이 문서의 전체적인 특성을 규정하는 헤드(Head) 부분과 본문 내용에 해당하는 바디(Body) 부분으로 구성된다.
그림 1. HTML 문서의 구성
앞선 사례에서 HTTP Redirection을 가능하게 했던 Meta 태그는 HTML 문서의 헤드(<head>와 </head> 사이)에 작성되며 웹 서버에서 웹 브라우저로 전달하는 정보 즉, 웹 페이지에 관한 정보를 정의하는데 사용된다.
다시 말해 Meta 태그란, 홈페이지의 디자인에는 전혀 영향을 미치지 않으면서 문서가 어떤 내용을 담고 있고, 문서의 키워드는 무엇이며, 누가 만들었는지 등의 문서 자체의 특성을 담고 있는 정보를 말한다. 이러한 Meta 태그는 표 1과 같은 형태로 웹 페이지에 관한 정보를 제공할 수 있다.
표 1. 웹 페이지의 정보를 제공하는 Meta 태그 사용의 예