엔티티(Entity)

HTML에는 미리 예약된 몇몇 문자가 있으며, 이러한 문자를 HTML 예약어(reserved characters)라고 부릅니다.

이러한 HTML 예약어를 HTML 코드에서 사용하면, 웹 브라우저는 그것을 평소와는 다른 의미로 해석합니다.

따라서 HTML 예약어를 기존에 사용하던 의미 그대로 사용하기 위해 별도로 만든 문자셋을 엔티티(entity)라고 합니다.

 

엔티티의 형태는 다음과 같습니다.

문법

&엔티티이름;
또는
&#엔티티숫자;


다음 예제는 HTML 코드 내에서 꺾쇠괄호(<>)를 사용하면 웹 브라우저가 그것을 어떻게 해석하는지 보여줍니다.

예제

 

<p><p> 태그는 두 번째로 큰 제목을 나타내는 태그입니다.</p>

<p>&lt;p&gt;태그는 단락을 나타내는 태그입니다.</p>

 

 

위의 예제처럼 HTML 코드에서 사용된 꺾쇠괄호(<>)는 HTML 태그의 시작과 끝의 의미로 해석됩니다.

 

엔티티(entity)의 이름은 대소문자를 구분합니다.

 

HTML에서 제공하는 대표적인 엔티티(entity)는 다음과 같습니다.

엔티티 문자엔티티 이름16진수 엔티티 숫자설명
 &nbsp;&#160;줄 바꿈 없는 공백
<&lt;&#60;보다 작은
>&gt;&#62;보다 큰
&&amp;&#38;AND 기호
"&quot;&#34;큰따옴표
'&apos;&#39;작은따옴표

 

HTML에서 사용할 수 있는 모든 엔티티에 대한 더 자세한 정보를 원한다면, W3C 공식 사이트를 방문하여 확인할 수 있습니다.


발음 구별 부호(diacritical marks)

발음을 나타내는 부호를 악센트(accent)라고 합니다.

이러한 악센트는 단독으로는 사용하지 않으며, 보통 다른 문자와 함께 사용됩니다.

이것을 정확하게 표현하기 위하여 HTML에서는 다음과 같은 발음 구별 부호를 별도로 제공하고 있습니다.

 

HTML에서 제공하는 대표적인 발음 구별 부호(diacritical marks)는 다음과 같습니다.

발음 구별 부호문자16진수 엔티티결과
  ̀aa&#768;
  ́aa&#769;
̂aa&#770;
 ̃aa&#771;
 ̀OO&#768;
 ́OO&#769;
̂OO&#770;
 ̃OO&#771;

 

예제

 

<p>j에 악센트가 있다는 발음 기호는 [j&#769;]입니다.</p>



심볼(Symbol) 특수문자

HTML 예약어 이외에도 키보드에 입력할 수 없는 문자를 표현하기 위한 심볼 특수문자를 사용할 수 있습니다.

이러한 심볼 특수문자에는 수학 용어, 그리스 문자, 국제 통화 등이 있습니다.

 

HTML에서 제공하는 대표적인 심볼(Symbol) 특수문자는 다음과 같습니다.

심볼 특수문자엔티티 이름16진수 엔티티설명
¢&cent;&#162;센트
£&pound;&#163;파운드화
¥&yen;&#165;엔화
&euro;&#8364;유로화
©&copy;&#169;저작권
®&reg;&#174;등록상표
×&times;&#215;곱셈
÷&divide;&#247;나눗셈



출처 http://tcpschool.com/html/html_text_entities

1.  head 태그 사이에 script태그 넣기


<head>
<script>
//내용넣기
</script>
</head>


2. body태그 사이에 script태그 넣기


<body>
<script>
//내용넣기
</script>
</body>



Placing scripts at the bottom of the <body> element improves the display speed, because script compilation slows down the display.


<body> 요소의 맨 아래에 스크립트를 배치하면 스크립트 컴파일이 화면 속도를 늦추기 때문에 표시 속도가 향상됩니다.



그렇다고 합니다...

'개인공부 > 창민 :)' 카테고리의 다른 글

cross domain  (0) 2018.01.12
centos APM 버전 (2017.12.10)  (0) 2017.12.15

해결하고싶은 문제



$.ajax() 같은 ajax 관련 함수를 호출할 때 타겟이 되는 URL이 클라이언트와 다른 도메인이면 호출이 안 된다.

 

http://test01.co.kr 에서 ajax로 http://test02.co.kr 라는 API를 호출할 수는 없다는 말이다.

 

자바스크립트(Javascript) 보안 정책 중에 하나인 동일 근원 정책(Same-Origin Policy) 정책에 걸리게 되기 때문이다.



http://test02.co.kr/data.php 의 내용은 다음과 같다.

{"name":"changmin", "age":"27"}



http://test01.co.kr/get_data.php의 내용이 다음과 같다고 하자.

<script type="text/javascript"> $.ajax({ url: "http://test01.co.kr/data.php",

}) .done(function(data) { alert(data.name ); });

</script>


http://test02.co.kr/get_data.html은 changmin라고 표시하지 못한다.
그 이유는 jQuery가 서로 다른 도메인간에는 데이터를 읽어오지 못하도록 차단하기 때문이다.
test01.co.kr에서 test02.co.kr의 데이터를 가져오려고 하기때문에 jQuery가 훼방을 놓고있는 것이다.




해결방법


test01.co.kr과 test02.co.kr을 통제할 수 있다면, 위의 두 파일을 살짝 고쳐서 http://test01.co.kr/get_data.html이 changmin 이라고 표시할 수 있다.

http://test01.co.kr/get_data.html 의 내용을 다음과 같이 수정한다.

<script type="text/javascript"> $.ajax({ url: "http://test02.co.kr/service.php?callback=?",

dataType : "jsonp"

}).done(function(data) {

alert(data.name );

});

</script>

callback=? 라는 표현은 jQuery가 cross domain 기능을 제공하기위해 사용하는 키워드같은 것이다. 그대로 타이핑해 넣어야 한다.


http://test02.co.kr/service.php 의 내용을 다음과 같이 수정한다.

<?php echo $_GET['callback'] . '({"name":"changmin", "age":"27"})'; ?>

JSON 데이터를 padding하고있는 이 모습을 가리켜 JSON with padding이라 말하고, JSONP라고 줄여서 말한다.
$_GET['callback']을 출력해보면 길이가 아주 긴 임의의 문자열인 것을 확인할 수 있다. 그 문자열은 jQuery가 즉흥적으로 만들어낸 함수이다. (아마도 json parser 함수일 것이다).


이제 http://test01.co.kr/get_data.html이 changmin라고 표시하게 되었다.





출처 http://eun-sung-hun.blogspot.kr/2015/01/jsonp-cross-domain.html




'개인공부 > 창민 :)' 카테고리의 다른 글

script태그 head와 body에서의 차이점  (0) 2018.01.15
centos APM 버전 (2017.12.10)  (0) 2017.12.15

+ Recent posts