문제

중 하나는 많은 것들은 부족했던 내 스크레이퍼 서비스 나는 설정 마지막 주는 꽤 Url.지금 사용자 매개 변수가 전달되는 스크립트로 ?u=, 는 현상의 해킹(는 스크립트를 틀림없이)가 있습니다.그러나 나는 생각에 대해 다시 그것을 받고 싶어요 일부 의견에 옵션을 사용할 수 있습니다.지금은 두 가지가 있는 페이지고,업데이트 및 차트 정보를 제공합니다.여기에는 두 가지 가능성을 나왔습니다."1234"가 사용자 ID 숫자입니다.에 대한 기술적 이유로 사용자 이름도 사용할 수 없:

  • http://< tld>/업데이트/1234
  • http://< tld>/도표/1234

  • http://< tld>/1234/업데이트
  • http://< tld>/1234/chart

Option#1 개념적으로,전화입 업데이트와 함께 사용자 ID 입니다.Option#2 을 제공하는 동사에서 작동하는 사용자 ID 입니다.

서 일관성의 관점에서,는 더 많은 의미가?


또 다른 옵션 설명

  • http://< tld>/user/1234/업데이트
  • http://< tld>/user/1234/chart

이를위한 공간을 제공합니다 페이지에 관련된 특정 사용자.즉

  • http://< tld>/통계
도움이 되었습니까?

해결책

내가 부드럽게 생각하는 경향으로 최고의 userid--option#2-그(것이 존재하의)디렉토리 구조는 두 개의 서로 다른 기능을 통해 사용자의 데이터입니다.그것은 사용자의 차트,사용자의 업데이트합니다.

그것은 아주 작은 포인트,하지만,없이 알고 있는 경우에는 계획에 대한 상당한 확장의 기능을 본 것입니다.

  • 모든 것은 앞으로 될 것 기능 추가 foo 및 바 baz 에 대한 개별 사용자가?그렇다면,옵션#2 더 매력적인 위의 이유--userid 핵심 데이터를,그것의 종류를 시작으로 그것이 의미.
  • 당신이 추가-사용자 중심 기능이?선도하는 헤더와 디렉토리 의미가 있습니다 그때--/user/1234,업데이트//user/1234/도표를,/질문/45678/활동/질문/45678/통계,등등.

다른 팁

이동하는 경우 이 계획으로 그것은 간단하게 되면 정지(잘)에서 로봇을 모두에 프레임 사이트:

 http://< tld >/update/1234
 http://< tld >/chart/1234

이할 수 있기 때문에 설치/robots.txt 파일을 포함합니다:

 Disallow /update/
 Disallow /chart/

나에게는 좋은 보너스는 자주 간과된다.

Option#1 경기 일반 ASP.NET MVC 예입니다.몇몇의 예에 모델 뷰 컨트롤러 모델 양식{컨트롤러}/{action}/{id}.이 .NET3.5 빠른 라우팅 테이블 일부를 보여주는 유효한 경로 패턴:

경로 정의 --예의 일치하는 URL

{컨트롤러}/{action}/{id} --/제품/쇼 음료

{table}/세요.aspx --/제품/상세정보.aspx

블로그/{action}/{항목} --/블로그/보/123

{reporttype}/{해}/{month}/{일} --/판매/2008/1/5

{locale}/{action}
--/en-US/표시

언어{}-{국가}/{action}
--/en-US/표시

나 개인적으로 제일 좋아하는 스타일을 유지하기 때문에 사용자의 동의,하지만 당신은 특정에 대한 통찰력을니다.

  • http://< tld>/1234/업데이트
  • http://< tld>/1234/chart

는 경우 다른 방법으로 갔다가 기대하는 것을 볼 수 있도록 모든 것을 아래에서 업데이트/도표와 좁은 다음에 사용자에 의해.

이동 후자;Url 을 의미는 계층 구조(또는,적어도 사용자로 읽는 방법으로 유례를 로컬 디렉토리 경로).여기에 초점이 다른 뷰의 특정 사용자,그래서"사용자"는 일반적인 개념과해야 먼저 나타납니다.

내가 대답하는 질문 "당신은 어떻게 구조의 URL 경로?" 나에 대한 의견을을 만드는 Url 을/를,해킹이 불가하고 사용자 친화적이다.내가 생각하는 것이 좋을 것입니다 링크를 작성하는 것보다 비슷한 이 질문에 따라서 링크가 있습니다.

나에서 동의 컨텍스트의 관점에서,응용 프로그램에 의해 다음 매개변수들에게 훨씬 더 감각을 나보다 대리 키에 대한 항목에 의해 다음의 컨텍스트의 것 항목입니다.궁극적으로 나는 나는 이제까지 당신을 위해 더 자연스럽게 프로그램입니다.

컨벤션 객체를 말한다/동사/ID,그래서 그것을 이어야 한다:

http://< tld>/user/업데이트/1234

(나는 그에 일치하는 업데이트 질문:)

그래서 그래,3 위는 최고의 선택입니다.

이 지원하는 비용 작업으로 언급하(통계)뿐만 아니라,다중 사용자 작업:

http://< tld>/user/목록/

는 경우 방법이 있는 목록의 사용자가 나를 소개하는 사용자 세그먼트:

http://< tld >/users/ <--- user list
http://< tld >/users/1234/ <--- user profile, use overloaded POST on this to update.
http://< tld >/users/1234/chart/ <--- user chart

는 경우에만 볼 수 있습니다 당신의 자신의 정보 즉,사용자가 보이지 않게 서로,당신은 당신이 필요하지 않은 사용자 id 로부터 당신은에서 유추할 수 있 세션에서는 어떤 경우:

http://< tld >/user/ <--- user profile, use overloaded POST on this to update.
http://< tld >/user/chart/ <--- user chart
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top