서버 측에서 URL의 해시 부분에 접근할 수 없는 이유는 무엇입니까?
웹 개발에서 URL은 여러 구성 요소로 구성됩니다. 프로토콜, 도메인 이름, 경로 및 해시를 포함합니다. "#" 기호로 표시되는 해시는 제목이나 섹션 등 페이지의 특정 부분을 식별하는 데 사용됩니다.
질문:
그러나 , URL의 해시 부분을 서버 측에서 사용할 수 없는 것으로 관찰되었습니다. 예를 들어, 사용자가 브라우저의 주소 표시줄에 "http://www.foo.com/page.php?parameter=kickme#MOREURL"을 입력하면 서버는 "#MOREURL" 부분을 수신하지 않습니다.
답변:
예, 외부 도구를 사용하지 않으면 URL의 해시 부분에 서버에 액세스할 수 없습니다. 이는 해시 구성요소가 브라우저 클라이언트에서만 처리되도록 되어 있기 때문입니다. 서버는 HTTP 요청의 일부로 이를 수신하지 않습니다.
설명:
HTML 표준에 따르면 해시 조각은 서버로 전송되지 않습니다. 브라우저는 이를 해석하고 페이지의 특정 위치로 스크롤하는 등 다양한 방법으로 처리할 수 있습니다. 이 동작은 PHP와 같은 다양한 브라우저 및 서버 측 기술에서 일관됩니다.
Wikipedia에서는 추가 설명을 제공합니다.
"조각 식별자는 URI의 나머지 부분과 다르게 작동합니다. 즉, 해당 처리는 다음과 같습니다. 서버의 참여 없이 클라이언트측에서만 에이전트(예: 웹 브라우저)가 웹 서버에서 리소스를 요청하면 에이전트는 서버에 URI를 보내지만 대신 조각을 보내지 않습니다. 에이전트는 서버가 리소스를 보내기를 기다린 후 조각 값에 따라 리소스를 처리합니다."
위 내용은 서버가 URL의 해시 부분에 액세스할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!