Computer Science/Web & Network

Computer Science/Web & Network

[Web/Network] REST API란?

REST (Representational State Transfer : 자원의 상태 전달) 자원(resource)의 표현(representation)에 의한 상태 전달 URI를 통해 자원을 명시하고, HTTP Method를 통해 자원에 대한 CRUD 처리 방법 지정 Create : 생성(POST) Read : 조회(GET) Update : 수정(PUT) Delete : 삭제(DELETE) REST API REST 기반으로 서비스 API를 구현한 것이다. 마이크로 서비스, Open API 등에서 사용된다. 마이크로 서비스 : 마치 객체지향에서 작은 기능을 분리하듯이, 단일 애플리케이션을 느슨하게 결합된 서비스의 모임으로 구조화하는 소프트웨어 개발 기법이다. Open API : 누구나 사용할 수 있도록 공개..

Computer Science/Web & Network

[Web/HTTP] Web의 3요소와 HTTP 프로토콜, 특징

Web이란? World Wide Web이란 인터넷에 연결된 사용자들이 서로의 정보를 공유할 수 있는 공간을 의미한다. 간단히 줄여서 www나 w3, web이라고 가장 많이 부른다. www : World Wide Web w3라고도 부른다. web의 3요소 : URI, HTTP, HTML URI(Uniform Resource Identifier) Uniform: 리소스 식별하는 통일된 방식 Resource: 자원, URI로 식별할 수 있는 모든 것(제한 없음) Identifier: 다른 항목과 구분하는데 필요한 정보 HTTP (Hypertext Transfer Protocol) 클라이언트 - 서버 간 통신 HTML (Hyper Text Markup Language) 하이퍼미디어 포맷 XML을 바탕으로 한 범..

Computer Science/Web & Network

[Web] 쿠키(Cookie)와 세션(Session)

쿠키와 세션 HTTP는 무상태(Stateless) 프로토콜이다. 따라서 통신이 끝나면 상태(정보)를 유지하지 않는다. 이를 보완하기 위해 사용하는 것이 쿠키와 세션이다. 통신이 끝나도 이전 응답에 대한 정보가 필요할 때도 있고, 어떤 상태를 유지해야 할 때도 있다. 예를 들면 한번 로그인하면 로그아웃 전까지 로그인 상태가 유지되어야 한다. 이때, 쿠키를 이용하여 무상태 프로토콜인 HTTP에서 상태를 유지할 수 있다. 서버에서 클라이언트로 쿠키를 전달하면, 클라이언트는 그 쿠키를 저장해 뒀다가 HTTP 요청 시 서버로 전달한다. 그러나 쿠키는 보안 문제가 있다. 우선 쿠키의 값은 클라이언트에서 쉽게 조회, 변경할 수 있다. 그 값을 이용해서 악의적인 요청을 할 수도 있다. 따라서 사용자가 알아볼 수 없는 ..

Computer Science/Web & Network

[Web/HTTP] HTTP 상태 코드(Status Code)

HTTP Status Code HTTP 응답(Response) 메시지에는 시작 라인에 HTTP 버전 정보와 함께 요청에 대한 결과를 나타내는 상태코드를 담아서 보낸다. 위의 그림에서는 첫째줄의 200이 상태 코드이다. 요청받은 메시지의 처리 결과를 보여주고, 해당 결과에 따라 다른 상태코드를 보낸다. 첫 숫자가 큰 의미를 나타낸다. 예를 들어 200번 대의 상태코드는 성공을 나타내고, 400번 대의 상태코드는 클라이언트 에러, 500번 대의 상태코드는 서버 에러를 나타낸다. 뒤의 두 자리에는 세부 정보를 나타내는 숫자를 추가한다. 이 숫자들은 일종의 규약이라고 생각하면 된다.

Computer Science/Web & Network

[Web/HTTP] HTTP Methods

HTTP Method HTTP 메서드란 클라이언트와 서버 사이의 요청(Request)과 응답(Response) 데이터를 전송하는 방식을 말한다. 요청을 보낼 때, HTTP 메서드로 서버가 수행해야 할 동작을 지정하는 방법이다. HTTP는 아래와 같은 Method 들을 사용해서 요청한다. 안전 (Safe) : 호출해도 리소스를 변경하지 않는다. CRUD : Create, Read, Update, Delete 멱등성 : 동일한 요청을 한 번 보내는 것과 여러 번 연속으로 보내는 것이 같은 효과를 지니고, 서버의 상태도 동일하게 남을 때, 해당 HTTP 메서드가 멱등성을 가졌다고 말한다. 이외에도 아래와 같은 메서드들이 존재하지만, 위의 5개의 메서드를 주로 사용한다. HEAD : GET과 동일하지만, 헤더 ..

Computer Science/Web & Network

[Web/HTTP] HTTP 메시지(요청, 응답) 구조

HTTP 메시지 HTTP는 연결을 유지하지 않는 Connectless, Stateless 프로토콜이다. 따라서 HTTP는 정해진 규격의 메시지에 모든 정보를 담아서 통신한다. 클라이언트는 HTTP 메시지에 정보를 담아 서버에 요청하고, 서버는 클라이언트로부터 받은 HTTP 메시지를 확인하여 클라이언트가 요청한 정보를 새로운 HTTP 메시지에 정보를 담아 클라이언트로 응답한다. 즉, HTTP 메시지에 모든 것을 전달한다. HTML, TEXT image, 음성, 영상, 파일 JSON, XML 거의 모든 형태의 데이터 전송 가능 서버 간에 데이터를 주고받을 때도 대부분 HTTP를 사용한다. !!! 공백은 필수로 포함되어야 한다. Request : 요청 메시지 시작 라인(HTTP Request start-lin..

Computer Science/Web & Network

[Web] URI, URL / URI 설계 원칙 RFC-3986

URI, URL / URI 설계 원칙 RFC-3986 URI : Uniform Resource Identifier 인터넷 상에서 특정 자원을 나타내는 주소 값. ( 유일한 값 ) URL : Uniform Resource Locator 인터넷 상에서의 특정 자원이 어디에 위치하는지 식별하는 주소 URL은 URI의 하위개념이다. URL 분석 scheme:// [userinfo@] host[:port][/path][?query][#fragment] ex ) https://www.google.com:443/search?q=hello&hl=ko 1. https:// scheme : 프로토콜 (어떤 방식으로 자원에 접근할 것인가 하는 약속 규칙) 2. [userInfo@] [userInfo@] 는 거의 사용하지 않..

HSRyuuu
'Computer Science/Web & Network' 카테고리의 글 목록