Please Enable JavaScript!
Mohon Aktifkan Javascript![ Enable JavaScript ]

Request 객체...QueryString

2016. 3. 30. 16:14programming/asp.net

728x90

●Request


사용자가 웹 브라우저를 통해 웹 서버에 페이지를 요구할 때, 웹 브라우저는 웹 페이지를 실행하는 데 필요한 모든 정보를 제공합니다. 서버는 이들 정보를 Request 객체를 통해 얻습니다.


Request 객체의 주요 속성



속성

설명

 

 PhysicalApplicationPath


 사용자가 요구한 페이지의 물리적 경로

 ApplicationPath

 물리적 디렉터리에 대응하는 가상 디렉터리

 Path

 사용자가 요구한 페이지까지 포함하는 가상 경로

 Url

 사용자가 요구한 전체 URL

 UserHostAddress

 사용자의 IP 주소

 Browser

 사용자가 사용 중인 웹 브라우저에 대한 정보를 담고 있는 객체

 Cookies

 컬렉션 객체로 사용자가 보낸 쿠키 정보를 저장

 QueryString

 GET 방식으로 전송된 페이지 매개변수를 저장



QueryString 예시


Request에 존재하는 값을 반환한다.
Key가 존재하지 않는 경우 빈 문자열을 반환한다.
        public static string QueryString(string key)
        {
            HttpContext context = HttpContext.Current;
            try
            {
                if (!context.Request.QueryString[key].Equals(null))
                {
                    return context.Request[key];
                }
                else
                {
                    return string.Empty;
                }
            }
            catch
            {
                return string.Empty;
            }
        }


이 부분에서 SqlInjection Defence 처리는 제외하였습니다.


쿠키(Cookies)

사용자가 웹 사이트를 방문하다 보면 웹 사이트에서 사용자에 대한 정보를 기억하기 위해 사용자의 하드 디스크에설치하는 작은 기록 정보 파일을 일컫는 이를 '쿠키(Cookie)'라고 합니다. 쿠키는 컴퓨터내에서 프로그램처럼 실행될 수 없으며 바이러스를 옮길 수도, 악성코드를 설치할 수도 없지만, 스파이웨어를 통해 유저의 브라우징 행동을 추적하는데에 사용될 수 있고, 누군가의 쿠키를 훔쳐서 해당 사용자의 웹 계정 접근권한을 획득할 수도 있습니다.



세션(Session)

네트워크 환경에서 정보 교환을 하기 위한 논리적인 연결로, 웹 브라우저 마다 하나의 세션이 생성됩니다.

연결이 이루어지면 클라이언트와 서버는 연결에 대한 정보를 갖습니다. 이를 '세션ID(식별자)' 라고 합니다.


ASP.NET은 120비트의 세션 ID를 사용하여 각 세션을 식별합니다.

세션ID는 세션과 관련하여 서버와 클라이언트 사이에 주고받는 유일한 정보로, 누가 본다고 해도 서버에 저장된 내용을 알 수 없습니다. 사용자가 세션ID를 서버에 전달하면, ASP.NET은 대상 세션을 찾습니다. 대상 세션을 통해 이전에 저장한 객체를 검색하고 이를 프로그램에서 사용합니다.


서버에 세션ID를 전달하는 데는 두 가지 방법이 있습니다.


쿠키 사용 : default 로 세션을 사용하면 자동으로 만들어지는 ASP.NET_SessionID라는 이름의 쿠키로 세션 ID가 전달됩니다.


URL에 포함 : 세션 ID를 URL에 포함하여 전달. 쿠키를 지원하지 않는 클라이언트에 사용할 수 있습니다.


ASP.NET의 세션상태(Session State)는 다음과 같은 경우에 유용합니다.

웹 응용프로그램이 쿠키나 쿼리 스트링을 통해 쉽게 저장할 수 없는 복잡한 정보를 저장하고 접근하는 경우

철저한 보안이 요구되는 경우


세션 상태를 이용하면 서버의 메모리에 데이터를 저장할 수 있으며, 저장된 데이터는 사용자에게 전달되지 않기 때문에 좀 더 안전합니다. 그러나 많은 사용자가 서버의 메모리를 사용하면, 응용프로그램의 성능이 저하될 수 있으므로 세션 상태에서 사용 시는 신중을 기해야 합니다.




<ASP.NET 4.0프로그래밍 서적 중 일부 발췌>


쿠키와 세션에 대해 자세한 설명은 다음 글에서....



728x90

'programming > asp.net' 카테고리의 다른 글

[ASP.NET] HTTP Error 404.15 - Not Found  (0) 2016.05.04
Document.all , document.getElementById ,  (0) 2016.04.05
escape() 함수와 unescape() 함수  (0) 2016.04.05