현재 HTTP 사양에서 URL 조각 (#
을 비롯한 URL의 일부)은 어떤 식 으로든 서버로 보내지지 않습니다. 그러나 어떤 형태의 상태를 유지하기 위해 프래그먼트를 사용하는 AJAX의 보급이 늘어남에 따라 서버가 요청시 URL 단편에 대한 지식을 갖는 것이 유용 할 수있는 많은 상황이 있습니다. FB는 부트 스트랩 JS와 HTML을 모두 다시로드하지 않고 페이지를 업데이트 할 수 있도록 - 당신이 http://facebook.com에 가면URL 조각을 HTTP 요청에 포함시키는 제안이 있었습니까?
예를 들어, 스트림에 사용자 이름을 클릭 URL은 http://faceboook.com/#!/username이 될 것입니다. 그러나 브라우저에서 이것을 다시로드하는 경우 서버는 URL의 "# /! username"부분을 볼 방법이 없으므로 컨텐츠를 사전 렌더링 할 수 없습니다. 이렇게하면 클라이언트 Javascript가 프래그먼트를로드하고 파싱 한 후에 브라우저가 강제로 추가 요청을하게됩니다.
이 작업을 수행하기위한 표준 메커니즘을 만들기위한 노력이나 제안이 있었는지 궁금합니다.
예를 들어 URL 조각의 값과 함께 전송되는 표준 HTTP 헤더가있을 수 있습니다. 이러한 것들에 관심이있는 서버라면 누구나 액세스 할 수 있습니다.
웹 응용 프로그램 커뮤니티 전체에서 매우 유용 할 것으로 보이므로 어떤 제안도 들어 본 적이 없다는 사실에 놀랐습니다. 아마 나는 그것을 놓쳤다.
쿼리 문자열이 작업을 수행하지 않는 예제가 있습니까? – hammar
'아약스는'주 (state)를 위해 조각을 사용합니다 '라고 어떻게 주장합니까? 많은 상태 정보는 기본 URL 또는 쿼리 문자열을 사용하여 필요한 모든 상태를 유지 관리합니다. – bmargulies
FB가 조각을 사용하여 현재 상태를 반영하는 방법의 두 번째 단락에 예제를 추가했습니다. 이 인스턴스에서 URL 매개 변수를 사용하면 모든 뷰 전환시 응용 프로그램이 다시로드됩니다. – levik