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