2013-03-15 2 views
3

상대 경로가 포함 된 후행 슬래시 질문에 대해서는 서버 측에서 많은 답변을 찾았지만 클라이언트 측에는 답변이 없습니다. 도와주세요.URL : 후행 슬래시가있는 상대 경로 규칙을 따르십시오.

웹 크롤러를 작성하여 일련의 웹 사이트에 대한 통계를 작성하고 있으며 문제가 발생했습니다. 내가 함께 일하고 있어요 하나의 웹 사이트가 후행 슬래시와 상대 경로와 네비게이션 바 있고, 그 경로과 같이 절대적으로 처리 할 계획 : 페이지 http://www.example.com/foo/bar

네비게이션 바는 주소 링크 ->foo/, baz/을, quox/

위한 절대 URL ->http://www.example.com/foo/, http://www.example.com/baz/, http://www.example.com/quox/ 문제는 지금까지의 내가 말할 수있는 것입니다

이 비표준 동작입니다 - 아직 파이어 폭스와 크롬 모두 한 절대적으로 그 길을 dle. RFC 1808RFC 2396에 따르면, 이들은 다음과 같이, 상대 경로처럼 처리해야

스펙 - 정확한 절대 URL ->http://www.example.com/foo/foo/, http://www.example.com/foo/baz/, 특히 http://www.example.com/foo/quox/

를 5.1에서 RFC 1808 C.1에 RFC 2396에서 네 번째 예제는이 경우가 특히 상대 경로로 처리되는 것을 보여줍니다. 크롤러를 작성중인 Ruby에서 Addressable gem은 사양에 따라 처리합니다.

은 더 나쁜 것은 문제의 서버가이 경로에 대한 200 OK를 반환 할 행복, 그리고 그들 모두는이 네비게이션 바있다 : 그래서 된 조합에, 등등 http://www.example.com/foo/foo/, http://www.example.com/foo/foo/foo/ 같은 페이지입니다 http://www.example.com/foo/를 크롤링 끝내고 이상한 URL은 http://www.example.com/foo/baz/quox/foo/

과 같습니다. Chrome과 Firefox에서이 URL을 절대 경로로 해석 할 수있는 항목이 누락 되었습니까? 명세가 정확하고 절대 경로가 의도 된 경우를 명확하게하는 방법이 있습니까?

답변

1

페이지의 상대 경로에 대한 기본 URL을 지정하는 데 사용되는 <head> 요소 내에 정의 된 <base> 태그가 있어야합니다.

RFC-1808