[url] URL에 슬래시를 언제 사용해야합니까?

URL에서 슬래시를 언제 사용해야합니까? 예를 들어-내 URL이 /about-us/같아야 /about-us합니까?

SEO 관련 문제에 대해 잘 알고 있습니다. 중복 된 콘텐츠와 정식입니다. 페이지를 올바로 게재하기 위해 사용해야하는 것을 파악하려고합니다 .

예를 들어, 내 동료는 끝에 슬래시가 “폴더”- “디렉토리”임을 의미하므로 올바른 스타일이 아닙니다. 그러나 슬래시가 없으면 폴더와 거의 같기 때문에 정확하지는 않지만 파일이 아니며 정상적인 파일이 아니라 확장자가없는 파일 이름입니다.

어느 것을 사용해야하는지 알 수있는 적절한 방법이 있습니까?



답변

개인적으로 슬래시가 잘못 사용되었습니다.

기본적으로 URL 형식은 파일과 폴더의 동일한 UNIX 형식에서 나 왔으며 나중에 DOS 시스템에서 웹에 맞게 조정되었습니다.

Unix와 유사한 운영 체제에서이 책의 ​​일반적인 URL은 file : ///home/username/RomeoAndJuliet.pdf와 같은 파일 경로이며 파일에 저장된 전자 책을 로컬 하드 디스크에 식별합니다.

출처 : Wikipedia : Uniform Resource Identifier

읽을만한 또 다른 소스 : Wikipedia : URI Scheme

1994 년에 URL을 정의한 RFC 1738에 따르면, 자원에 다른 자원에 대한 참조가 포함 된 경우 상대 링크를 사용하여 다음과 같은 상대를 제외하고는 “이와 같은 위치에서 두 번째 자원의 위치를 ​​정의 할 수 있습니다” 통로”. 이러한 상대 URL은 상대 링크의 기반이되는 계층 구조를 포함하는 원래 URL에 의존하며 ftp, http 및 파일 URL 스킴은 계층 구조로 간주 될 수있는 일부의 예입니다 . 계층 구조의 구성 요소는 “/”로 구분됩니다.

출처 : Wikipedia URL (Uniform Resource Locator)

또한:

그것이 우리가 자주 듣는 질문입니다. 대답에 앞서! 역사적으로 슬래시가있는 URL은 디렉토리를 나타내며, 슬래시가없는 파일은 파일을 나타냅니다.

http://example.com/foo/ (일반적으로 디렉토리 뒤에 슬래시 포함)

http://example.com/foo (후행 슬래시없이, 일반적으로 파일)

출처 : Google WebMaster Central 블로그-슬래시 또는 슬래시

드디어:

  1. URL 끝에 슬래시가 있으면 주소가 “예쁜”것처럼 보입니다.

  2. 끝에 슬래시가없고 확장자가없는 URL은 다소 “이상하게”보입니다.

  3. CSS 파일 이름을 지정하지 마십시오 (예 : http://www.sample.com/stylesheet/ ) ?

그러나 나는 환경에 관계없이 웹 모범 사례를지지하고 있습니다. 내선이없는 URL에 대해 말했듯이 불쾌하고 불분명 할 수 있습니다.


답변

선호의 문제는 아닙니다. /base그리고 /base/다른 의미를 가지고있다. 많은 경우에 그 차이는 중요하지 않습니다. 그러나 상대 URL이있을 때 중요합니다.

  • child에 상대적 /base/입니다 /base/child.
  • child에 대해 /base(아마도 놀랍게도) /child.

답변

나는 디렉토리가 아닌 URL (WordPress)에서 슬래시를 광범위하게 사용하는 것에 항상 놀랐습니다. 자원이 의미 상 잘못 된 후에 슬래시를두기 때문에 이것은 실제로 논쟁 중 하나가 아닙니다. 웹은 주소 지정 가능한 리소스를 제공하도록 설계되었으며 이러한 주소 (URL)는 * nix 스타일 파일 시스템 계층 구조를 에뮬레이트하도록 설계되었습니다. 그런 맥락에서 :

  • 슬래시는 항상 파일을 나타내지 않고 디렉토리를 나타냅니다.
  • 파일 이름은 확장명을 포함하거나 포함하지 않는 이름으로 지정할 수 있지만 슬래시를 포함하거나 포함 할 수 없습니다.

이 지침을 사용하면 디렉토리가 아닌 자원 뒤에 슬래시를 두는 것은 잘못입니다.


답변

그것은 실제로 미학의 문제가 아니라 기술적 인 차이입니다. 디렉토리의 생각은 완전히 정확하고 거의 모든 것을 설명합니다. 해결해 봅시다 :

당신은 지금 석기 시대에 돌아 왔거나 정적 페이지 만 제공합니다

웹 서버에는 디렉토리 구조가 고정되어 있으며 이미지, html 등과 같은 정적 파일 만 있습니다. 서버 측 스크립트 나 그 밖의 어떤 것도 없습니다.

브라우저가 요청 /index.htm하고 존재하며 클라이언트에게 전달됩니다. 나중에 당신은 DVD 영화 리뷰와 /dvd/디렉토리 에 그들 각각에 대한 html 페이지를 많이 가지고 있습니다 . 이제 누군가 요청 /dvd/adams_apples.htm하고 거기에 있기 때문에 전달됩니다.

언젠가 누군가가 요청 하는 것입니다/dvd/디렉토리 이며 서버는 무엇을 전달할 것인지 알아 내려고합니다. 액세스 제한 외에도 두 가지 가능성이 있습니다. 사용자에게 디렉토리 내용을 표시하거나 (이미 어딘가에 보았을 것입니다) 기본 파일을 표시합니다 (Apache에서는 다음과 같습니다).DirectoryIndex: sets the file that Apache will serve if a directory is requested. )

지금까지는 이것이 예상되는 경우입니다.이미 처리의 차이점을 보여 주므로 들어가십시오.

오전 5시 34 분에 파일을 업로드하는 중에 실수가 발생했습니다.

(이것은 완전히 이해할 수 있습니다.) 따라서, 당신은 완전히 잘못된 것을했고 업로드 하지 않고 /dvd/the_big_lebowski.htm파일을 dvd(확장자없이)/ .

누군가 귀하의 /dvd/디렉토리 목록을 북마크에 추가했습니다 (물론 그 멋진 목록을 만들고 항상 업데이트하고 싶지는 않았습니다)index.htm 사이트 ) 웹 사이트를 방문하고 있습니다. 디렉토리 내용이 모두 제공됩니다.

누군가 귀하의 목록을 듣고 입력 중 /dvd입니다. 그리고 지금은 망했다. 서버는 DVD 디렉토리 목록 대신 해당 이름의 파일을 찾고 Big Lebowski 파일을 전달합니다.

따라서 해당 파일을 삭제하고 페이지를 다시로드하도록 지시합니다. 귀하의 서버는/dvd 파일을 찾지 만 사라졌습니다. 그런 다음 대부분의 서버는 해당 이름의 디렉토리가 있음을 확인하고 찾고 있던 것이 실제로 다른 곳임을 클라이언트에게 알려줍니다. 응답은 다음과 같습니다.

Status Code:301 Moved PermanentlyLocation: http://[...]/dvd/

그래서, 당신이 무엇 완전히 무시 다른 말하지 않는 한 – – 디렉토리 나 파일에 대해 서버는 같은 물건을 처리 할 수 있습니다 생각 “슬래시 여부”의 의미에 대해 당신을 위해 결정한다.

마지막으로이 응답을받은 후 클라이언트가로드 /dvd/되고 모든 것이 정상입니다.

괜찮아? 아니.

“괜찮아”는 당신에게 충분하지 않습니다

모든 것이 전달되고 /index.php처리 되는 동적 페이지 가 있습니다. 지금까지 모든 것이 잘 작동했지만 그 전체가 느리게 느껴지기 시작했습니다.

곧, /dvd/list정확히 똑같이하고 있음을 알 수 있습니다. 리디렉션 /dvd/list/은 내부적으로로 번역됩니다 index.php?controller=dvd&action=list. 하나의 추가 요청-그러나 더 나쁜! customer/login의 리디렉션 customer/login/URL로 리디렉션합니다 customer/login/. 당신은 가지고 결국 t 사용자 경험을 느리게 만드는 불필요한 HTTP 리디렉트 (= 추가 요청)의합니다.

: 대부분의 가능성이 너무 여기에 기본 디렉토리 인덱스가 index.php?controller=dvd아니오 action단순히 내부적으로 부하를 index.php?controller=dvd&action=list.

요약:

  • 파일 이 끝나면 파일이 될 /없습니다 . 서버 추측이 없습니다.

  • 슬래시 또는 슬래시는 완전히 다른 의미입니다. “슬래시 또는 슬래시 없음”에는 기술 / 자원 차이가 있으므로이를 알고이를 적절히 사용해야합니다. 서버 /dvd/index.htm가 다음과 같은 말을 할 때 대부분로드 되거나 올바른 스크립트를로드 /dvd하기 때문입니다. 어느 쪽이었을 까 /dvd/.

  • 실제로 슬래시 버전을 의미 하더라도 슬래시를 생략하면 추가 HTTP 요청 페널티가 발생합니다. 이는 항상 좋지 않으며 (모바일 대기 시간을 생각할 때) “예쁜 URL”보다 더 많은 가중치를 갖습니다. 특히 크롤러는 SEO가 생각하거나 믿고 싶어하는만큼 바보가 아닙니다.)


답변

당신이 당신의 URL을 때 /about-us/(후행 슬래시), 그것은 하나의 파일로 시작 쉽게 index.html하고 나중에 확장하여 더 많은 파일을 (예를 들어 추가 our-CEO-john-doe.jpg그것 (예를 들어 아래의 계층 구조 구축도) 또는 /about-us/company/, /about-us/products/필요에 따라, 등) 없이 게시 된 URL을 변경 . 이것은 당신에게 큰 유연성을 제공합니다.


답변

다른 답변은 슬래시를 생략하는 것을 선호하는 것 같습니다. 후행 슬래시가 검색 엔진 최적화 (SEO)에 도움이되는 경우가 있습니다. 문서에 파일 확장자가 아닌 것으로 보이는 경우가 있습니다 .html. 이것은 웹 사이트를 평가하는 사이트의 문제가됩니다. 다음 두 URL 중에서 선택할 수 있습니다.

  • http://mysite.example.com/rated.example.com
  • http://mysite.example.com/rated.example.com/

이 경우 슬래시가있는 것을 선택합니다 . .com확장명은 Windows 실행 가능 명령 파일 의 확장명 이기 때문 입니다. 검색 엔진 및 바이러스 검사기는 종종 이러한 메커니즘을 통해 배포 된 맬웨어가 포함 된 것으로 보이는 URL을 싫어합니다. 후행 슬래시는 모든 우려를 완화시켜 페이지가 검색 엔진에서 순위를 매기고 바이러스 검사기로 접근 할 수있게합니다.

URL .에 파일 부분 이 없으면 단순성을 위해 후행 슬래시를 생략하는 것이 좋습니다.


답변

누가 파일 이름에 확장자가 필요하다고 말합니까? 언젠가 * nix 기계를 살펴보십시오 …
나는 슬래시없이 친구와 동의합니다.