리액트 라우터의 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.history
WEB 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
'source' 카테고리의 다른 글
setState 메서드를 호출하면 상태가 즉시 변환되지 않는 이유는 무엇입니까? (0) | 2023.02.28 |
---|---|
Woocommerce의 Linked Product에서 커스텀 필드를 추가하는 방법 (0) | 2023.02.28 |
왼쪽 조인에서 조인된 행 수를 카운트하는 중 (0) | 2023.02.23 |
Spring Boot에서 다양한 데이터베이스 구성을 제공하려면 어떻게 해야 합니까? (0) | 2023.02.23 |
Angular.js를 사용하여 페이지 번호 매기기/테이블 레이아웃을 구현하는 방법 (0) | 2023.02.23 |