본문 바로가기

개념 공부

제이쿼리란?

jQuery란?

 

 제이쿼리는 오픈소스 기반의 자바스크립트 라이브러리 입니다.

 2006년 미국의 존 레식이 뉴욕시 바캠프에서 처음으로 소개하였습니다.

 현재는 jQuery라는 개발자 그룹이 jQuery Foundation을 통해 개발과 유지 보수를 담당하고 있습니다.

 현재 많이 사용 되고 있는 자바스트립트 라이브러리는 프로토타입(Prototype), 도조(Dojo), GWT(Google Web Toolkit), MochiKit 등이 있는데 그 중 제이쿼리가 많이 사용되고 있는 이유는

첫번째, 주요 웹 브라우저의 구버전을 포함한 대부분의 브라우저에서 지원되고,

두번째, HTML DOM을 손쉽게 조작 할 수 있으며, css 스타일도 간단히 적용 할 수 있습니다.

세번째, 애니메이션 효과나 대화형 처리를 간단하게 적용해주며

네번째, 같은 동작을 하는 프로그램을 더욱 짧은 코드로 구현 할 수 있습니다.

다섯번째, 다양한 플러그인참고할 수 있는 문서가 많이 존재하며,

여섯번째, 오픈 라이선스를 적용하여 누구나 자유롭게 사용할 수 있습니다.

 제이쿼리의 최신버전은 3.2.1이며 버전1은 익스플로러 6, 7, 8버전에서의 동작에서까지 모두 지원하며, 버전2는 버전1에서 지원하는 익스플로러 6, 7, 8 버전에 대한 지원을 중단한 버전입니다. 제이쿼리 버전3은 기존 버전과의 호환성을 유지란 채 더욱 간결하게 작성되고, 더욱 빠르게 동작하도록 변경되었습니다. 그러나 제이쿼리 버전 2와 3 모두 익스플로러 9 이상에서만 작동하는 점 때문에 아직도 많은 웹사이트들이 제이쿼리 버전 1을 사용하고 있습니다.

 

+ 제이쿼리 버전 3의 달라진 점

 

이번 릴리스의 주요 변경 사항은 보안 수정 사항이며, 적응하기 위해 자신의 코드를 변경해야 할 가능성이 있다. 다음 이유: jQuery는 jQuery.htmlPrefilter 메서드에 전달될 때 모든 닫는 태그가 XHTML을 준수하는지 확인하기 위해 regex를 사용했다. 예를 들어, 이 프리필터는 jQuery("div class='hot' />")"와 같은 호출이 실제로 jQuery(""div class='hot")로 변환되도록 했다. 최근, regex가 사이트 간 스크립팅(XSS) 취약성을 도입할 수 있다는 것을 증명하는 문제가 보고되었다.

jQuery <=3.4.1의 HTML 파서는 대개 옳은 일을 했지만, 파싱이 의도하지 않은 결과를 초래하는 에지 케이스가 있었다. jQuery 팀은 일부 코드가 이전의 행동에 의존하고 있고 깨질 수도 있지만, 이것을 사소한 릴리스에서 고칠 필요가 있다는 데 동의했다. jQuery.htmlPrefilter 기능은 3.5.0의 regex를 사용하지 않으며 문자열을 변경되지 않은 상태로 통과시킨다.

이전 동작이 꼭 필요한 경우 최신 버전의 jQuery 마이그레이션 플러그인을 사용하면 이전 jQuery.htmlPrefilter를 복원하는 기능을 제공한다. 플러그인을 포함하면 jQuery에 전화할 수 있다.안전하지 않음_RestoreLegacyHtmlPrefilter() 및 jQuery는 다시 XHTML 호환 마감 태그를 보장한다.

그러나 사용자 입력을 제대로 검사하기 위해서는 SAFE_FOR_JQUERY 옵션과 함께 돔 퓨러파이(https://github.com/cure53/dompurify)를 사용하여 사용자로부터 HTML을 검사하는 것이 좋다. 이전 동작이 필요하지 않지만 사용자의 HTML을 삭제하려면 jQuery 3.5.0에서 시작하는 SAFE_FOR_JQUERY 옵션 없이 돔퍼레이션을 사용해야 한다. 자세한 내용은 3.5 업그레이드 가이드를 참조하십시오.

 

 

'개념 공부' 카테고리의 다른 글

html dom이란?  (0) 2020.04.20
자바스크립트란  (0) 2020.04.20
워드프레스란?  (0) 2020.04.16
구구단 출력 복습. while문과 for문.  (0) 2020.04.16
매개변수의 개념 복습  (0) 2020.04.15