>  기사  >  백엔드 개발  >  세그먼트 오류 URL을 구현하는 방법은 무엇입니까?

세그먼트 오류 URL을 구현하는 방법은 무엇입니까?

WBOY
WBOY원래의
2016-08-18 09:15:381118검색

https://segmentfault.com/a/11...
URL 뒤의 1190000000490733이 구현되는 방법과 이 방법의 이점

답글 내용:

https://segmentfault.com/a/11...
URL 뒤의 1190000000490733이 구현되는 방법과 이 방법의 이점

원하시는 답변입니다
http://segmentfault.com/q/1010000000142374

아래 답변은 모두 추측입니다. 유사점은 순전히 우연입니다!

고정된 시스템 규칙에 따라 전화를 걸어주는 글로벌 발신자와 유사한 서비스가 있습니다

처음 세 자리는 시스템 모듈 식별자용으로 예약되어 있습니다. 예를 들어 101은 Q&A, 119는 기사, 메모는 133, 위치는 128, 활동은 116, 즐겨찾기는 123 등입니다. 다른 모듈이 있을 수 있습니다.

그러면 마지막 13비트는 예약된 1조 개의 데이터에 해당하며, 시스템에서 생성된 모든 모듈의 모든 데이터는 자동으로 증가됩니다.

장점은 다음과 같습니다.
1. 모듈, 테이블, 배포 등을 통한 편리한 데이터베이스 배포
2. 편리한 서비스 지향 아키텍처
3. 데이터
4. 특정 모듈의 실제 데이터 양 숨기기
5. ID의 첫 세 자리를 통해 이 데이터가 어떤 모듈에 속하는지 빠르게 알 수 있습니다.
6. >

a는 기사를 나타내야 하며, URL은 ID 1190000000490733으로 기사를 보는 것을 의미합니다. 이러한 종류의 ID에는 무작위로 생성된 규칙이 있습니다. 그 목적은 사용자가 추측하고 크롤러가 이를 포착하는 것을 방지하는 것입니다. 뒷줄에 1, 2, 3, 4, 5 같은 정수를 넣으면 다른 사람들이 추측하기 더 쉬워집니다

RESTful 인터페이스와 매우 유사합니다. RESTful API 디자인 가이드에서 http 작업이 보다 합리적으로 사용되어 인터페이스를 명확하게 만드는 이점을 알아보세요.

구현 방법은 고유 ID가 생성되는지 확인하세요.

mysql의 uuid_short 함수를 사용하여 uuid를 생성할 수 있습니다. 물론 SF는 자체 규칙을 사용자 정의하거나 PHP 기능을 사용하여 UUID를 생성할 수도 있습니다.

테스트해본 결과 ID가 불연속적인 것으로 나타났습니다. 하위 배포를 지원하는 ID 생성 서비스에서 생성된 ID여야 한다고 추측됩니다.

<code>https://segmentfault.com/a/1190000000490733
https://segmentfault.com/q/1010000006600460</code>
글, 질문, 댓글 모두 이 ID 생성 서비스를 사용하고 있을 가능성이 높으므로 ID를 직접 +1하면 데이터에 액세스할 수 없습니다.

이 분산ID 생성기를 사용하는 이유는

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.