본문 바로가기

728x90
반응형

WEB

(9)
[WEB] URL과 URI와 URN 브라우저를 통해 웹을 이용해 온 우리에게 URL이라는 단어는 익숙할 것이다. 하지만 가끔 뭔가 비스무리하면서도 다른 듯한 URI나 URN이라는 단어를 사용하기도 하는데 이번 포스트에서는 URL과 URI, URN의 명확한 차이에 대해 알아보려 한다.   위 그림에서 볼 수 있듯 URI는 URN과 URL을 포함하는 개념이다. 이들의 각 뜻은 다음과 같이 정의할 수 있다.    URI: 자원의 식별자URL: 위치(Location)URN: 이름(Name)      URI(Uniform Resource Identifier) 통합 자원 식별자(Uniform Resource Identifier)는 인터넷에 있는 자원을 어디에 있는지 자원 자체를 식별하는 방법이다.Uniform: 리소스를 식별하는 통일된 방식Resou..
[WEB] HTTP 메시지 개발자 도구의 네트워크 창에서 서버로부터 다운 받은 파일을 눌러 보면 아래와 같이 Headers 탭에 적혀 있는 것을 본 적 있을 것이다. 이는 클라이언트와 서버 간에 HTTP 메시지를 통해 통신한 이력이라고 이해할 수 있다.  Request Headers는 클라이언트가 서버에 보내는 HTTP 메시지 이력이며, Response Headers는 서버가 클라이언트에 응답하는 HTTP 메시지 이력이다.    HTTP 메시지 구조 HTTP 메시지는 기본적으로 위에서부터 차례대로 시작 라인(Start Line), 헤더(Header), 공백 라인(Empty Line 또는 Blank Line), 바디(Message Body)로 구성되어 있다. 이중 공백 라인의 경우 HTTP 메시지 값 구분을 하기 위한 라인이므로 단..
[WEB] HTTP 상태 코드 HTTP Status CodeHTTP의 상태 코드는 클라이언트가 보낸 HTTP 요청이 성공했는지 실패했는지 서버에 알려주는 숫자 코드다. 개발자 도구의 Network 탭을 보면 아래와 같이 Status 숫자 코드로 요청의 결과를 간략히 나타내 주는데 클라이언트를 다루는 입장에서는 이 숫자를 보고 곧바로 결과를 유추할 수 있게 된다.  HTTP 상태 코드는 3자리 숫자로 이루어져 있으며 100번대부터 500번대까지 존재한다. 그리고 각 상태코드의 첫 번째 자리는 최상위 코드가 되어 다음과 같이 5개의 그룹으로 나뉘어 관리된다.    1XX: 요청이 수신되어 처리중 2XX: 요청 정상 처리 3XX: 요청을 완료하려면 추가 행동이 필요 4XX: 클라이언트 오류. 잘못된 문법 등으로 서버사 요청을 수행할 수 없..
[WEB] HTTP의 Connectionless 비연결성(Connectionless)HTTP는 기본적으로 연결을 유지하지 않는 모델이다. 즉 서버와 클라이언트의 connection을 지속하지 않는다.1시간 동안 수천 명 이상이 서비스를 사용해도 실제 서버에서 동시에 처리하는 요청은 수 십 개 이하로 적다.이러한 비연결성의 특징으로 인해 서버 자원을 효율적으로 사용할 수 있다.  Stateless와 Connectionless의 차이Stateless(무상태성): 필요한 상태에 대한 정보를 클라이언트가 가지고 오기 때문에 클라이언트의 요청에 어느 서버가 응답해도 상관 없음. 따라서 클라이언트의 요청이 대폭 증가하면 서버를 증설해 해결 가능.Connectionless(비연결성):  클라이언트가 서버에 요청을 하고 응답을 받으면 바로 TCP/IP 연결을 끊어 ..
[WEB] HTTP의 Stateful과 Stateless 클라이언트(client)와 서버(server) 간의 통신을 상태 유지하느냐(stateful), 상태 유지하지 않느냐(stateless) 같은 말을 한 번쯤은 들어봤을 것이다. 여기서 '상태'라는 건 어떤 정보를 말하는 거 같은데  stateful과 stateless에 대해 좀 더 파악해 보는 시간을 가져보려 한다.  Stateful(상태 유지)  상태 유지라는 건 클라이언트와 서버 사이의 관계에서 서버가 클라이언트의 상태를 보존하는 것을 의미한다. 클라이언트와 서버 간에 송수신을 하며 단계별 과정들을 진행하는 데 있어 서버에서 클라이언트가 이전 단계에서 제공한 값을 저장하고 다음 단계에서도 저장한 상태이다. 대표적인 예로 홈페이지에서 회원 로그인을 하면 페이지를 이동해도 서버는 클라이언트의 상태를 유지(..
[WEB] 웹 접근성(Web Accessibility) 웹 접근성이란 장애를 가진 사람들도 신체적 또는 환경적 조건에 관계없이 인터넷을 통해 정보에 접근하고 이용할 수 있도록 하는 것을 말한다. 이는 인터넷을 더욱 공평하고 인종이나 성별, 연령, 장애 유무와 상관없이 모두가 이용할 수 있는 공간으로 만드는 것을 목표로 한다. 예를 들어 시각 장애인의 경우 화면을 눈으로 볼 수 없으므로 스크린 리더라는 별도의 소프트웨어를 PC에 설치하여 음성으로 웹 페이지에 담긴 정보를 이해한다. 하지만 스크린 리더가 스스로 웹 페이지의 내용을 분석하지는 못한다. 만약 로그인 페이의 경우 해당 페이지의 디자인을 '로그인'이라는 텍스트 대신 로그인 이미지를 사용할 경우 스크린 리더는 이를 인식하지 못해 시각 장애인이 홈페이지를 이용할 수 없게 되는 차별이 일어난다. 따라서 이미..
[WEB] 웹 표준(Web Standards) 웹 표준이란 웹에서 사용되는 기술들의 표준화를 의미한다. 즉 웹 사이트를 구성하는 HTML, CSS, Javascript 등의 언어들이 표준화된 방식으로 작성되어야 한다는 것. 쉽게 말하면 사용자가 어떤 브라우저나 기기를 사용하더라도 웹 페이지 화면을 동일하게 볼 수 있도록 하는 것이 바로 웹 표준인 것이다.   웹 표준의 장점웹 페이지를 작성할 때 웹 표준을 준수하면 아래와 같은 효과를 누릴 수 있게 된다.  1. 웹 페이지의 호환성웹 표준을 준수하면 웹 페이지가 모든 브라우저에서 일관되게 표시된다. 이를 통해 사용자들은 어떤 브라우저를 사용하더라도 동일한 사용자 경험을 얻을 수 있어 오래된 브라우저에서도 컨텐츠가 적절하게 표시되고 호환성과 운용성이 확보된다. 2. 검색 엔진 최적화(SEO)웹 표준을 ..
[WEB] HTTP란? HTTP의 기본 개념 이해하기 HTTP(Hyper Text Transfer Protocol)란 클라이언트와 서버가 서로 데이터를 주고받기 위해 사용되는 통신 규약이다. 웹 문서 간에 링크를 통해 연결할 수 있는 프로토콜이며, 문서뿐 아니라 HTML이나 TEXT, 이미지, 음성, 영상, 파일, JSON, XML(API) 등 여러 종류의 데이터들을 폭 넓게 전송할 수 있다.  따라서 서버 간에 데이터를 주고받을 때 대부분 HTTP라는 프로토콜을 사용해 통신한다고 봐도 무방하다. 예를 들어 인터넷 주소를 지정할 때  http://www.naver.com와 같이 시작하는 것은 www.naver.com이라는 인터넷 주소가 가진 데이터 정보 등의 교환을 HTTP의 통신 규약대로 처리하라는 것을 의미한다고 볼 수 있다. cf) 인터넷 기반 서비스..

728x90
반응형