source

리액트 라우터의 hashHistory와 browserHistory의 차이점은 무엇입니까?

gigabyte 2023. 2. 28. 23:33
반응형

리액트 라우터의 hashHistory와 browserHistory의 차이점은 무엇입니까?

구글에서 꽤 검색했지만 다음 질문에 대한 명확한 답을 찾을 수 없었습니다.리액트 라우터의 hashHistory와 browserHistory의 차이점은 무엇입니까?

기본적인 차이점은 hashHistory는 http://myurl.com/ #page/another_page/another_page 등의 URL을 사용한다는 것입니다.

Browser History를 사용하면 일반 URL(해시 없음)을 얻을 수 있습니다.http://myurl.com/page/another_page/another_page

첫 번째 차이점:

서로 다른 WEB API를 사용하고 있습니다. <HashRouter>URL에서 해시를 사용하고 읽습니다.<BrowserRouter>사용하다window.historyWEB API.

두 번째 차이:

<HashRouter>정적 한 페이지 웹 사이트에 사용됩니다.브라우저 기반 프로젝트에 적합합니다. <BrowserRouter>는 다이내믹 웹 사이트에 사용됩니다.동적 요청을 처리하는 서버가 있을 때 사용해야 합니다(가능한 URL에 응답하는 방법을 알고 있음).

형식상의 차이를 묻는 것이 아니라 기술적인 질문이었던 것 같습니다.따라서 기술적인 차이와 함께 이 답변을 공유합니다.https://stackoverflow.com/a/42157741/2445694

기본적으로 브라우저는 # 뒤에 URL을 보내지 않습니다.

웹사이트가 회원과 관리자의 영역을 제한했다고 가정해 보겠습니다.사용자가 /member로 이동하여 로그인하라는 메시지가 나타납니다.그러나 서버는 로그인 페이지에 접속하기 전에 사용자가 /admin 또는 /member에 액세스하려고 했는지 알 수 없기 때문에 로그인 후 리디렉션할 위치를 알 수 없습니다.

1) 브라우저의 로케이션 배열에는 어플리케이션 내에서 방문한 로케이션뿐만 아니라 다른 로케이션도 포함되어 있습니다.이 목록에 대한 액세스를 허용하면 웹 사이트에 액세스할 수 없는 사용자의 검색 기록에 대한 정보가 유출됩니다.

2) 브라우저 내역은 경로 이름이 URL의 전체 경로 이름인 위치 개체를 만듭니다.다만, 이력의 베이스명을 지정할 수 있습니다.이 경우, 풀 패스명의 일부는 사실상 무시됩니다.

3) 스태틱 파일서버의 브라우저 히스토리는 서버상에 HTML을 취득하기 위한 실제 로케이션을 1개 가지고 있습니다.해시 히스토리는 URL의 해시 섹션을 사용하여 로케이션을 설정 및 읽습니다.

4) Hash History는 모든 경로 정보를 URL의 해시에 저장하기 때문에 의존합니다.

언급URL : https://stackoverflow.com/questions/36289683/what-is-the-difference-between-hashhistory-and-browserhistory-in-react-router

반응형