HTTP와 HTTPS의 차이에대해서 설명해보세요.

HTTP는 Hyper Text Transfer Protocol의 약자입니다.

웹브라우져와 서버간의 통신 규약입니다.

약자 그대로 텍스트를 주고 받는 것입니다. 따라서 제 3자에 의해 내용이 노출될 가능성이 있습니다.

이에 HTTPS는 SSL 프로토콜을 더 하여, 텍스트내용을 암호화 함으로써 노출 약점을 보안합니다.

HTTPS는 공개키 암호화 방식으로 구성됩니다.

클라이언트는 공개키로 암호화하며, 서버는 개인키로 복호화하여 내용을 확인합니다.

서버는 공개키로 암호화하고, 클라이언트는 암호화되는 내용을 공개키로 복호화함으로써 서버가 보낸 것임을 증명 할 수 있습니다.

<br/>
<br/>

HTML과 JSP 차이

HTML은 정적 파일로, 사용자의 요청에 바로 브라우저로 보여지는 반면

JSP는 동적 파일로 사용자의 요청에 서버에서 컴파일 한후 HTML 형식으로 결과 값이 보여지게 됩니다.

<br/>
<br/>

Servlet이란? 어떻게 동작하나?

서블릿은 자바를 이용한 서버 프로그래밍으로써, 웹에서 자바프로그래밍을 사용하기 위해 탄생하였습니다.

사용자의 리퀘스트 요청이 오면, HttpServletRequest, HttpServletResponse 객체를 생성합니다.

web.xml에서 요청에 매핑되는 서블릿을 찾고, 서블릿이 메모리에 적재되어있는지 확인하고 적재되어있지 않다면 init() 메소들 호출한후 메모리에 적재합니다.

service()메소들를 호출하여, get, post에 따라 doGet(), doPost() 메소드를 수행 후 동적페이지를 생성하여 HttpServletReponse 객체로 응답합니다. 응답 후에는 HttpServletRequest, HttpServletResponse 객체는 소멸됩니다.

<br/>
<br/>

JSP란? 어떻게 동작하는가

JSP는 servlet의 단점을 보안하기 위해 생성된 스크립트 언어입니다.

JSP는 단순히 텍스트 파일이므로, 컨테이너에 의해 서블릿형태로 변환된 후 컴파일 됩니다.

사용자에 요청이 컨테이너로 전달되면 매핑되는 JSP를 찾습니다.

매핑된 JSP의 서블릿 파일이 있는지 확인 후 없으면, 서블릿 파일로 전환 후 메모리에 적재합니다.

필요에 따라서 DB에 접근하여 데이터를 가져오고, 동적페이지를 HTML형태로 생성하여 응답합니다.

<br/>
<br/>

MVC 패턴이란?

MVC패턴은 Model, View, Controller로 구분하여 사용자 인터페이스와 비즈니스로직을 구분하여 개발하는 것을 말합니다.

View는 사용자에게 보여지는 부분

Model은 비즈니스 로직을 처리하는 부분

Controller는 View와 Model의 중개자로, 사용자의 요청에 비즈니스로직 결과를 응답하는 부분입니다.

<br/>
<br/>

Spring 요청 처리과정에 대해서 설명해보세요.

우선 사용자의 요청을 디스패처서블릿이 받습니다.

요청을 받은 디스패처서블릿은 Handler Mapping에 URL과 매핑되는 컨트롤러 메소드를 물어보고 결정합니다.

컨트롤러는 사용자의 요청을 받아 로직을 수행합니다, 이 과정에서 Model에 결과값을 주입하고, View이름을 리턴해줍니다.

View Resolver는 View 이름을 받아 물리적 View파일을 검색합니다.

결정되는 View는 Model정보와 함께 화면을 표시 후, 최종적으로 디스패쳐서블릿은 요청에 응답합니다.

<br/>
<br/>

Spring DI라는 개념을 설명해보세요.

Spring DI는 의존성 주입을 말합니다.

A라는 객체가 B라는 객체를 참조할때 의존성을 맺는다 하는데,

이 의존성을 코드가 아닌 스프링 외부설정파일에서 주입하는 것을 말합니다.

<br/>
<br/>

DI의 장점?

A객체가 B객체를 참조하여 의존관계를 맺을 때, 주입하는 코드가 필요합니다.

이를 Main클래스에서 하더라도 Main클래스는 A객체 B객체를 참조함으로서 의존관계를 맺게됩니다.

DI는 이와 같이 의존관계를 외부 설정파일로 정의함으로써, 불필요한 의존관계를 제거 합니다.

<br/>
<br/>

Spring AOP 개념을 설명해보세요.

AOP는 관점지향 프로그래밍의 약자입니다.

객체지향의 응집도 관련있으며, 공통기능과 핵심기능을 분리하고

공통기능이 필요한 핵심기능에서 사용할 수 있도록 하는 프로그래밍입니다.

AOP는 Proxy 기반으로 동작합니다.

메소드 요청을 Proxy가 가로채 핵심기능 전/후로 공통기능을 수행합니다.

<br/>
<br/>

AOP의 장점은 무엇인가요?**

공통기능을 분리함으로써, 코드의 중복되는 부분을 제거하고, 재활용성을 극대화 할 수 있습니다.

또한 관련된 책임을 가지는 기능만 묶음으로써 응집도가 높아집니다.

<br/>
<br/>

JSON과 XML차이

우선 둘다 데이터를 저장하고, 전달하기 위한 포맷입니다.

다만 XML은 배열을 사용 할 수 없고, JSON은 배열을 사용 할 수 있습니다.

JSON이 데이터를 파싱하는 것은 빠르지만, XML은 DTD를 통해서 데이터를 검증 할 수 있다는 장점이 있습니다.

따라서 데이터 검증이 필요한 곳에는 XML이 아직 많이 사용하고 있으며, 빠른 처리 속도를 필요로 할때는 JSON이 효율적입니다.

<br/>
<br/>

HTML 메타 태그란?

HTML 태그의 하나로, 문서 그자체를 설명하는 태그를 META 메타 태그라고 합니다.

메타 태그는 문서가 어떤내용을 담고 있고, 문서의 핵심 키워드는 무엇이며, 누가 만들었는지등을 문서를 설명하는 정보를 가지고 있습니다.

0
이전 댓글 보기
등록
TOP