컴퓨터/네트워크 (11) 썸네일형 리스트형 [JSP와 서블릿] 누워서 생각없이 보는 웹이야기 3편 우선 JSP와 서블릿을 알아보기전에 프로그래밍의 역사는 유지보수, 확장의 용이하게 발전해왔다같은기능을 하는 메서드들을 괜히 복잡하게 객체지향 설계를 하는것은 심심해서 그러는것이아니라프로그래밍을 하면서 나오는 단점들을 개선하기위해서 하나씩 개선해 나간 결과물이다 JSP와 서블릿도 이와같은 느낌이다 우선 서블릿에 대해서 설명해보자면 서블릿은 간단하게 Java 파일안에 HTML이 있다고 생각하면 된다 위에 코드를 봐볼까 Java파일안에 out.prrintln메서드를 보면 HTML태그들이 나열되어있다이것을 서블릿이라고 부르며 자바파일안에 HTML문법들이 있다고 보면 편하다 자 이제 위에 코드들을 보면서 뭔가 문제점이 있다는것을 알수있는데바로 HTML태그들이 한줄마다 차지함과 더불어 코드를 짜면짤수록 가독.. [MVC패턴] 누워서 생각없이 보는 웹이야기 2편 우선 시작하기 앞서 하나의 의문점을 가지고 시작해보겠다" 아니 굳이 같은기능을 하는것들을 왤케 다양한 방법으로 나눈거야 복잡하게? " 맞다 사실 사용자입장에서는 같은기능을 쓰고있지만 앞에 소스파일을 까보면 개발자들마다 자신들의 방식로구현해낸것을 볼수있는데 비슷한기능을 하는 여러메소드들도 많고 굳이 왜이렇게 복잡하게 만들었지? 라는 생각이 들게끔한다 이거에대한 해답은 사실 옛날 여러개념들이 많지않았을때 만들어진 여러 프로그램들을보면 알수있다 흔히 스파게티 코드라고 불리우는것인데 여러 코드들이 복잡하게 얽혀있어서 사소한기능 하나를 추가할려 많은걸 수정해야하는걸 말한다 사실 그 어려운 객체지향 개념이 나온것도 이것떄문인데 본래 C언어의 절차지향은 코딩을 처음접하는 사람들에게 진입장벽을 많이 낮춰주었다 왜.. [HTTP/HTTPS 프로토콜] 누워서 생각없이 보는 웹 이야기 1편 우리가 구글이나 네이버같은 특정 사이트를 접속하면 익숙한 글자들이 보일것이다 https://www.google.com이것을 흔히 주소라고 부르는데 만약 우리가 친구집에 놀러가기로 했는데 집위치를 모른다 그러면 친구에게 뭐라고 물어볼까? " 야 집주소좀 알려줘봐 " 그주소 맞다 우리가 특정 사이트의 접속하기 위해서는 그 특정사이트의 주소를 알아야한다주소를 좀더 다르게 말하면 URL 즉 인터넷에서 정보의 위치를 알려주는 표준 주소체계 라고한다 표준주소체계... 이게 무슨말일까? 구글, 네이버, 유튜브 등 많은 웹사이트들의 주소들이 만약 전부 제각각 다르다면 어떨까? 내가원하는 사이트로 가는것이 번거로울것이다하지만 우리는 naver.com, google.com, youtube.com 등 비슷한 규칙의 URL을.. TCP, UDP란 무엇이고 특징이 무엇일까? 우리가 웹에서 하는 모든활동들은 OSI 7계층중 4계층인 전송계층에 TCP, UDP 프로토콜위에서 작동합니다이는 곧 송신자와 수신자를 연결하고 IP로 보내지는 패킷들의 오류제어를 담당하는것으로 이것을 간편하게 말해서 데이터의 전달을 담당하는것이 전송계층이며 TCP 아니면 UDP로 데이터 전달을 하게됩니다 궁극적으로 두가지 전송 프로토콜에 가장큰 차이점은 TCP는 3 Hand Shake를 기반으로 전달되는 데이터가 중요한 데이터일때 송신자와 수신자의 신뢰성있는 전달을 하고싶을때 사용합니다 이는 곧 웹에서 메일이나, 파일같은 데이터의 중요도가 높은 곳에서는 TCP를 사용하는것이 좋습니다 그와 반대로 UDP는 데이터의 신뢰성보다는 빠른응답을 통해 데이터의 신속성을 높힐수있는 프로토콜로써실시간 스트리밍이나, 게.. SSR 과 CSR의 장단점 및 특징에 대한 이야기 이글에서는 SSR (Server Side Rendering) 과 CSR (Client Side Rendering) 의 차이점과 장단점 그리고 특징에 대해서 알고 프로젝트 성향에 고려해서 어떤방식을 사용하는지 좋을지에 대해서 알아보도록 하자 사실 이름에서 알수있듯이 매우 간단하게 설명이 가능한데 SSR은 ' 서버에서 HTML을 만들어서 우리에게 보여줌 ' 이고, CSR은 ' 클라이언트에서 HTML 만들어서 우리에게 보여줌 ' 이라고 생각하면된다 CSR (Client Side Redering) 우선 먼저 알아볼것은 CSR인데 CSR을 알고나서 SSR에 대해서 보면 차이점을 한눈에 알수있을것이다우선 위에 그림에 적힌대로 한번 시나리오를 생각해보도록 하자 처음 유저가 웹사이트에서 요청을 보낸다(URL .. HTTP 프로토콜 구조와 상태코드 우리가 네트워크 통신을 하며, 서버와 클라이언트가 데이터 통신을 주고받을때 HTTP 프로토콜 규약에 맞춰 데이터를 통신할때 어떤구조로 오고 가는지 알아본다 해당 프로토콜 구조를 알게되면 다른 Open API나 설계하는 측면에서 좀더 유연한 사고를 가지게 될것이다 HTTP 프로토콜 구조HTTP 주목해야할것은 Response(응답)과 Request(요청)에 주목하면된다우리가 서버에서 요청을 보내면 해당 응답을 서버에서 클라이언트로 내려보내주며 이는 곧 모든 통신들은 대부분 Response와 Request로 이루어진다고 생각하면된다 HTTP의 전체적인 구조는 다음과같다 위에서부터 StartLine, Header, Blank Line, Body 이렇게 4개로 이루어지며 간단하게 Header와 Body.. 라우터 (Router)란 무엇일까 이 글을 통해 라우터는 무엇이고, 왜사용하는지에 대해서 알아보도록 하겠습니다 라우터란?라우터는 정말 간단하게 말해서 위치에 대한 최적의 경로를 알려주어 다음장치로 이동시키는 장치를 말합니다우리가 A에서 B라는 컴퓨터에 데이터통신을 할때 데이터패킷들이 B라는 컴퓨터에 갈것입니다 이는 물리적 회선으로 연결되어있는 가까이 있는 컴퓨터에서는 데이터통신이 원활하게 이루어질것이지요하지만 거리가 먼 컴퓨터와 통신할때 그 사이를 회선으로 연결할수는 없습니다이를 해결하기위해 이미 연결되어있는 다른회선을 타고 올라 거리가 먼 컴퓨터에 있는 위치까지 도달할수있습니다 라우터는 통신할려는 대상의 최적의 경로를 지정하고 다음 라우터로 이동시키는 역할을합니다이는 곧 빠르게 통신하는 경로이기때문에 최단거리 일수도, 아니면 속.. 캐시(Cache) 와 웹에서의 캐시(WEB Cache)는 무엇일까? 캐시(Cache) 란 무엇인가?캐시(Cache)란 데이터나 값을 필요로할때마다 불러오지 않고 중간에 복사하여 저장하는것을 말합니다 위사진은 실제로 컴퓨터에서 사용하는 캐시(Cache)로써 위로갈수록 속도는 빠르지만 비싸고, 용량이 작다는 특징을 가지고있습니다위 피라미드 구조를 보게되면 Registers와 Main Memory 사이에는 L1, L2, L3 Cache가 존재하는데요사실 속도가 빠르고, 용량이 크며, 값이 싼 메모리는 존재할수가 없습니다 그렇지만 비슷한 효과를 낼수있는데바로 중간에 캐시를 두어 데이터가 만약 자주쓰이며, 동일한 결과를 돌려주는 경우캐시에 임시로 저장하여 굳이 SSD/HDD까지 내려가지않고 바로 속도가 빠른 캐시에서 연산할수 있게되는것입니다 동일한 결과를 돌려주며, 해당 작.. 이전 1 2 다음