2014-08-29 2 views
3

나는 이와 같은 코드를 보았고 그 중괄호가 무엇인지 궁금해했다.js 파일 참조 끝에있는 중괄호의 의미는 무엇입니까?

<script type="text/javascript" src="some_script.js?{0}"></script> 
+1

이것은 단지 http url 쿼리 인수입니다. 그 인수가 사용되는 것을보기 위해 스크립트 자체를 살펴 봐야한다. (전혀 없다면) –

+2

아마도 템플릿 엔진을 사용하고있을 것인가? 템플릿 엔진에서 사용할 수있는 구문과 같습니다. –

답변

5

URL에서 물음표 뒤의 ?이 쿼리 문자열입니다. 여기서 서버에 대한 매개 변수를 지정합니다.

이 경우 대괄호가 인코딩되지 않으므로 (%7B0%7D 등) 템플릿 엔진의 컨텍스트에서 실제로 볼 수 있습니다. {0}은 임의의 숫자입니다. 일반적으로 난수를 사용하면 매번 새로운 URL이 생성되기 때문에 파일 캐싱을 피하는 데 주로 사용됩니다. 어떤 템플릿 엔진을 사용하는지 모르겠다. 여러 명이이 표기법을 사용한다.

+0

잘 URL도? token = xxx 그래서, 0 번째 arguman으로 토큰이 캐시됩니까? – Sarge

+1

@ SercanAltundaş 아니요, 모든 URL에는 자체 캐시 지시문이 있습니다. 캐싱하지 않고 서버 응답 캐시 헤더를 제어 할 수없는 정적 파일의 경우 URL에 임의의 변수를 포함하는 것은 일반적인 기술입니다. 'some-static-file.js? 0213423423' 그런 식으로 서버가 파일을 무한정 캐시한다고하면, 다음 번로드시 URL은'some-static-file.js? 88888889'가 될 것이므로 중요하지 않습니다. – Brad

+0

고마워요, 그래서 단순히 정적 파일이 캐시되지 않도록하는 방법입니다. – Sarge

2

브라우저로 캐싱을 피하는 방법처럼 보입니다. 어떤 사람들은 이런 식으로 작업을 수행합니다 특별한 의미가 없습니다

<script type="text/javascript" src="some_script.js?timestamp=1235124321"></script> 
2

(그것이 ?는 쿼리 문자열의 일부입니다 후이기 때문에),이 URL의 한 부분이다.

일부 코드 (서버 또는 클라이언트 측일 수 있음)는 일부 코드를 사용하지만 웹 사이트에만 해당됩니다.

숫자를 변경하면 URL이 변경되어 스크립트가 새 URL로로드되고 캐시되지 않은 스크립트가 포함 된 캐시 된 버전이 아닌 캐시 바 스팅 기능으로 프로그래밍되도록 업데이트 될 수 있습니다.

관련 문제