앞에 점이 너무 많은이 URL이 IP 주소로 해석되는 이유는 무엇입니까?


31

http://.................1168951531

어떤, 크롬에 투입 할 때, URL에 미리보기 http://69.172.200.235/리디렉션 (외부 서버 응답 코드에 의한, 3XX에) www.test.com그게 내가 알아 내기 위해 노력하고있어의 범위를 벗어나지 만.

위와 같은 이상한 URL이 IP 주소로 어떻게 해석됩니까? 이것이 형식 규칙입니까?


2
점이없는 동일한 URL은 Chrome에서도 작동합니다 http://1168951531. 그러나 크롬이 왜 점을 무시합니까?
wjandrea

6
@wjandrea Chrome에서 하위 도메인으로 해석하고 실제로 무시하지 않는 것 같습니다. Chrome 전송 요청의 호스트 헤더를 확인하여 확인할 수 있습니다.
Christoph

1
약간 접하지만 Gmail 주소를 사용하면 문제를 일으키지 않고 원하는만큼 많은 점을 추가 할 수 있으며 원하는 텍스트 뒤에 +를 추가 할 수도 있습니다. 그래서 abcd@gmail.com도에 메일 보냈습니다을 받게됩니다 a.b.c.d@gmail.com또는 abcd+junkmail@gmail.com- 그리고 장점은 스팸 목록에 당신을 넣어 누가보고 다른 사이트에 다른 이메일을주고, 또는 "받는 사람"주소에 따라 수신 메일 다른 방법을 처리하는 규칙을 설정하는 것입니다. ( ) 또는 kylesmom@gmail.com 지금 kylesmom + is.a.big.fa ...
ashleedawg

그만한 가치가 있다면 Firefox와 오징어의 조합은 이것을 허용하지 않습니다. Firefox는 유효하지 않은 URL 형식이므로 오징어 오류와 구두점을 통해 점을 전달합니다. 그래서 이것은 Chrome 버그처럼 보이거나 빈 도메인에 대한 사양이 모호합니까?
Paul Gear

답변:


44

Chrome은 숫자 1168951531을 10 진수로 해석하며 16 진수로 표현할 때 45ACC8EB입니다. 16 진 45ACC8EB는 16 진 각 쌍을 하나의 10 진수로 사용할 때 점 분리 10 진수 69.172.200.235와 같습니다.

45 -> 69
AC -> 172
C8 -> 200
EB -> 235

짧은 대답 : 동일한 IP 주소의 순수한 십진 표현입니다.


4
파이어 폭스는 해석도하고 있지만 점은 없다.
JAB

11
호스트 이름을 확인하는 일반적인 소스 코드는 먼저 IP 주소인지 확인하고 (예 :로 inet_addr()) gethostname()DNS 서버를 조사하고 hosts파일을 읽는 것과 같은 기능으로 전달합니다 . 위의 답변에서 설명한 것처럼 IP 주소의 10 진수 표현을 전달하는 것은 대부분의 구현에서 완벽하게 합법적입니다. ping 1168951531터미널을 입력 할 수 있으며 실제로 의도 한 주소를 핑합니다. 모든 점이 앞에 있으면 더 이상해 보이지만 해결을 시도하기 전에 Chrome에서 점을 제거했을 수 있습니다.
Ale

1
Chrome과 Firefox는 모두 점이없는 URL을 허용합니다. ( http://1168951531)
Stevoisiak

3

이것은 ip 69.172.200.235의 ipv4 주소를 길게 표현한 것입니다. www.test.com 도메인에 매핑됩니다.


4
"긴 표현"이 무엇인지 설명 할 수 있습니까?
Philipp

2
다른 대답으로 더 잘 설명되지만 여전히 똑같은 것으로 요약됩니다.
Gothrek

9
아마도 " long표현" 이어야 함
n0rd
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.