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 블로그-슬래시 또는 슬래시
드디어:
URL 끝에 슬래시가 있으면 주소가 "예쁜"것처럼 보입니다.
끝에 슬래시가없고 확장자가없는 URL은 다소 "이상하게"보입니다.
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/
- 디렉토리 이며 서버는 무엇을 전달할 것인지 알아 내려고합니다. 액세스 제한 외에도 등 두 가지 가능성이있다 : 사용자에게 디렉토리의 내용을 표시합니다 (난 당신이 이미이 곳을 보았다 내기) 또는 기본 파일을 보여줍니다 (아파치에는 다음과 같습니다 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 Permanently
와 Location: 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을 변경 . 이것은 당신에게 큰 유연성을 제공합니다.
누가 파일 이름에 확장자가 필요하다고 말합니까? 언젠가 * nix 기계를 살펴보십시오 ...
나는 슬래시없이 친구와 동의합니다.
다른 답변은 슬래시를 생략하는 것을 선호합니다. 후행 슬래시가 검색 엔진 최적화 (SEO)에 도움이되는 경우가 있습니다. 문서에 파일 확장자가 아닌 것으로 보이는 경우가 있습니다 .html
. 이것은 웹 사이트를 평가하는 사이트의 문제가됩니다. 다음 두 URL 중에서 선택할 수 있습니다.
http://mysite.example.com/rated.example.com
http://mysite.example.com/rated.example.com/
이 경우 슬래시가있는 것을 선택합니다 . .com
확장명은 Windows 실행 가능 명령 파일 의 확장명 이기 때문 입니다. 검색 엔진 및 바이러스 검사기는 종종 이러한 메커니즘을 통해 배포 된 맬웨어가 포함 된 것으로 보이는 URL을 싫어합니다. 후행 슬래시는 모든 우려를 완화시켜 페이지가 검색 엔진에서 순위를 매기고 바이러스 검사기로 접근 할 수있게합니다.
URL .
에 파일 부분 이 없으면 단순성을 위해 후행 슬래시를 생략하는 것이 좋습니다.
SEO 관점에서 URL 끝에 후행 슬래시를 포함할지 여부를 선택하는 것은 중요하지 않습니다. 요즘에는 웹에서 두 가지 예를 보는 것이 일반적입니다. 사이트는 어떠한 방식으로도 불이익을받지 않으며,이 선택은 웹 사이트의 검색 엔진 순위 나 다른 SEO 고려 사항에도 영향을 미치지 않습니다.
원하는 URL 이름 지정 규칙을 선택하고 <head>
각 웹 페이지 섹션에 표준 메타 태그를 포함하십시오 .
그들은 즉,로와 후행 슬래시없이 발생할 때 두 개의 중복 된 URL이 같은 단일 웹 페이지를 고려할 수 있습니다 검색 엔진 example.com/about-us/
및 example.com/about-us
.
다른 사이트가 URL에 연결되는 방식을 제어 할 수 없으므로 각 페이지에 표준 메타 태그를 포함하는 것이 가장 좋습니다.
표준 태그는 다음과 같습니다 <link rel="canonical" href="https://example.com/about-us" />
. 표준 메타 태그를 사용하면 다른 웹 사이트가 사이트에 연결될 때 후행 슬래시를 포함하는지 여부에 관계없이 검색 엔진이 각 URL을 한 번만 계산합니다.
참고 URL : https://stackoverflow.com/questions/5948659/when-should-i-use-a-trailing-slash-in-my-url
'IT' 카테고리의 다른 글
SSE4.2 및 AVX 명령어로 Tensorflow를 컴파일하는 방법은 무엇입니까? (0) | 2020.03.31 |
---|---|
git + LaTeX 워크 플로우 (0) | 2020.03.31 |
p 대 루비를 넣습니다 (0) | 2020.03.31 |
ENABLE_BITCODE는 xcode 7에서 무엇을합니까? (0) | 2020.03.31 |
중복 키를 HashMap에 넣으면 어떻게됩니까? (0) | 2020.03.31 |