…l…b…g…‘†[…N…v…“…O…›…~…fi…OfiÁŸ_

Similar documents
HTTP Web Web RFC2616 HTTP/1.1 Web Apache Tomcat (Servlet ) XML Xindice Tomcat 6-2

¥Í¥Ã¥È¥ï¡¼¥¯¥×¥í¥°¥é¥ß¥ó¥°ÆÃÏÀ

Copyright 2006 Mitsui Bussan Secure Directions, Inc. All Rights Reserved. 3 Copyright 2006 Mitsui Bussan Secure Directions, Inc. All Rights Reserved.

untitled

第2回_416.ppt

東京エリアDebian勉強会 - 第86回 2012年3月度

CAS Yale Open Source software Authentication Authorization (nu-cas) Backend Database Authentication Authorization Powered by A

付録B

Web のクライアントサーバモデル

"CAS を利用した Single Sign On 環境の構築"

Servlet JSP JSP Servlet/JSP における 日 本 語 の 処 理 - 1

インストール取扱説明書


WIDE 1

Web SOAP Internet Web REST SOAP REST 3 REST SOAP 4

HTTPの 規 格

untitled

main.dvi

スマートアヴェニュー ご利用マニュアル

SOC Report

Web Servlet/JSP JSP

FileMaker Server Getting Started Guide

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV

5-5_arai_JPNICSecSemi_XssCsrf_CM_ PDF

オンラインテスト

25 About what prevent spoofing of misusing a session information

¥Í¥Ã¥È¥ï¡¼¥¯¥×¥í¥°¥é¥ß¥ó¥°ÆÃÏÀ

ict7.key

Windows2000 Edge Components V Edge Components V Java Edge Components

XMLアクセス機能説明書

[2][3] 2.1 Web 1 var s=0;for(var i=0;i<=10;i++){s+=i}alert(s) Web sum s Web % JavaScript [4] Web 1 var a = void 0; // var a = undefined; 2 va

2

wide94.dvi

FileMaker Server 9 Getting Started Guide

untitled

インストール取扱説明書

II 1 p.1 1 Servlet 1.1 Web Web WWW HTML CGI Common Gateway Interface Web HTML Web Web CGI CGI CGI Perl, PHP C JavaScript Web CGI HTML 1.2 Servlet Java

Dec , IS p. 1/60

¥Í¥Ã¥È¥ï¡¼¥¯¥×¥í¥°¥é¥ß¥ó¥°ÆÃÏÀ

FileMaker Server Getting Started Guide


インストール取扱説明書

Oracle Application Server 10g Release 3(10.1.3)Oracle HTTP Serverの概要

C G I 入 門 講 座

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV

チュートリアル: タイルのキャッシュを設定する方法

"CAS を利用した Single Sign On 環境の構築"

ii II Web Web HTML CSS PHP MySQL Web Web CSS JavaScript Web SQL Web

Web 1 p.2 1 Servlet Servlet Web Web Web Apache Web Servlet JSP Web Apache Tomcat Jetty Apache Tomcat, Jetty Java JDK, Eclipse

WebRTC P2P Web Proxy P2P Web Proxy WebRTC WebRTC Web, HTTP, WebRTC, P2P i

Do No Track 実装ガイド

main.dvi

"CAS を利用した Single Sign On 環境の構築"

FileMaker Server Getting Started Guide

Java Platform Debugger Architecture Apache JServ Oracle JVM JPDA JVM Tomcat Oracle JVM... 7

MIRACLE LoadBalancerを使用したネットワーク構成と注意点

Web STEPS Web Web Form Cookie HTTP STEPS Web

untitled

9iAS_DEV.PDF

Microsoft PowerPoint - Lecture_3

untitled

FileMaker Server 16 インストールおよび構成ガイド

HTML Java Tips dp8t-asm/java/tips/ Apache Tomcat Java if else f

第3回_416.ppt

Microsoft PowerPoint - 情報システム pptx

IIJ Technical WEEK アプリ開発を楽にするRuby PaaS「MOGOK」について

IT講習会

はじめに

2 [2] Flow Visualizer 1 DbD 2. DbD [4] Web (PV) Web Web Web 3 ( 1) ( 1 ) Web ( 2 ) Web Web ( 3 ) Web DbD DbD () DbD DbD DbD 2.1 DbD DbD URL URL Google

SAML

コンテントネゴシエーション

MySQLにおけるシステム運用時のポイント

FileMaker WebDirect Guide

Oracle Application Server 10g(9

ohp.mgp

Microsoft Word - migrateto10g2.doc

Oracle Application Server 10gリリース2( )Oracle HTTP Serverの概要

雲の中のWebアプリケーション監視術!~いまなら間に合うクラウド時代の性能監視入門~

Microsoft PowerPoint - webapp.ppt [互換モード]

WEBサービス超入門 mask.key

ict8.key

Microsoft PowerPoint ppt

HTML Java Tips dp8t-asm/java/tips/ Apache Tomcat Java if else f

shibasaki(印刷用)

A/B WWW MTA/MSP sendmail POP/IMAP apache WWW 1 1 sendmail uw imap apache WWW host host subnet1: /24 IF1: router & server mail and

FileMaker Server 9 Getting Started Guide

FileMaker 15 WebDirect ガイド

Oracle Application Server 10g( )インストール手順書

Apache on CLUSTERPRO for Linux HOWTO

DSASのやりくり

BIG‑IP Access Policy Manager | F5 Datasheet

Northern Lights Server

第168回東京エリアDebian勉強会   debianにおけるnginxの設定例

2 Java 35 Java Java HTML/CSS/JavaScript Java Java JSP MySQL Java 9:00 17:30 12:00 13: 項目 日数 時間 習得目標スキル Java 2 15 Web Java Java J

FileMaker Server 15 入門ガイド

農研機構 食品総合研究所 研究報告 77号

ORCA (Online Research Control system Architecture)

コンテンツキャッシュを活用してWebサーバーの負荷を下げたい:IDCFクラウド活用マニュアル

Web Web Web Web Web, i

WebOS aplat WebOS WebOS 3 XML Yahoo!Pipes Popfry UNIX grep awk XML GUI WebOS GUI GUI 4 CUI

Transcription:

12 : REST : Apache Tomcat Node.js 1 / 29

basic auth/:.htaccess.htpasswd.htaccess Web ( MIME ) testcgi.c: CGI rest.rb: yahoo CGI (written in ruby) tomcat/ testform.html: form.jsp form.jsp: PUT JSP form jsp.java: form.jsp java test.jsp: <% <%! JSP test jsp.java: src/: servlet (HelloWorld.java, web.xml) server.js: Node.js 2 / 29

Web Apache The Apache Software Foundation Apache HTTP Server LAMP: Linux, Apache, MySQL, PHP/Perl Web IIS (Internet Information Server) Nginx Lighttpd Node.js GWS (Google Web Server) 3 / 29

apache apache1.3 (apache 2 ) apache apache core apache modules (core ) module http://httpd.apache.org/docs/2.4/mod/ 4 / 29

Apache O.A.Dragoi, The Conceptual Architecture of the Apache Web Server, CS746G, Univ. of Waterloo.

Apache Core O.A.Dragoi, The Conceptual Architecture of the Apache Web Server, CS746G, Univ. of Waterloo.

http request http request URI to filename translation Check access based on host address, and other available information Get an user id from the HTTP request and validate it Authorize the user Determine the MIME type of the requested object (the content type, the encoding and the language) Fix-ups (for example replace aliases by the actual path) Send the actual data back to the client Log the request 7 / 29

Module handler O.A.Dragoi, The Conceptual Architecture of the Apache Web Server, CS746G, Univ. of Waterloo.

(prefork) O.A.Dragoi, The Conceptual Architecture of the Apache Web Server, CS746G, Univ. of Waterloo.

Apache2 MPM (Multi-processing module) module apache MPM prefork (apache 1.3 ) worker ( ) APR (Apache Portable Runtime) apache http server OS (http server ) 10 / 29

apache prefork/worker vs lighttpd (1) ab http://thinkit.co.jp/book/2008/07/31/150 11 / 29

apache prefork/worker vs lighttpd (2) http load http://thinkit.co.jp/book/2008/07/31/150 12 / 29

/etc/apache2/apache2.conf Debian Include : : /etc/apache2/mods-enabled/*.load /etc/apache2/mods-enabled/*.conf : /etc/apache2/httpd.conf : /etc/apache2/ports.conf : /etc/apache2/conf.d/ : /etc/apache2/sites-enabled/ 13 / 29

IP IP NameVirtualHost *:80 <VirtualHost *:80> ServerName www.example.com DocumentRoot /var/www1 </VirtualHost> <VirtualHost *:80> ServerName www.example.org DocumentRoot /var/www2 </VirtualHost> IP <VirtualHost 10.0.0.1> ServerName DocumentRoot </VirtualHost> <VirtualHost *:8080> 14 / 29

Proxy ( ) mod cache GET Host URL ProxyRequests on ProxyPass /test http://localhost:3000/test 15 / 29

[proxy.de.shibaura-it.ac.jp ] GET http://www.google.co.jp/ HTTP/1.1 Host: www.google.co.jp Proxy-Connection: keep-alive Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,i User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.13 ( Accept-Encoding: gzip,deflate,sdch Accept-Language: ja,en-us;q=0.8,en;q=0.6 Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.3 Cookie: PREF=ID=3e5f9 [proxy.de.shibaura-it.ac.jp ] HTTP/1.0 200 OK Content-Type: text/html; charset=utf-8 Date: Thu, 10 Feb 2011 07:12:13 GMT Expires: Thu, 10 Feb 2011 07:12:13 GMT Cache-Control: private, must-revalidate, max-age=0 Last-Modified: Thu, 10 Feb 2011 07:12:13 GMT ETag: 7869640352321481114 Set-Cookie: IGTP=LI=1:LM=1297321933; expires=sat, 09-Feb-2013 07:12:13 GMT; path Set-Cookie: SID=DQAAA ; expires=sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.g X-Content-Type-Options: nosniff Server: igfe Content-Encoding: gzip X-Cache: MISS from proxyyi01.sic.shibaura-it.ac.jp Via: 1.0 proxyyi01.sic.shibaura-it.ac.jp:10080 (squid/2.7.stable9) Connection: close 16 / 29

mod alias Alias Redirect Alias /foo/bar /baz Redirect "/example" "http://www2.example.com/new/location" Redirect "example(/.*)" "http://www2.example.com/new/location" Rewrite 17 / 29

module http://httpd.apache.org/docs/2.4/mod/ mod proxy: mod ssl: https mod cache: mod disk cache mod mem cache mod rewrite: URL URL redirect mod deflate: mod perl, mod php: perl php 18 / 29

CGI (Common Gateway Interface) Web http://www.example.com/cgi-bin/test.cgi test.cgi test.cgi 19 / 29

cgi /etc/apache2/sites-enabled/000-default : ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> 20 / 29

cgi testcgi.c: GET 3 testform.c: POST name=yamazaki&birthday=10 method="get" QUERY_STRING apache getenv() http HTTP_ Last-event-id HTTP_LAST_EVENT_ID rest.rb: ruby 21 / 29

Tomcat Tomcat Servlet ( Java ) JSP (HTML ) Apache Servlet Java CGI (Java VM ) Java 22 / 29

Servlet tomcat/src/web-inf web.xml => URL classes/* => lib/* =>? 23 / 29

JSP (Java Server Pages) HTML Java : <body>... <% out.println(expr) %> <%= expr =%> expr HTML (tostring() ) <%@... %> page <%!... %> 24 / 29

JSP src/tomcat/ testform.html: submit form.jsp method= PUT POST JSP form.jsp test.jsp form_jsp.java: form.jsp test_jsp.java: test.jsp 25 / 29

Node.js JavaScript Web Server Web Server Web Server server.js http://code.google.com/p/node-js-vs-apache-php-benchmark/wiki/tests ( JavaScript ) JSON WebSocket 26 / 29

C10K Problem: 10000 select/poll + IO (AIO) [nginx, lighttpd, node.js] IO [Apache] select/poll checksum IO : : Citrix Netscaler ( Gbps ) : Linux LVS DSR (Direct Server Return) 27 / 29

引 用 元 http://seravo.fi/2012/the-fastest-web-server-in-the-world The fastest web server in the world? Speed of individual requests How long did it take to deliver 414000 files? Average total time in milliseconds

: ( ) : : : 3 API HTML5 (Web ) : Apache/Tomcat/Node.js PC : IaaS: Amazon EC2 PaaS: Heroku MyVolume public html JS (google Twitter ) API 15 (2014 1 23 ) ( ) ( ) + + 29 / 29