본문 바로가기

웹개발/HTTP

(5)
URI - 리소스의 식별자 URI란? URI(identifier) = URL(Location), URN(Name)가 합쳐진 것. 리소스를 통일적일 방식으로 식별하는 ID로 URI를 사용하면 웹상에 존재하는 모든 리소스를 같은 방식으로 접속할 수 있다. URI 구문 간단한 URI URI Scheme: 사용하는 프로토콜, 웹은 HTTP, 그 뒤는 '://' 표시로 구분된다. 호스트명: DNS에서 이름을 해석할 수 있는 도메인명이나 IP 어드레스로 반드시 인터넷에서 일의성을 가지고 있다. 패스: 호스트 내에서의 리소스가 위치한 경로로 계층화를 나타낸다. 유일한 호스트명 + 패스 구조로 전 세계의 다른 리소스와 절대 중복되지 않도록 되어있다. 복잡한 URI + 간단한 URI 사용자 정보: URI Scheme 다음에 등장하고 리소스에 액세..
REST 기초 REST란? 웹의 아키텍쳐 스타일. 아키텍쳐 스타일이란? 복수의 아키텍쳐의 공통된 성질, 양식, 규정, 독특한 방식 등으로 시스템의 아키텍쳐를 결정할 때 나침반이 된다. 추상화 단위: 구현(apache, FireFox, IE 등 엔진) < 아키텍쳐(브라우저, 서버, 프록시, HTTP, URI, HTML) < 아키텍쳐 스타일(REST) 네트워크 시스템의 아키텍쳐 스타일은 클라이언트/서버(웹)이다. REST는 클라이언트/서버 구조에서 나온 아키텍쳐 스타일에서 몇 가지 제약을 더해 만들어졌다. 제약은 복수의 컴포넌트들을 조합해 협력할 수 있게 해주기 때문에 중요하다. REST에서 중요한것: 리소스 리소스란? 웹 상에 존재하는 이름이 매겨진 자원으로, 여기서 이름이 바로 URI이다. 구체적인 리소스에 접근하는 ..
HTTP 쿠키 쿠키란? 쿠키는 브라우저에서 저장되는 작은 크기의 문자열로 HTTP 프로토콜의 일부이다. 쿠키는 주로 웹 서버에 의해 만들어지고 서버가 HTTP 응답 헤더로 내용을 전달하면 브라우저는 이 내용을 자체적으로 브라우저에 저장한다. 쿠키의 쓰임새 쿠키는 클라이언트 식별과 같은 인증에 가장 많이 쓰인다. 사용자가 로그인하면 서버는 HTTP 응답 헤더의 Set-Cookie에 담긴 세션 식별자 정보를 사용해 쿠키를 설정한다. 사용자가 동일한 도메인에 접속하려 하면 브라우저는 HTTP Cookie 헤더에 인증 정보가 담긴 고윳값(세션 식별자)을 함께 실어 서버에 요청한다. 서버는 브라우저가 보낸 요청 헤더의 세션 식별자를 읽어 사용자를 식별한다. document.cookie document.cookie를 이용하면 브..
REST API - RESTful 한 API란 무엇일까? REST API란? REST API는 REST 아키텍처 스타일을 따르는 API이다. 그렇다면 여기서 말하는 REST와 API란 무엇일까? REST란 특정 기술이 아닌 분산 하이퍼 미디어 시스템( ex) 웹 )을 위한 아키텍처 스타일이다. REST는 HTTP가 가진 잠재력을 최대한 이용할 수 있게 유도하기 위해 만든 모범사례라고 할 수 있다. API란 간단히 말해 컴퓨터의 기능을 실행시키는 방법이다. 즉 REST API는 REST의 조건을 지키면서 내 컴퓨터가 아닌 다른 컴퓨터를 실행시키는 방법인 것이다. REST API 구성 자원(Resource) - URL 행위(Verb) - HTTP Method 표현(Representations) REST API는 크게 리소스(자원)와 행위와 표현을 규정하고 있다. ..
HTTP HTTP란? Hyper Text Transfer Protocol, 웹브라우저와 웹 서버가 통신을 할 때의 규칙. HTTP 요청(Request)의 구성요소 HTTP Request Line: 웹 서버로 부터 데이터를 가져올 때의 요청방법 / 요청한 정보 / 웹브라우저가 현재 사용하고 있는 혹은 사용할 수 있는 http 버전 HTTP Request Headers: Host - 요청하는 웹사이트(웹 서버)의 주소 User-Agent: 웹 브라우저 정보 Accept-Encoding: 웹브라우저가 지원하는 압축방식 If-Modified-Since: 마지막으로 다운로드 받은 시간. 웹 서버에서는 응답할 때 자신이 가진 파일이 더 최신이면 전송해주고 그렇지 않으면 전송하지 않는다 HTTP 응답(Response) 구성요..