2016-05-11 2016年度 TSG 第1回Web分科会
@hakatashi
Webの仕組み概説編
1. 要求
2. 考える
3. 応答
「1000円貸して」
(相手の名前?)
(自分の状況?)
「誰だお前は」
1. 要求
2. 考える
3. 応答
「secret.pngください」
(相手のユーザ名?)
(ファイルの状況?)
「403 forbidden」
「あなたはxxxですか?」
「ピヨピヨ」
プロトコル: yesなら1回、noなら2回鳴く
1. 要求
2. 考える
3. 応答
クライアント
サーバー
GET /tsg_ut HTTP/1.1
Host: twitter.com
このような通信がウェブブラウザの裏側で動いている
HTTP/1.1 301 Moved Permanently
content-length: 0
date: Wed, 11 May 2016 08:09:42 GMT
location: https://twitter.com/tsg_ut
server: tsa_a
set-cookie: guest_id=v1%3A146295418253673640; Domain=.twitter.com; Path=/; Expires=Fri, 11-May-2018 08:09:42 UTC
x-connection-hash: 41673d10831586465d4266b42c5cfb34
x-response-time: 2
要求
応答
例: http://twitter.com/tsg_ut にアクセスした場合
Mac, Linux の場合
$ nc twitter.com 80
GET /tsg_ut HTTP/1.1
Host: twitter.com
HTTP/1.1 301 Moved Permanently
content-length: 0
date: Wed, 11 May 2016 08:18:33 GMT
location: https://twitter.com/tsg_ut
server: tsa_a
set-cookie: guest_id=v1%3A146295471330788706; Domain=.twitter.com; Path=/; Expires=Fri, 11-May-2018 08:18:33 UTC
x-connection-hash: 90975a388e059974eb310deb0c55d59c
x-response-time: 2
Windows の場合
> telnet twitter.com 80
GET /tsg_ut HTTP/1.1
Host: twitter.com
HTTP/1.1 301 Moved Permanently
content-length: 0
date: Wed, 11 May 2016 08:18:33 GMT
location: https://twitter.com/tsg_ut
server: tsa_a
set-cookie: guest_id=v1%3A146295471330788706; Domain=.twitter.com; Path=/; Expires=Fri, 11-May-2018 08:18:33 UTC
x-connection-hash: 90975a388e059974eb310deb0c55d59c
x-response-time: 2
telnetをインストールしてから
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta name="description" content="東京大学に本拠をおくコンピュータサークルTSGのウェブサイトです。">
<meta name="keywords" content="TSG,プログラミング,プログラム,アプリ開発,東京大学,コンピュータ,サークル">
<meta name="author" content="TSG">
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
<base href="">
<link rel="stylesheet" media="screen" href="/css/tsg-top.css" type="text/css">
<link rel="stylesheet" href='http://fonts.googleapis.com/css?family=Josefin+Sans:300' type='text/css'>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/galleria/1.3.5/themes/classic/galleria.classic.min.css" type='text/css'>
<link rel="shortcut icon" type="image/vnd.microsoft.icon" href="/favicon.ico">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/history.js/1.8/bundled-uncompressed/html5/jquery.history.js" type="text/javascript"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/galleria/1.3.5/galleria.min.js" type="text/javascript"></script>
<!--[if lt IE 9]>
<script src="/js/html5shiv.js" type="text/javascript"></script>
<![endif]-->
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js" type="text/javascript"></script>
<script src="//platform.twitter.com/widgets.js" type="text/javascript"></script>
<script>
var pageState = 1; // open
</script>
<title>TSGについて - 東京大学コンピュータ系サークル TSG</title>
<!-- Google Analytics -->
<script>
HTML
├画像
├スタイルシート
├スクリプト
├動画
├Flash ☠
│などなど……
静的ウェブサイト
動的ウェブサイト
1. 要求
3. 応答
クライアントサイド
(フロントエンド)
サーバーサイド
(バックエンド)
サーバーサイド
(バックエンド)
クライアントサイド
(フロントエンド)
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta name="description" content="東京大学に本拠をおくコンピュータサークルTSGのウェブサイトです。">
<meta name="keywords" content="TSG,プログラミング,プログラム,アプリ開発,東京大学,コンピュータ,サークル">
<meta name="author" content="TSG">
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
<base href="">
<link rel="stylesheet" media="screen" href="/css/tsg-top.css" type="text/css">
<link rel="stylesheet" href='http://fonts.googleapis.com/css?family=Josefin+Sans:300' type='text/css'>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/galleria/1.3.5/themes/classic/galleria.classic.min.css" type='text/css'>
<link rel="shortcut icon" type="image/vnd.microsoft.icon" href="/favicon.ico">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/history.js/1.8/bundled-uncompressed/html5/jquery.history.js" type="text/javascript"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/galleria/1.3.5/galleria.min.js" type="text/javascript"></script>
<!--[if lt IE 9]>
<script src="/js/html5shiv.js" type="text/javascript"></script>
<![endif]-->
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js" type="text/javascript"></script>
<script src="//platform.twitter.com/widgets.js" type="text/javascript"></script>
<script>
var pageState = 1; // open
</script>
<title>TSGについて - 東京大学コンピュータ系サークル TSG</title>
<!-- Google Analytics -->
<script>
<blockquote>吾輩は猫である</blockquote>