Docker

Similar documents
Week8-Extra

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

HTML5가 웹 환경에 미치는 영향 고 있어 웹 플랫폼 환경과는 차이가 있다. HTML5는 기존 HTML 기반 웹 브라우저와의 호환성을 유지하면서도, 구조적인 마크업(mark-up) 및 편리한 웹 폼(web form) 기능을 제공하고, 리치웹 애플리케이 션(RIA)을

<4D F736F F F696E74202D E20C0CEC5CDB3DD20C0C0BFEB20B9D720BCADBAF1BDBA20B1E2BCFA E >

Lab1

Network seminar.key

Microsoft PowerPoint - ch02_인터넷 이해와 활용.ppt

3장

Secure Programming Lecture1 : Introduction

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

목 차 Ⅰ. 일반사항 1 Ⅱ. 특기사항 3 Ⅲ. 물품내역 및 세부규격 8 Ⅳ. 주의사항

Building Mobile AR Web Applications in HTML5 - Google IO 2012

PowerPoint 프레젠테이션

1217 WebTrafMon II

Subnet Address Internet Network G Network Network class B networ

6강.hwp

Week13

untitled


품질검증분야 Stack 통합 Test 결과보고서 [ The Bug Genie ]

4? [The Fourth Industrial Revolution] IT :,,,. : (AI), ,, 2, 4 3, : 4 3.

Interstage5 SOAP서비스 설정 가이드

Sena Device Server Serial/IP TM Version

Overall Process

Social Network

DocsPin_Korean.pages

Assign an IP Address and Access the Video Stream - Installation Guide

소프트웨어 융합 개론

thesis

Remote UI Guide

SMB_ICMP_UDP(huichang).PDF

2파트-07

3ÆÄÆ®-14

제20회_해킹방지워크샵_(이재석)

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

초보자를 위한 C++

°í¼®ÁÖ Ãâ·Â

Intra_DW_Ch4.PDF

슬라이드 1

Orcad Capture 9.x

초보자를 위한 ASP.NET 2.0

10X56_NWG_KOR.indd

LXR 설치 및 사용법.doc

Portal_9iAS.ppt [읽기 전용]

Web Scraper in 30 Minutes 강철

PowerPoint Presentation

0. 들어가기 전

초보자를 위한 ADO 21일 완성

CD-RW_Advanced.PDF

MasoJava4_Dongbin.PDF

TTA Verified : HomeGateway :, : (NEtwork Testing Team)

Microsoft PowerPoint - aj-lecture1-HTML-CSS-JS.ppt [호환 모드]

SK Telecom Platform NATE

PowerPoint 프레젠테이션

슬라이드 제목 없음

EDB 분석보고서 (04.03) ~ Exploit-DB( 에공개된별로분류한정보입니다. ** 5개이상발생한주요소프트웨어별상세 EDB 번호 종류 공격난이도 공격위험도 이름 소프트웨어이름 3037 SQL Inj

PowerPoint 프레젠테이션

ODS-FM1

PowerPoint Template

서현수

chapter4

untitled

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

Chap7.PDF

학습영역의 Taxonomy에 기초한 CD-ROM Title의 효과분석

쉽게 풀어쓴 C 프로그래밍

Javascript.pages

Ⅰ. 서론 1989년 CERN의 팀 버너스 리에 의해 만들어진 월드 와이드 웹 기술은 HTML(HyperText Markup Language), URL(Unified Resource Locator, HTTP(Hyper- Text Transfer Protocol)이라는

< FC8A8C6E4C0CCC1F620B0B3B9DF20BAB8BEC8B0A1C0CCB5E5C3D6C1BE28C0FAC0DBB1C7BBE8C1A6292E687770>

bn2019_2

0125_ 워크샵 발표자료_완성.key

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

ARMBOOT 1

ibmdw_rest_v1.0.ppt

TCP.IP.ppt

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

Ext JS À¥¾ÖÇø®ÄÉÀ̼ǰ³¹ß-³¹Àå.PDF

C H A P T E R 2

cam_IG.book

접근성과 웹 The power of the Web is in its universality. Access by everyone regardless of disability is an essential aspect. Tim Berners-Lee, the inventor

20주년용

슬라이드 1

untitled

chapter1,2.doc

PowerPoint Template

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

Dialog Box 실행파일을 Web에 포함시키는 방법

[SHA-2] HASH 함수 중의 하나로, HASH는 임의의 길이의 데이터를 입력 받아 고정된 길이의 데이터(해시 값)로 출력합니다. 동일한 데이터인 경우 동일한 해시 값을 갖는다. 에 기초하여 메시지 무결성(오류/변조 탐지)을 확인하기 위하여 사용됩 니다. 하지만 서

오늘날의 기업들은 24시간 365일 멈추지 않고 돌아간다. 그리고 이러한 기업들을 위해서 업무와 관련 된 중요한 문서들은 언제 어디서라도 항상 접근하여 활용이 가능해야 한다. 끊임없이 변화하는 기업들 의 경쟁 속에서 기업내의 중요 문서의 효율적인 관리와 활용 방안은 이

AMP는 어떻게 빠른 성능을 내나.key

FileMaker 15 WebDirect 설명서

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

PCServerMgmt7

What Is CSS? Stands for Cascading Style Sheets. Is a simple mechanism for adding style (e.g. fonts, colors, spacing) to Web documents. Styles define h

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

PowerPoint 프레젠테이션

untitled

untitled

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C

기술 이력서 2.0

Transcription:

Web + HTML SPARCS FRESHMAN SEMINAR 2016-03-30 SAMJO

Schedule Frontend Web + HTML CSS + JavaScript jquery Backend Django (3 ~ ) 디자이너분들은 Backend 세미나가필수가아님

Today s Topics World Wide Web Concept, Server, Client, Uniform Resource Identifier HyperText Transfer Protocol Request + Response, Methods, Status Code, Headers, Cookies HTTP with Security SSL / TLS HyperText Markup Language WTF???

Warning [Sam Jo] 난이도가상향되었습니다. [Sam Jo] 휠세미나내용을조금 (?) 가져왔습니다. 실습이없음 = 지루함 별로어려운내용이아님 = 더지루함 발표자가재미없는사람임 = 매우지루함

Web? The World Wide Web is an information system of interlinked hypertext documents and other digital resources that are accessed via the Internet Sir. Tim Berners-Lee (1955-06-08 ~ )

History There is a light! 1989: CERN 에서자료공유목적으로 hypertext 라는개념을도입 imagine, then, the references in this document all being associated with the network address of the thing to which they referred, so that while reading this document you could skip to them with a click 1990: First web server, web browser (WorldWideWeb), web site (http://line-mode.cern.ch/www/hypertext/www/theproject.html) 1991: WWW 가 CERN 외부에서최초로서비스됨

The Core 정보를원하는거 = 너 정보를받아서예쁘게보여주는거 = 니컴 정보를주는거 = 니컴아닌다른컴 정보를주고받는방법 = 랜선 (?) 정보의형식 = 뭔가형식적인문자열

The Core Fancy Terms 정보를원하는거 = User 정보를받아서예쁘게보여주는거 = Web Client (Web Browser) 정보를주는거 = Web Server 정보를주고받는방법 = HyperText Transfer Protocol (HTTP) 정보의형식 = HyperText Markup Language (HTML)

HyperText Transfer Protocol an application protocol for distributed, collaborative, hypermedia information systems

HTTP Basic Located in OSI Layer 7, Port: TCP 80 Standards HTTP/1.0 (1996) HTTP/1.1 (1999): improvement in caching, connection optimization HTTP/2 (2015): compression on http headers (binary!) Client -> Server: Request / Server -> Client: Response Stay Tuned!

Web Client (Web Browser) HTTP Request 를보내고, HTTP Response 를받아주는프로그램 주로 GUI 형태로사용자에게요청을받음 HTTP Response 를해석 (parsing) 해서보여줌 (rendering) 5 Major Web Browser (Desktop) Chrome (Blink), Firefox(Gecko), IE/Edge (Trident) Safari (Webkit), Opera (Blink) Mobile Chrome, Safari,

Some History - SSULs 1990: The first, WorldWideWeb 1993: Mosaic 1994: Netscape Navigator 1995: Internet Explorer 1 1996: Opera 2001: Internet Explorer 6 2003: Safari 1 2004: Firefox 1 2008: Chrome 1 2015: Microsoft Edge

Web Browser Market Share

Web Server Client 에서온 HTTP Request 를받음 가지고있는정보 (DB 등 ) 를사용하여작업을수행 (business logic) 사실 web server software 가다른프로그램을부르는방식 (CGI) 으로수행 처리된결과를 Client 에게보냄 (HTTP Response) 3 Major Web Server Software Apache Nginx IIS (Internet Information Server) by M$

Apache 세계에서가장많이쓰는웹서버 SW 54.2% of all active website (2013/06) Apache 재단에서개발 최신버전 : 2.4.12 Cross-Platform Linux, Mac, Windows FreeBSD, Solaris, OS/2 세계에서가장유명한공격헬기 약 2000 대생산 (2013/03) 보잉사에서개발 최신기종 : AH-64F 다양한국가에서운용 U.S, U.K, Israel Netherlands, Egypt

세계에서두번째로많이쓰이는웹서버 SW 14.24% of all active website (2015/04) Nginx, Inc. 에의해개발 (2011년설립 ) 최신버전 : 1.8.0 Cross-Platform Linux, Mac, Windows, Unix, Solaris, BSDs

Want to Learn More? 그래넌휠을해야해 13 story (original: 그래넌아라를해야해 ) 그래그건이제니가되게해야해! 13 chocho 여름방학때열리는휠세미나를들어봅시다!

Uniform Resource Identifier 자원을식별하는데사용되어지는문자열 URL (~ Locater) 와 URN (~ Name) 으로나눠짐 URL은웹자원을이름으로식별하는데사용됨 URN은특정 namespace에서자원을이름으로식별하는데사용 ex: ISBN (International Standard Book Number) urn:<namespace id>:<namespace-specific string> ex: urn:isbn:04515450523

Uniform Resource Locator (URL) scheme://[user:password@]domain:port/path?query#fragment scheme: protocol의이름 (http, https, ftp, file ) domain: 도메인이름 (naver.com) 또는 IP주소 port: 포트번호 ( 생략시 http=80, https=443, ftp=21 ) path: 자료경로 (/sambradjo/post/907269945997390) query: 웹서버에보내는추가적인정보?name1=data1&name2=data2 fragment: 문서의특정위치나부분을지칭

URL Examples http://www.naver.com/ http://sambradjo.net:8080/ ftp://samjo:samsam@sambradjo.net/file1.pptx mailto:samjo@sparcs.org file:///home/samjo/abc.pdf http://sambradjo.net/login/?id=samjo&pw=samsam http://sambradjo.net/web/url.html#history

URL - Extra Info 사용가능한문자열 : ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789 - ~ _. path, query 에다른문자열이있을경우 escape 해야함 domain 에서는 ~ _. 사용불가 case-insensitive: scheme, domain case-sensitive: path, query, fragment Internationalized domain name (IDN) Unicode 도메인이름을지원 http://xn--220b31d95hq8o.xn--3e0b707e/

HTTP, again Managed by W3C (World Wide Web Consortium) RFC (Request for Comments) Standard IETF (Internet Engineering Task Force) -> Syntax Specification (RFC7230) 상당히방대한분량의표준이있음 알아둬야할것만간단히 (?) 다루고넘어감 이세미나에서는 HTTP/1.1 을사용

HTTP Request Structure [method] [URI] [Version] [header field]:[header value]* [body] GET / HTTP/1.1 Host: www.naver.com Connection: keep-alive

HTTP Request Method GET: URL 에해당하는자료의요청 ; 대부분의페이지이동 Query 는 URL 끝에붙음 (ex: abc.com/?id=sam&pw=abc) POST: 서버에자료를보내는요청 ; 대부분의버튼클릭 Query 는 request body 에삽입되어전송됨 PUT: 해당 URL 에자료를저장 DELETE: 해당 URL 에자료를삭제 TRACE, OPTIONS, CONNECT, HEAD

HTTP Response Structure [version] [status code] [reason message] [header field]:[header value]* <CRLF> [body] HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 <CRLF> <!doctype html>

HTTP Status Code 1xx: 조건부응답 2xx: 성공 200: 성공 3xx: 리다이렉션완료 301: 영구이동 ; 302: 임시이동 304: 수정되지않음 4xx: 요청오류 400: 잘못된요청 ; 401: 권한없음 ; 403: 금지됨 ; 404: 찾을수없음 5xx: 서버오류 500: 내부오류 ; 503: 서비스사용불가

HTTP Packet Chrome 에서 F12 를눌러개발자도구를연다 Network 탭을열고, 웹페이지를하나로드한다.

Headers Many many many Some famous headers Host (Request) Content-Length (Request / Response) Content-Type (Request / Response) User-Agent (Request) Cookie (Request) / Set-Cookie (Response)

Headers Host, Content-Length Host: specifies the Internet host and port number of the resource being requested Introduced in HTTP/1.1 1 IP = Multiple Host EX: Host: www.naver.com Content-Length: indicates the size of the entity-body EX: Content-Length: 1234

Headers Content-Type Content-Type: indicates the media type of the entity-body text/html, text/plain multipart/form-data image/jpeg, image/gif, image/png, application/octet-stream, application/xml, Search MIME Type on the Web!

Headers User-Agent Web Browser 의종류를서버에게알려주기위해만든 header 서버는이문자열로사용자의 web browser 을식별할수있음 주의 : 매우당연하게이를다른값으로바꿔서보낼수있음 ex: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36

Headers Cookie / Set-Cookie a small piece of data sent from a website and stored in a user s web browser while the user is browsing that website 웹사이트가사용자의정보를기억하는데사용 로그인, 온라인쇼핑몰쇼핑카트, 광고등에사용 사용자의웹브라우저에저장되므로값을믿어서는안됨 1. 웹사이트가 Response Header 의 Set-Cookie 라는항목에쿠키정보를만들어보냄 2. 웹브라우저는이를사용자컴퓨터에저장함 3. 해당사이트를방문할때마다 Request Header 에넣어서보냄

TLS / SSL Add Some Security! TLS (Transport Layer Security) / SSL (Secure Socket Layer) HTTP 를암호화하자! https:// ~ (port 443) Newest: TLSv1.2 Working: TLSv1.3 RFC 5246

TLS / SSL How it works? It s complicated! Need some basic understanding of crypto Many terms PKI, Certificate, CA, SKIP for NOW 더알고싶다면넌휠이야 이번학기에 TLS / SSL 세미나를 90% 확률로할거같습니다 물론필수는아니고듣고싶은사람만들으면됩니다 하게된다면휠보안세미나보다자세히다룰예정입니다

TLS / SSL Attacks 잘사용하면매우좋으나잘사용하는경우가별로없음 EX: 실제로학교 (*.kaist.ac.kr) 중많은수의도메인에문제가있음 DROWN / POODLE / Heartbleed / Weak Stream Cipher (RC4) / Weak Cert Signature (SHA1) / HTTP Strip (Lack of HTST) / CRIME (TLS Compression) / FREAK (Export Ciphers) / Logjam 기억나는것만이정도로보안취약점이매우많음 취약점관련발표에신경쓰고, 적절히패치되었는지확인해야함

HyperText Markup Language (HTML) The standard markup language used to create web pages Developed by W3C & WHATWG World Wide Web Consortium Web Hypertext Application Technology Working Group 기본적인구조에대해서는다들아시니 PASS <abc attr1= value1 ></abc> <abc attr1= value1 />

Brief History of HTML HTML 1.0 (1991) -> HTML 2.0 (1994) -> HTML 3.2 (1997) Age of Mosaic, Netscape, IE 3.0 HTML 4.0 (1997) -> HTML 4.01, XHTML 1.0 (2000) Age of IE 4.0 ~ 6.0 HTML 5.0 (2014) Chrome, Firefox, Internet Explorer, Safari, Opera 이세미나에서는 HTML 5 를사용

HTML Specification W3C 홈페이지에전체 specification 이공개되어있음 https://www.w3.org/tr/html5/ Full Syntax: https://www.w3.org/tr/html5/syntax.html#syntax HTML 을사용하다가 ( 또는세미나만들다가 ) 궁금한게생겼을때 가장기준이되는곳 가장믿을만한곳 벌써 5.1 도만들고있으니심심할때한번보면됨

HTML DTD (Document Type Definition) Set of markup declarations that define a document type DTD 선언 : Web Browser 에게어떤버전의 HTML 인지알려줌 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN " "http://www.w3.org/tr/html4/strict.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/tr/html4/frameset.dtd"> <!DOCTYPE HGML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd"> HTML5 는 DTD 가없음 <!DOCTYPE html>

HTML Structure Nested elements <html> <head> </head> <body> <p> </p> </body> </html> Elements is an individual component of an HTML, once this has been pared into the Document Object Model (DOM) p, table, html, body, li, 많다 Attribute 를여러개 ( 또는 0 개 ) 가지고있다. Attribute modifies the default functionality / provides functionality to certain element types src, href, id, class, onmouse, style, title, 역시많다

HTML Elements Type 1. <name [attribute-name= attribute-value ]*>content</name> EX: <p style= color:red id= my-parag >Hello, World!</p> Type 2. <name [attribute-name= attribute-value ]*> EX: <img src= abc.com alt= My Image > Actually, void / raw text / escapable raw text / foreign / normal elements https://www.w3.org/tr/html5/syntax.html#elements-0 * Attribute value can be empty EX: <input type= checkbox checked>

HTML Attributes Global: may be specified on all HTML elements Specific: others 각 element 마다정의되어있음 EX: <img src= http://abc.com > / <p src= http://abc.com >

HTML Global Attributes id: element 의 id, 여러개가할당되거나중복될수없음 <div id= my-div > class: element 의 class <button class= my-button red-button > style: element 의 style - line css, 가급적사용하지않는게좋음 <p style= color:red >I m RED!</p> lang, translate, dir, hidden, title,

Want to Learn More? MDN MOZILLA DEVELOPER NETWORK HTML element & attribute reference Standards, covers both HTML 4 and 5 Provides browser compatibility https://developer.mozilla.org/en-us/docs/web/html/element

HTML Character Escaping Python 에서보셨던그거 일부문자는특별한의미를가지고있기때문에 escaping 이필요 >: > <: < &: & ": " : 냥냥뀨냥 ><: 냥냥 ><

Is it enough? YES, only for template BUT ABSOUTELY NOT FOR USER INPUT RULE 101: DO NOT TRUST USERS INPUTS <a href="/user/[username]">[username]</a> What if [username] = foo" onmouseover="alert(1) <a href="/user/foo" onmouseover="alert(1)">foo" onmouseover="alert(1)</a>

HTML Elements html / head / body <html> </html>: the root element html 의가장상위 element <head> </head>: head of html 화면에보이지않으며, meta, title, link, script 태그가들어감 <body> </body>: body of html 화면에보이는내용을넣음

HTML Elements meta / link / script <title> </title>: html 문서의제목 <link>: allows to link their document to other resources 주로 CSS를 import할때사용 <link href= my-css.css rel= stylesheet > <script> </script>: include dynamic script and data blocks 주로 JavaScript를 import할때사용 <script src= my-js.js type= text/javascript ></script> <meta>: 기타 metadata attributes: name, http-equiv, content, property EX: <meta charset= utf-8 > EX: <meta property= og:name content= abc >

HTML Elements div / span <div> </div>: 일반적인 element 를모아놓는 container <span> </span>: div 랑거의같은 container ㅇㅈ? ㅇㅇㅈ div : span = block : inline block level: occupies the entire space of its parent inline level: occupies only the space bounded by the tags CSS 세미나시간에자세히다루게될것임

HTML Elements h1 ~ h6 / p / a / img <h1> </h1>: title <h1> 이것은제목이냥 </h1> <p> </p>: paragraph <p> 냥냥나는문장이냥 </p> <a> </a>: link <a href= abc.com >click here!</a> <img>: image <img src= abc.com alt= text >

HTML Elements table / th / tr / td <table> <th> <td>first Name</td> <td>last Name</td> <td>username</td> </th> <tr> <td>sungwon</td> <td>cho</td> <td>@samjo</td> </tr> <tr> </tr> </table>

HTML Elements ul / ol / li <ul> </ul>: unordered list <ol> </ol>: ordered list <ul> <li> 숙제하기 </li> <li> 사이퍼즈하기 </li> <li> 자살하기 </li> </ul>

HTML Elements form 서버에데이터를전송할수있도록여러 element 를포함시켜줌 input, select, textarea, button

HTML Elements frequently used article / aside / b / blockquote / button / br / canvas / code / dl / dt / em / hr / i / input / label / nav / pre / section / select / textarea Again, search Google (or MDN, stackoverflow, whatever ) SPARCS SSO: ~ 20 tags

Homework https://www.codecademy.com/learn/web Codecademy: HTML + CSS UNIT 3: HTML STRUCTURE: 까지하시면됩니다. 기한 : CSS 세미나전까지 반드시하셔야본인지식이됩니다!

Advertisement SPARCS SSO TLS / SSL Security OAuth Security Login Page Design

Q&A THANK YOU!

References https://www.w3.org/tr/html5 https://developer.mozilla.org/en-us/docs/web/html/element http://sparcs.org/seminar/ 2015 Wheel Seminar - 8. Web, Apache and Nginx by samjo