분류 전체보기(63)
-
MVC패턴의 등장
서블릿, JSP의 한계와 MVC패턴의 등장 서블릿으로 개발할 때는 뷰 화면을 위한 HTML을 만드는 코드가 자바 코드에 섞여서 지저분하고 복잡하다. 뷰 템플릿인 JSP의 경우 뷰를 생성한는 HTML이 비교적 깔끔하지만 동적으로 변경이 필요한 부분에는 자바코드가 들어간다. 결과적으로는 로직을 위한 자바 코드와 뷰를 위한 코드가 섞여 깔끔하지 못하고 각자의 역할에 집중하지 못하게 된다. 컨트롤러: HTTP 요청을 받아서 파라미터를 검증하고, 비즈니스 로직을 실행한다. 그리고 뷰에 전달할 결과 데이터를 조회해서 모델에 담는다. 모델: 뷰에 출력할 데이터를 담아둔다. 뷰가 필요한 데이터를 모두 모델에 담아서 전달해주는 덕분에 뷰는 비즈니스 로직이나 데이터 접근을 몰라도 되고, 화면을 렌더링 하는 일에 집중할 수..
2022.10.25 -
TCP와 IP
TCP/IP는 패킷 통신 방식의 인터넷 프로토콜인 IP와 전송 조절 프로토콜인 TCP로 이루어져있다. IP는 인터넷상에서 정보를 주고 받을 때 주소 지정을 한다고 했다. 다시 말하자면 정확한 목적지에 전송하는것이 목적인 프로토콜이다. 그런데 데이터를 주고 받을 때는 패킷이라고 하는 작은 단위로 잘게 쪼개져서 보내진다. 한번에 통으로 보내게되면 큰 데이터는 대역폭을 너무 많이 차지하기 때문에 패킷의 흐름이 원활하지 못하다. 또한 데이터 전송에 실패했을 때 다시 전송하기 위해 리소스를 너무 많이 잡아먹는다는 단점도 있다. 위와 같은 여러 이유로 인해 데이터는 패킷단위로 작게 쪼개져 보내지게 되는데 여러개로 나눠져서 보내지게 되면 받는 쪽에서는 이 여러개의 패킷이 모두 왔는지 순서에 맞게 왔는지 에 대한 확인..
2022.10.25 -
HTTP의 발전2_ HTTP2.0
SPDY를 기반으로 더 빠르게_HTTP2.0 구글에서 2009년 SPDY하는 새로운 프로토콜을 발표한다. SPDY SPDY는 웹 콘텐츠를 전송할 목적으로 구글이 개발한 비표준 개방형 네트워크 프로토콜로 웹 페이지의 로딩 시간을 줄이기 위한 목적으로 설계되었다. 기존의 HTTP 메세지는 사람이 읽을 수 있는 텍스트 기반과 달리 SPDY 헤더는 압축되어 같은 메세지라도 더 작은 용량을 차지한다. 또한 SPDY는 암호화되지 않은 연결을 지원하지 않으며, 반드시 SSL 또는 TLS로 암호화되어야 한다. HTTP 2.0 1) Mutiplexed Streams 그림에서 볼 수 있듯이 HTTP 1.0 버전은 HOL(Head Of Line) Blocking(특정 응답 지연) 이란 특징을 가지고 있다. HOL Block..
2022.10.25 -
HTTP의 발전_HTTP 1.x
HTTP란? HTTP(Hyper Text Transfer Protocol)는 텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고받을 때 사용되는 프로토콜이다. HTTP는 여러 버전을 통해 발전해왔다. HTTP 1.0 vs HTTP 1.1 1) 연결 지속성(Persist Connection) 3 wah handshake는 데이터의 신뢰성을 보장하기 위한 TCP 필수적인 요소인데 매번 연결을 확인하다보니 속도면에서 아무래도 단점을 가지고 있다. 1.0 버전에서는 각 요청마다 이런 연결과 해제를 반복해야했는데 웹이 점차 고도화되면서 이 문제점은 더욱 부각되게 되었다. 이 문제를 해결하기 위해 1.1 부터는 한번 연결을 맺어놓으면 끊기 전까지 연결을 유지할 수 있도록 개선되었다. 반복되는 과정을 줄임으로서 메..
2022.10.25 -
IP
IP IP란 Internet Protocol의 약자로 인터넷상에서 정보를 주고받는 데 사용하는 규약이다. OSI 네트워크 계층에서 호스트의 주소지정과 주고 받는 데이터에 대한 패킷 분할 및 조립 기능을 담당한다. 인터넷상에서 정보를 주고 받는데 필수로 필요한것 중 하나가 바로 출발지와 목적지 주소이다. 데이터를 요청할 주소, 데이터를 전달해줄 주소처럼 인터넷상에서 고유한 주소 역할을 해주는것이 바로 IP주소이다. 그렇다면 정확한 데이터 전송을 위해서 이 주소는 기기마다 고유해야하는데 혼자서만 가지고 있는 기기만 해도 노트북, 핸드폰, 테블릿 등 여러개의 기기를 가지고 있다. 이런 수많은 주소는 어떻게 관리되는것일까? IPv4 IPv4는 0.0.0.0 ~ 255.255.255.255 까지의 주소를 가지고 ..
2022.10.25 -
웹 서버와 WAS
HTTP란? 인터넷을 사용할 때 버튼을 누르거나 주소를 입력하는 등의 동작을 하면 인터넷은 어떠한 정해진 과정을 거쳐 사용자가 원하는 데이터를 보여준다. 사람도 의사소통하기 위해 정해진 언어가 있듯이, 인터넷을 상에서 데이터를 주고받기 위해서는 정해진 규약을 따라서 데이터를 주고받을 수 있는데 이 때 필요한 프로토콜, 즉 규약이 HTTP이다. Hyper Text Transfer Protocol의 약자로 인터넷간에 데이터를 주고받는, 통신할 수 있는 프로토콜, 규약이다. HTTP동작 방식 웹 서버 클라이언트는 서버에게 HTTP요청을 보낸다. 해당 요청이 들어오면 웹서버는 요청을 확인한 뒤 이에 맞는 응답을 보내준다. 이 응답 역시 HTTP를 사용한 응답 메세지를 보내주는것이다. 웹서버는 보통 정적인 리소스..
2022.10.25