Web http spec
-
Upload
julia-park -
Category
Documents
-
view
9 -
download
1
Transcript of Web http spec
SANG HYUN, PARKFront-End-Development
WEB HTTP SPEC
01 REST02 URI03 HTTP 의 기본04 HTTP 메서드05 WEB
01 REST
Representational State Transfer
분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식
웹 전체의 아키텍처 스타일
요즘에는 XML 과 HTTP 를 사용하는 웹기반 인터페이스를 지칭
“RESTful 하다”
“ 하나의 URL 에는 하나의 정보만 !”
리소스를 유일한 URL 값으로 매핑한다 .왜냐하면 다른 리소스를 요청하는 경우에도 URL 이 같기 때문이다 .
하나의 URL 에 여러개의 파라미터 정보를 "XML 형태의 Body 데이터 " 로 던지고 있다면 이것은 RESTful 하지 않은 것이다 .
Post ID
Seat No
Time User ID
theme
“Resource 따라
Request 다르게”
응답에 대한 메타데이터를 Body에 포함 하지 않는다.
URL 에는 명사만 !
/reservation/001/activate /reservation/001/status
동사 사용은메서드를 의미하는지 , 리소스를 의미하는지 구분이 모호해 질 수 있다 .
동일한 URL 에서 친구에게 내가 보고 있는
특정한 콘텐츠를 보여줄 방법은 ?
01 Ajax 통신을 통해 이동되는 페이지의 URI은 현재 URI 의 #! 이후에 붙인다 .
02 페이지가 처음 열릴 때 , #! 이후로 URI가 붙어있다면 해당 URI 로 redirect 를 해준다 .
02 URI
Uniform Resource Identifier
리소스를 통일적으로 식별하는 ID
웹에 있는 자원에 간단하게 접속할 수 있는 주소(URI = URL + URN)
우리가 브라우저의 주소창에 입력하는 주소
URL ‘Uniform Resource Locator’
자원에 대해 영속적이면서 유일한 정보
URN ‘Uniform Resource Name’
http://<authority><path>?<query>
URI 를 통해 서버에 데이터를 전달하고자 할 때 사용
key 와 value 쌍을 이뤄야하며 여러 개일 경우 & 로 연결
http://<authority><path>#<fragment>
일반적으로 URI 의 가장 뒷부분에 위치
문서에 정의한 식별자의 위치로 이동시키는데 사용
http://www.julia.net/selected/book-s.html
URI 스킴에서 패스까지 전부 기입
폴더명으로 끝나는 경우에는 끝부분에 ‘ /’ 를 붙임
절대 URI 의 파일명이 생략된 경우 ,서버에 설정된 기본 파일 값이 참조됨
절대 URI
./sites.html ‘.’ 같은 폴더
../reports/index.html ‘..’ 한 단계 위 폴더 .
어떤 파일과 폴더를 기점으로 한 다른 파일의 경로
자기 사이트 안의 폴더와 파일을 참조하는 경우기본적으로 상대 URI 를 사용 .
‘/’ 로 시작하는 상대 URI 를 ‘절대패스’라고 함
상대 URI
URL 설계
01 프로그래밍 언어에 의존적인 확장자 NO
03 프로그래밍 언어의 메서드명 NO
02 구현에 의존적인 경로명 NO
04 세션 ID 를 포함 NO
05 해당 리소스를 표현하는 명사 OK
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
03 HTTP 의 기본Hyper Text Transfer Protocol
클라이언트와 서버 사이에 이루어지는 요청 / 응답 (request/response) 프로토콜
하이퍼텍스트를 전송하기 위한 프로토콜
실제로는 하이퍼텍스트 이외의
다양한 것을 전송하고 있으며 , 그것은
리소스 상태의 표현이다 .
Client
서버에 일정 서비스를 요구하는 자
요청하는 정보를 제공하는 자 ( 컴퓨터 )
Server
State Code서버가 클라이언트에 보내는요청에 대한 응답
04 HTTP 메서드HTTP 의 요청 메시지를 특징짓는 메서드
8 개의 메서드로 구성GET, POST, PUT, DELETE, HEAD, OPTIONS, TRACE, CONNECT
GET
지정한 URL 의 정보를 가져온다 .
GET
파라미터를 Url 상에 표현하여 서버에 넘겨준다 .
Url 에 표기되므로 보안이 필요한 정보는 문제가 생길 수 있다 .
서버의 상태를 변경하지 않는다 .
POST
폼에 입력한 데이터를 서버에 전송하여상태를 변경하는 작업에 대부분 사용된다 .
POST
파라미터가 url 상에 표기되지 않고 http body 에 입력된다 .
주소창에 값을 표기하지 않아데이터의 크기에 제한이 없다 .
PUT 리소스 갱신 , 작성
DELETE 리소스삭제HEAD 헤더 취득OPTIONS 리소스가 서포트하는 메서드 취득
05 WEB
URL리소스 식별자
HTML하이퍼미디어 포맷
HTTP애플리케이션 컨트롤
HTML 의 링크는 URI 를 이용한다 .
HTTP 는URI 로 조직대상을 지정한다 .
HTML 는 HTTP 로 전송된다 .
HTTP Hyper Text Transfer Protocol
URI Uniform Resource Identifier
HTML Hyper Text Markup Language
Hyper Media Hyper Link 로 연결된 텍스트 / 이미지 / 음성 영상 정보의 연결
분산시스템 웹은 전 세계에 배치된 서버에 모든 브라우저가 접속하는 분산 시스템