> 백엔드 개발 > PHP 튜토리얼 > 서버가 URL의 해시 부분에 액세스할 수 없는 이유는 무엇입니까?

서버가 URL의 해시 부분에 액세스할 수 없는 이유는 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-19 11:23:08
원래의
560명이 탐색했습니다.

Why Can't Servers Access the Hash Part of a URL?

서버 측에서 URL의 해시 부분에 접근할 수 없는 이유는 무엇입니까?

웹 개발에서 URL은 여러 구성 요소로 구성됩니다. 프로토콜, 도메인 이름, 경로 및 해시를 포함합니다. "#" 기호로 표시되는 해시는 제목이나 섹션 등 페이지의 특정 부분을 식별하는 데 사용됩니다.

질문:

그러나 , URL의 해시 부분을 서버 측에서 사용할 수 없는 것으로 관찰되었습니다. 예를 들어, 사용자가 브라우저의 주소 표시줄에 "http://www.foo.com/page.php?parameter=kickme#MOREURL"을 입력하면 서버는 "#MOREURL" 부분을 수신하지 않습니다.

답변:

예, 외부 도구를 사용하지 않으면 URL의 해시 부분에 서버에 액세스할 수 없습니다. 이는 해시 구성요소가 브라우저 클라이언트에서만 처리되도록 되어 있기 때문입니다. 서버는 HTTP 요청의 일부로 이를 수신하지 않습니다.

설명:

HTML 표준에 따르면 해시 조각은 서버로 전송되지 않습니다. 브라우저는 이를 해석하고 페이지의 특정 위치로 스크롤하는 등 다양한 방법으로 처리할 수 있습니다. 이 동작은 PHP와 같은 다양한 브라우저 및 서버 측 기술에서 일관됩니다.

Wikipedia에서는 추가 설명을 제공합니다.

"조각 식별자는 URI의 나머지 부분과 다르게 작동합니다. 즉, 해당 처리는 다음과 같습니다. 서버의 참여 없이 클라이언트측에서만 에이전트(예: 웹 브라우저)가 웹 서버에서 리소스를 요청하면 에이전트는 서버에 URI를 보내지만 대신 조각을 보내지 않습니다. 에이전트는 서버가 리소스를 보내기를 기다린 후 조각 값에 따라 리소스를 처리합니다."

위 내용은 서버가 URL의 해시 부분에 액세스할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿