36
SANG HYUN, PARK Front-End-Development WEB HTTP SPEC

Web http spec

Embed Size (px)

Citation preview

Page 1: Web http spec

SANG HYUN, PARKFront-End-Development

WEB HTTP SPEC

Page 2: Web http spec

01 REST02 URI03 HTTP 의 기본04 HTTP 메서드05 WEB

Page 3: Web http spec

01 REST

Representational State Transfer

분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식

웹 전체의 아키텍처 스타일

Page 4: Web http spec

요즘에는 XML 과 HTTP 를 사용하는 웹기반 인터페이스를 지칭

Page 5: Web http spec

“RESTful 하다”

Page 6: Web http spec

“ 하나의 URL 에는 하나의 정보만 !”

리소스를 유일한 URL 값으로 매핑한다 .왜냐하면 다른 리소스를 요청하는 경우에도 URL 이 같기 때문이다 .

하나의 URL 에 여러개의 파라미터 정보를 "XML 형태의 Body 데이터 " 로 던지고 있다면 이것은 RESTful 하지 않은 것이다 .

Post ID

Seat No

Time User ID

theme

Page 7: Web http spec

“Resource 따라

Request 다르게”

Page 8: Web http spec

응답에 대한 메타데이터를 Body에 포함 하지 않는다.

Page 9: Web http spec

URL 에는 명사만 !

/reservation/001/activate /reservation/001/status

동사 사용은메서드를 의미하는지 , 리소스를 의미하는지 구분이 모호해 질 수 있다 .

Page 10: Web http spec

동일한 URL 에서 친구에게 내가 보고 있는

특정한 콘텐츠를 보여줄 방법은 ?

Page 11: Web http spec

01 Ajax 통신을 통해 이동되는 페이지의 URI은 현재 URI 의 #! 이후에 붙인다 .

02 페이지가 처음 열릴 때 , #! 이후로 URI가 붙어있다면 해당 URI 로 redirect 를 해준다 .

Page 12: Web http spec

02 URI

Uniform Resource Identifier

리소스를 통일적으로 식별하는 ID

웹에 있는 자원에 간단하게 접속할 수 있는 주소(URI = URL + URN)

Page 13: Web http spec

우리가 브라우저의 주소창에 입력하는 주소

URL ‘Uniform Resource Locator’

Page 14: Web http spec

자원에 대해 영속적이면서 유일한 정보

 URN ‘Uniform Resource Name’

Page 15: Web http spec
Page 16: Web http spec

http://<authority><path>?<query>

URI 를 통해 서버에 데이터를 전달하고자 할 때 사용

key 와 value 쌍을 이뤄야하며 여러 개일 경우 & 로 연결

Page 17: Web http spec

http://<authority><path>#<fragment>

일반적으로 URI 의 가장 뒷부분에 위치

문서에 정의한 식별자의 위치로 이동시키는데 사용

Page 18: Web http spec

http://www.julia.net/selected/book-s.html

URI 스킴에서 패스까지 전부 기입

폴더명으로 끝나는 경우에는 끝부분에 ‘ /’ 를 붙임

절대 URI 의 파일명이 생략된 경우 ,서버에 설정된 기본 파일 값이 참조됨

절대 URI

Page 19: Web http spec

./sites.html ‘.’ 같은 폴더

../reports/index.html ‘..’ 한 단계 위 폴더 .

어떤 파일과 폴더를 기점으로 한 다른 파일의 경로

자기 사이트 안의 폴더와 파일을 참조하는 경우기본적으로 상대 URI 를 사용 .

‘/’ 로 시작하는 상대 URI 를 ‘절대패스’라고 함

상대 URI

Page 20: Web http spec

URL 설계

01 프로그래밍 언어에 의존적인 확장자 NO

03 프로그래밍 언어의 메서드명 NO

02 구현에 의존적인 경로명 NO

04 세션 ID 를 포함 NO

05 해당 리소스를 표현하는 명사 OK

Page 21: Web http spec

  http://example.com/cgi-bin/login.pl

  http://example.com/Login.do?action=showPage

  http://example.com/home.jsp?jsessionid=12345678

  http://example.com/sample/people/show/123

Page 22: Web http spec

03 HTTP 의 기본Hyper Text Transfer Protocol

클라이언트와 서버 사이에 이루어지는 요청 / 응답 (request/response) 프로토콜

하이퍼텍스트를 전송하기 위한 프로토콜

Page 23: Web http spec

실제로는 하이퍼텍스트 이외의

다양한 것을 전송하고 있으며 , 그것은

리소스 상태의 표현이다 .

Page 24: Web http spec
Page 25: Web http spec

Client

서버에 일정 서비스를 요구하는 자

Page 26: Web http spec

요청하는 정보를 제공하는 자 ( 컴퓨터 )

Server

Page 27: Web http spec

State Code서버가 클라이언트에 보내는요청에 대한 응답

Page 28: Web http spec

04 HTTP 메서드HTTP 의 요청 메시지를 특징짓는 메서드

8 개의 메서드로 구성GET, POST, PUT, DELETE, HEAD, OPTIONS, TRACE, CONNECT

Page 29: Web http spec

GET

지정한 URL 의 정보를 가져온다 .

Page 30: Web http spec

GET

파라미터를 Url 상에 표현하여 서버에 넘겨준다 .

Url 에 표기되므로 보안이 필요한 정보는 문제가 생길 수 있다 .

서버의 상태를 변경하지 않는다 .

Page 31: Web http spec

POST

폼에 입력한 데이터를 서버에 전송하여상태를 변경하는 작업에 대부분 사용된다 .

Page 32: Web http spec

POST

파라미터가 url 상에 표기되지 않고 http body 에 입력된다 .

주소창에 값을 표기하지 않아데이터의 크기에 제한이 없다 .

Page 33: Web http spec

PUT 리소스 갱신 , 작성

DELETE 리소스삭제HEAD 헤더 취득OPTIONS 리소스가 서포트하는 메서드 취득

Page 34: Web http spec

05 WEB

URL리소스 식별자

HTML하이퍼미디어 포맷

HTTP애플리케이션 컨트롤

HTML 의 링크는 URI 를 이용한다 .

HTTP 는URI 로 조직대상을 지정한다 .

HTML 는 HTTP 로 전송된다 .

Page 35: Web http spec

HTTP Hyper Text Transfer Protocol

URI Uniform Resource Identifier

HTML Hyper Text Markup Language

Page 36: Web http spec

Hyper Media Hyper Link 로 연결된 텍스트 / 이미지 / 음성 영상 정보의 연결

분산시스템 웹은 전 세계에 배치된 서버에 모든 브라우저가 접속하는 분산 시스템