오류가 안나면
if
로 처리하고, 나면 try-catch
로 잡는다.1. 서버 측 유효성 감사
프로토콜과 다른 데이터가 들어오면 검증하는 것이 좋다. 아니면 예외가 발생한다.
try { // 트라이캐치로 유효성 검사
msg = reqBody.split(":")[1];
switch (method) {
case "GET":
respBody = doGet(msg);
break;
case "POST":
respBody = doPost(msg);
break;
case "PUT":
respBody = doPut(msg);
break;
case "DELETE":
respBody = doDelete(msg);
break;
default:
respBody = "404";
}
} catch (RuntimeException e) {
respBody = "프로토콜이 잘못 됐어요 : GET:msg, POST:msg, PUT:msg, DELETE:msg 가 필요해요";
}
클라이언트가 잘못 보냈을 경우 서버에서 프로토콜이 다른 데이터가 들어왔다고 클라이언트에게 보내준다.
2. 클라이언트 측 유효성 검사
서버에 가기 전에 데이터를 검증하는 방법이다
이렇게 하면 서버의 부하가 적어진다.
// GET:, POST:, PUT:, DELETE: 로 시작하는게 아니면!!
if (!(reqBody.startsWith("GET:") ||
reqBody.startsWith("POST:") ||
reqBody.startsWith("PUT:") ||
reqBody.startsWith("DELETE:"))) {
System.out.println("GET:, POST:, PUT:, DELETE: 로 시작해주세요.");
} else {
break;
}
유효성 검사로 인해서, 프로토콜과 다른 데이터가 서버측으로 전달되지 않기 때문에 서버의 부하가 적어진다.
Share article