source

URL의 앵커 부분이 웹 서버로 전송되고 있습니까?

lovecheck 2023. 9. 14. 23:20
반응형

URL의 앵커 부분이 웹 서버로 전송되고 있습니까?

저기 URL이 있어요http://www.example.com/#hello.

  1. 윌더#hello표준에 따라 웹 서버로 보내질 것인가 말 것인가요?
  2. 현대 브라우저는 어떻게 작동합니까?

이 질문에 대한 답변은 ASP용 URL의 앵커 링크 검색에 대한 답변과 유사합니다.NET.

기본적으로, RFC 1808 - 상대적 균일 자원 로케이터(섹션 2.4.1 참조)의 표준에 따르면, 다음과 같습니다.

"프래그먼트 식별자는 URL의 일부로 간주되지 않습니다."

stephbu가 지적한 바와 같이, "앵커 태그는 어떤 브라우저에 의해서도 HTTP 요청의 일부로 보내지 않습니다.브라우저 내에서만 로컬로 해석됩니다."

해시 변수가 웹 서버로 전혀 전송되지 않습니다.

예를 들어 Firefox에서 http://www.whatismyip.org/ #test를 요청하면 다음과 같은 HTTP 요청 패킷이 전송됩니다.

GET / HTTP/1.1
Host: www.whatismyip.org
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Cache-Control: max-age=0

#가 어디에도 없다는 것을 알게 될 것입니다.#를 네비게이션의 형태로 사용하는 페이지는 자바스크립트를 통해 실행하고 있습니다.이 매개 변수는 다음을 통해 액세스할 수 있습니다.window.location.hash변수

앵커 부분(# 뒤)은 PHP의 $_SERVER 변수에 전송되지 않습니다.URL에서 해당 정보를 가져올 수 있는 방법이 있는지 여부를 알 수 없습니다(제가 알기로는 불가능합니다).브라우저가 페이지에서 위치를 찾을 때만 사용하도록 되어 있으므로 앵커를 클릭하면 페이지가 다시 로드되지 않습니다.<a href="#hello">hello</a>

언급URL : https://stackoverflow.com/questions/3067491/is-the-anchor-part-of-a-url-being-sent-to-a-web-server

반응형