개발자의 공부방/웹 10

네트워크 기초] Contents-Type Header 그리고 Accept Header

Contents-Type 컨텐츠 타입은 말 그대로 해당 컨텐츠가 무엇인지 알려주는 것을 의미하는데 정의하자면 자원의 형식을 알려주기 위해 Header에 실리는 정보를 말한다. 조금 더 쉽게 말하면 해당 리소스의 미디어 유형을 나타내는데 사용된다. Accept Header 요청한 유형을 헤더에 표기하는 것을 의미한다. 즉, 클라이언트가 나는 꼭 JSON으로 보내줘 혹은 XML로 보내줘라고 서버에 (요청)알리는데 사용되는 것이다. contents-type은 현재 전송하는 데이터가 어떤 타입인지에 대해서 설명하는 개념이고 accept header는 클라이언트가 서버한테 특정한 데이터 타입을 보낼 때 이 요청을 받은 서버는 클라이언트의 요청한 데이터타입으로만 응답을 해야하는 하나의 약속 같은 개념이다.

쿠키와 세션을 알아보자.

개요 쿠키와 세션의 각각 특성, 차이를 확실히 알아가기. 서론 공통점 : 웹 통신 간에 유지하려는 정보를 저장하기 위해 사용하는 것. 차이점 : 저장위치, 저장형식, 용량제한, 만료시점 - 쿠키 : 개인 PC에 저장됨. - 세션 : 접속중인 웹 서버에 저장됨. - 캐시 : 웹 페이지 요소를 저장함. (PC에 저장.) 본론 쿠키와 세션을 사용하는 이유 HTTP 프로토콜의 특징이자 약점을 보완하기 위해서 사용된다. Connectionless 프로토콜 (비연결지향) 클라이언트가 서버에 요청(Request)을 했을 때, 그 요청에 맞는 응답(Response)을 보낸 후 연결을 끊는 처리방식이다. * HTTP 1.1버전에서 연결을 유지하고, 재활용하는 기능이 Default로 추가되었다. (keep-alive값으로..

웹 서버와 웹 어플리케이션의 차이?

이직을 준비를 위해 여러 면접을 보던 중 정말 기초적인 질문을 하는 곳을 처음 가봤다.. 그리고 아는 개념들이 많았지만 막상 한두마디로 정의한다던가 설명을 하기에는 스스로 정리가 안되고 부족했다 라는 생각이 들었다. 그래서 이 부분을 정리해보고자 한다. Web Server와 WAS(Web Application Server)의 차이. 결과적으로 얘기하자면 Web Server는 정적데이터를 처리하고, Web Application Server는 동적 데이터를 처리한다. 이 말은 무엇을 의미할까? 웹서버는 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고, HTML문서와 같은 웹 페이지를 정적으로 처리해 반환하는 프로그램이다. (그림, 스타일시트, 자바스크립트 포함) 반면 Web Application ..

웹] 브라우저는 어떻게 동작할까?

들어가기 앞서.. 브라우저 통계를 보여주는 사이트 statCounter를 살펴보면 아래의 스샷처럼 크롬이 독보적입니다. 이 글은 크롬을 바탕으로 이야기합니다. (브라우저 종류 마다 브라우저 구조가 조금씩 다르다.) 1. 브라우저의 기본구조 브라우저의 구성요소를 설명해보겠습니다. 1) 사용자 인터페이스 (User Interfave) : 주소표시줄, 이전&다음 버튼, 북마크 메뉴 등. 요청한 페이지를 보여주는 창을 제외한 나머지 모든 부분이다. 2) 브라우저 엔진 (Browser Engine) : 사용자 인터페이스와 렌더링 엔진 사이의 동작을 제어. 3) 렌더링 엔진 (Rendering Engine) : 요청한 콘텐츠를 표시. 예를 들어 HTML을 요청하면 HTML과 CSS를 파싱해 화면에 표시한다. 4) ..

웹 기초] HTTP Session 공부

HttpSession을 공부하게 된 이유. www.youtube.com/watch?v=3ArYMq5AomI 우연히 jojoldu.tistory.com/ 블로그의 주인님(?)이신 조졸두님(향로님)이 나오는 유튭영상을 보고 정리하게 됐습니다. 향로님의 대표적인 질문이란 내용으로 (영상 8:05부터) 로그인,HttpSession에 대해서 나옵니다. 해당 영상에서 나오는 질문은 다음과 같습니다. HttpSession.getAttribute("user") /* 1. 사용자 A가 접속해도 "user"를 Key로 값을 가져오고, 2. 사용자 B가 접속해도 "user"를 Key로 가져옵니다. 3. 같은 Key를 쓰는데 어떻게 A와 B를 구분해서 값을 가져올 수 있나요? */ 이 질문을 읽고 뒷통수를 맞은 느낌이 들었습..

Web 컴포넌트란?

컴포넌트란? 웹에서 사용하는 컴포넌트란 무엇을 말하는 것일까? 컴포넌트는 프로그래밍의 한 부분을 의미하며 재사용이 가능한 최소 단위를 말한다. 그래서 객체 지향언어를 사용할 때 자주 사용되며 재사용이 가능하기 떄문에 컴포넌트 단위로 분류하거나 이동 가능하다는 특징이 있다. 이는 모듈(Module)과 혼동될 수 있는데 모듈은 특정 기능을 온전히 수행할 수 있도록 만들어 졌다면 그 모듈 내에서도 재사용이 가능한 단위가 컴포넌트라 할 수 있다. 웹사이트를 구축할 경우 모든 것을 새로 만드는 웹 사이트를 상상조차 할 수 없는게 현실이다. 대부분이 라이브러리, 플러그인, 모듈 그리고 컴포넌트로 재사용이 되는 부분들이 대단히 많다 하겠으며 이를 얼만큼 효과적으로 가장 적합한 어떤 것을 찾고 적용하는 역량이 더 중요..

URL 과 URI 는 무슨 차이일까???

웹 백엔드 부분을 만들면서 항상 궁금한 게 URI 는 뭔데 자주 등장할까 라는 생각이 들었습니다. URL 은 누구나 다 알 수 있었던 부분인데 URI 는 너무 낯설어서 찾아보기로 했습니다. =================================================================================================================== 원글출처 : https://blog.lael.be/post/61 URL : Uniform Resource Locator URI : Uniform Resource Identifier 입니다. 단어의 뜻으로 해석을 하면 URL 은 파일의 위치를 부르는 것이라 한다면, URI 은 Rewrite 등의 Apache, IIS..

클라이언트란?

※클라이언트 결과적으로 클라이언트는 한마디로 사용자(user, 사람)가 이용하는 웹브라우저(익스플로러, 크롬, 사파리 등)를 통해서 서버측에 ‘요청’ 하는 것이라 생각하면 조금은 쉽게 이해할 수 있을 것 같습니다. 하지만 ‘웹브라우저’ 만이 클라이언트는 아닙니다. 웹브라우저는 클라이언트의 대표적 형태이지만 이메일 클라이언트와 메일 서버와 소통하여 메일을 전달하는 것도 클라이언트라고 말할 수 있습니다. 또 우리가 흔하게 하는 채팅 또한 클라이언트의 형태라고 할 수 있습니다. 이제 클라이언트를 조금 더 학문적(?)으로 정의하자면 ‘서버에 알맞은 형태로 요청을 하고 그 결과를 사용자에게 알맞게 전달하는 것’ 이라고 이해하면 좋을 것 같습니다. ps. 용어적인 부분이 너무 헛갈리고 개념이 머릿속에 박혀있지 않아..

GET 방식과 POST 방식의 차이점

웹 백엔드쪽을 배우면서 GET, POST 방식의 어떤 차이점이 있는지 명확하게 배우지를 않아서 하나하나 찾다보니 이렇게 포스팅을 하게 됐습니다. 제일 기초적인 부분인데...GET, POST 방식을 둘 다 써도 되지만 언제 어느 때에 써야하는지 모르다보니 실질적인 이해가 잘 되지 않았습니다. 그래서 이렇게 기록차 올려봅니다ㅠㅠ.... GET 방식 : 해당 페이지의 단순한 전송을 요구. POST 방식 : 데이터를 포스트해서 처리 요구. *id을 넘겨서 게시판의 리스트를 가져온다고 하면 당연히 GET을 쓰고, 글을 작성하면 POST를 작성하는 것이 일반적인 경우다. *GET은 가져오는 것이고 POST는 수행하는 것이다. GET은 SELECET적인 성향을 갖고 있다. GET은 서버에서 어떤 데이터를 가져와서 보..

웹 컨테이너란??

개발자로서의 공부를 시작하고 있지만 아직까지 많이 부족하여 모르는 부분에 대해서는 포스팅을 하면서 기록차원에서 남겨두려고 합니다. 구글링을 통해서 공부 목적으로 스크랩 하는 경우가 많아 꼭 출처는 표기합니다! 웹 컨테이너란?? JSP와 서블릿을 사용한 웹 서버는 크게 URL 주소의 해석을 맡아 주는 HTTP 서버와 서블릿 클래스 또는 JSP 파일의 실행 요청을 처리해주는 웹 컨테이너(Web Container)로 구성된다. HTTP 서버는 단순히 어떤 주소(URL) 요청이 들어왔을 경우 그 주소에 미리 매핑되어 있는 콘텐츠(HTML 파일이나 이미지 등)를 사용자의 브라우저에 응답 형태로 전송하는 역할을 한다. 이 때 만일 요청된 URL이 서블릿 클래스 또는 JSP파일(ex. http://www.sevlet..