router req, res, uri 쉬운 설명


안녕하세요.
고코더 입니다.


제 노드 강의를 따라온분들이 이제 질문이 생기기 시작했습니다.
좋은 현상입니다. 제가 예제로 노드가 익숙해지시면 설명드리려 했던 라우터에 대해 말씀드릴려고 합니다. 



 1. 라우터 URI 경로



 1-1. 매번 익숙하게 선언했던 라우터 메소드 뒤에 URI 가 있습니다.
계속 이부분을 루트 '/'로만 사용중이었는데요.
router.get('/', function (req, res) {
이 부분은 라우터 이후에 원하는 URI로 경로를 받을 수 있습니다.
app.use('/', indexRouter);로 설정된 라우터 기준으로 말씀드리겠습니다.

 1-2. 접속 : http://사이트주소/gocoder
router.get('/gocoder', function(req, res) {
});

 1-3. 접속 : http://사이트주소/gocoder/itexpress
router.get('/gocoder/itexpress', function(req, res) {
});

 1-4. 접속 : http://사이트주소/gocoder/itexpress/*(모든데이터)/
router.get('/gocoder/itexpress/:id/', function(req, res) {
});

 1-5. 접속 : http://사이트주소/gocoder/itexpress/*(모든데이터)/*(모든데이터)
router.get('/gocoder/itexpress/:id/:cate/', function(req, res) {
});

이런식으로 원하는 형식에 URI로 요청을 받을 수 있습니다. 그리고
패턴과 정규식으로도 요청을 얻어 낼 수 있습니다.

 1-6. 접속 : http://사이트주소/go(ooooo)coder
router.get('/go+coder', function(req, res) {
});

 1-7. 접속 : http://사이트주소/go(itexpress)coder
http://사이트주소/go(모든문자와 길이)coder
router.get('/go*coder', function(req, res) {
});

 1-8. 접속 : http://사이트주소/(g가 포함된문자)/
router.get(/g/, function(req, res) {
});




 2. req (요청객체) / request



 2-1. 우리가 흔히 알고 있는 request 객체 입니다. 
req로 사용하지 않아도 되지만 req로 사용을 많이 합니다. 
기존에 언어처럼 요청을 받는데 이용한다.

 2-2. 많이 사용하는 req 객체

req.params : 객체는 파라미터에 데이터를 가져온다.
req.query : 쿼리스트링 파라미터에 전부를 가져온다.
req.headers : header 값을 가져온다.
req.cookies : 쿠키값을 확인한다. 
req.ip : 프론트 아이피를 가져온다
req.protoco : 프로토콜 http? https? 인지 가져온다
req.url : 전체 URI 정보를 가져온다.



 3. res (응답 객체) / response

 3-1. 우리가 사용하는 response와 같다.
역시 res대신 다른 변수로 사용 가능하다.

 3-2. 많이 사용하는 res 객체

res.send() : 클라이언트에 응답을 보낼 수 있다. 디버깅에서 많이 사용
res.json() : 클라이언트에 자동으로 json을 만들어준다
res.jsonp() : 클라이언트에 자동으로 jsonp을 만들어준다
res.redirect() : 리다이렉트, 페이지를 이동 시킨다.



마무리


express에서 많이 사용할 객체들이니
눈으로 익혀두자




아메리카노 한잔으로 배우는 Node.js Express 기본편



해당 내용은 제가 집필한 책에 일부를 발취한 내용입니다.
도움이 되셨으면 후원에 마음으로 제 책을 전국 온라인 서점에서 구매해보세요.




댓글을 달아 주세요



EL 문법을 이용하여 URL 알아내기 


안녕하세요. 고코더입니다.

URL은 현업에서 가장 중요한 정보입니다.
유효성 체크,  접속 분기등 다양한 이유에서 개발을 하기 때문입니다.

그래서 JSP에서 간단한 방법으로 현재 URL을 알아내는 방법을 알아보려고 합니다.

▼ 우선 pageContext 객체를 알아봅시다. 자주 쓰는 객체이므로 외워두면 될거 같습니다.
pageContext : 페이지에 대한 정보
request : 사용자가 요청한 HTTP데이터를 알 수 있는 객체
requestURL : HTTP데이터에서 URL의 정보를 가져온다.
requestURI : HTTP데이터에서 URI의 정보를 가져온다.



▼ 아래 소스를 JSP에서 실행시켜 봅시다.

<%@ page language="java" contentType="text/html; charset=euc-kr" pageEncoding="euc-kr"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>

<c:set var="URL" value="${pageContext.request.requestURL}" />
JSP에서 현재 URL 가져오기 : ${URL}
<br/>
<c:set var="URI" value="${pageContext.request.requestURI}" />
JSP에서 현재 URI 가져오기 : ${URI}

▼ 웹에서 확인한 모습입니다. 




마무리

상당히 자주 사용하는 부분입니다.




댓글을 달아 주세요




닷넷 현재 URL / 사이트명 / URI / 파일명 가져오기



using System;
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Write(Request.Url.ToString() + "<- Request.Url.ToString() 현재 URL<br>");
        Response.Write(Request.Url.Host + "<- Request.Url.Host 사이트 명만<br>");
        Response.Write(Request.Url.LocalPath + "<- Request.Url.LocalPath 소스 파일 위치<br>");       
    }
}



이상하게 설명할 내용이 없네요..
예제만 남기고 인사드리겠습니다.




마무리

요즘 바뻐서 블로그에 통 못들어왔더니 New가 다 사라져있었네요 자주 올리겠습니다^^ 
흔하게 많이 쓰는 현재 URL 소스입니다. 


댓글을 달아 주세요



ASP상에서 접속 브라우저 구별하기


크로스 브라우징 작업이 많아짐에 따라 
브라우저별 코딩을 해야 할때가 많아졌다.
아래를 활용해서 브라우저를 분간해보자

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<%
        If InStr(Request.ServerVariables("HTTP_USER_AGENT"), "MSIE 5.0">  0 Then
             borwser = "Explorer 5.0"
         ElseIf InStr(Request.ServerVariables("HTTP_USER_AGENT"), "MSIE 6.0">  0 Then
             borwser =  "Explorer 6.0"
         ElseIf InStr(Request.ServerVariables("HTTP_USER_AGENT"), "MSIE 7.0">  0 Then
             borwser =  "Explorer 7.0"
         ElseIf InStr(Request.ServerVariables("HTTP_USER_AGENT"), "MSIE 8.0">  0 Then
             borwser =  "Explorer 8.0"
         ElseIf InStr(Request.ServerVariables("HTTP_USER_AGENT"), "MSIE 9.0">  0 Then
             borwser =  "Explorer 9.0"
         ElseIf InStr(Request.ServerVariables("HTTP_USER_AGENT"), "MSIE 10.0">  0 Then
             borwser =  "Explorer 10.0"
         ElseIf InStr(Request.ServerVariables("HTTP_USER_AGENT"), "MSIE 11.0">  0 Then
             borwser =  "Explorer 11.0"
         ElseIf InStr(Request.ServerVariables("HTTP_USER_AGENT"), "Chrome">  0 Then
             borwser =  "Chrome"
         ElseIf InStr(Request.ServerVariables("HTTP_USER_AGENT"), "Safari">  0 Then
             borwser =  "Safari"
         ElseIf InStr(Request.ServerVariables("HTTP_USER_AGENT"), "Firefox">  0 Then
             borwser =  "Firefox"
        Else
         borwser =  "기타"
    End If
%>
cs




마무리

함수로 만들어 쓰시면 편해요



댓글을 달아 주세요



Request.ServerVariables 사용하기


내장객체중에 가장 많이 사용하는 
Request.ServerVariables 입니다.

하지만 익숙한건 금방 외워 사용하지만
긴가 민가 하는 경우가 많습니다.

그럴때 제가 항상 하던 방법인데요 
아래 소스로 돌려보고 
필요한거만 가져다 쓰는 방법이 좋아서 공유합니다.

1
2
3
4
5
6
7
8
<%
For Each key in Request.ServerVariables 
  if Request.ServerVariables(key) = "" Then
  else
        Response.Write key & "  -->  " & Request.ServerVariables(key) & "<br><br>"
  end if
Next
%> 

cs



▼ 아래와 같이 표시 됩니다. 그리고 나와 맞는걸 찾아쓰면 되겠네요^^


댓글을 달아 주세요



 https -> http 변경하기

안녕하세요 고코더 입니다. 
오늘은 접속 프로토콜 형식을 바꾸는 방법을 알아보겠습니다.

SSL을 설치 했지만
특정 부분에서는 S를 뺀 http로 접속해야 할 경우가 있습니다.

ASP 상에서 그럴 경우에 이를 강제로 
https -> http 로 바꿔줄수 있도록 함수를 만들어 보았습니다.
1
2
3
4
5
6
<%
     If Request.ServerVariables("HTTPS"= "on" then     '//HTTPS 라면 
          response.redirect  "http://홈페이지.co.kr"&Request.ServerVariables("URL")&"?"&Request.QueryString     '// 리다이렉트
     End If
%>
 

cs





마무리

https://map.daum.net/ 다음 지도는 SSL로 접근이 불가능 합니다.
이처럼 특정 서브 도메인에서 SSL이 필요없을때 저렇게 다시 리다이렉트 해주시면 될거 같습니다.


댓글을 달아 주세요