2010-01-28 2 views
4

내 코드에서 HTML 이스케이프 데이터는 언제 사용해야하며 언제 URL 이스케이프해야합니까? 나는 약 혼란 스러워요하는 URL에 대한 요청하는 요소 주어진 하나를 사용하는 ... 예를 들어HTML- 이스케이프 데이터는 언제해야하며 언제 데이터를 이스케이프해야합니까?

:

<input type="text" value="DATA" name="URL"> 

는 여기 DATA을 HTML-탈출해야하거나 여기 URL은-탈출? 요소에 대한

그리고 무슨 일이 :
<a href="URL" title="URL">NAME</a> 

URL URL 이스케이프 또는 HTML 이스케이프해야 하는가

? NAME은 어떨까요?

감사합니다. Boda Cydo.

답변

6

URL 인코딩은 보장 등의 특수 문자? &은 수신 측에서 URL을 잘못 해석하지 않습니다. 실제로 이것은 문자를 포함 할 가능성이있는 동적 쿼리 문자열 값을 URL 인코딩해야 함을 의미합니다.

HTML 인코딩은>와 "같은 특수 문자는 브라우저가 마크 업을 잘못 해석 발생하지 않도록합니다. 따라서 당신은 문자를 포함 할 수있는 마크 업으로 출력 인코딩 모든 값을 HTML로해야합니다. 그래서

에서 귀하의 예제 :

  • 데이터는 HTML 인코딩해야하고 전체 문자열이 HTML 인코딩해야합니다 URL의
  • 동적 세그먼트는 URL 인코딩해야합니다
  • 이름 HT 할 필요가있다.. ML 인코딩.
+0

귀하의 답변이 가장 분명했습니다. 여분의 질문없이 모든 것을 이해했습니다! – bodacydo

2

HTML HTML 문서에 무엇이든 쓸 때 탈출합니다.

URL 코드를 호출하거나 브라우저에서 전화를 걸 URL (예 : href 태그)을 만들 때 탈출합니다.

예제에서 '속성'을 사용하여 속성을 이스케이프해야합니다. (정확한 함수 이름은 기억이 나지 않지만, HttpUtility에 있습니다.) 당신이 보여 예에서

+0

'HttpUtility'란 무엇입니까? – bodacydo

+0

bodacydo : 죄송합니다. .NET을 사용하고 있다고 가정했습니다. 'HttpUtility'는 .NET의 System.Web 네임 스페이스에있는 클래스입니다. 어떤 언어를 언급하는지 누군가가 인코딩을 도울 수있는 라이브러리/클래스를 제공 할 수 있습니다. –

+0

파이썬을 사용하고 있습니다. 이미'cgi.escape'와'urllib.quote_plus' 함수를 발견했으며, 지금은 어떤 함수를 사용할 지 이해하려고합니다. 아래의 녀석은 url-escaping과 html-escaping을 동시에 할 것을 제안합니다 ... – bodacydo

2

, 그것은해야합니다 첫 번째 URL 이스케이프, 다음 HTML 이스케이프 :

<a href="http://www.example.com?arg1=this%2C+that&amp;arg2=blah"> 
+0

왜 둘 다? 나는 이해하지 못한다 : ( – bodacydo

+1

그것은 HTML 내부의 URL이기 때문에 유효한 URL이기 때문에 URL에 허용 된 문자 만 포함하고 유효하지 않은 문자는 이스케이프 처리해야한다. 그러나 HTML에서는 단순히 텍스트 값일 뿐이므로, –

+0

HTML 만 이스케이프 처리하면 어떻게됩니까? – bodacydo

관련 문제