常见的客户端和服务端有哪些呢?
客户端:浏览器。
服务端:Tomcat
如果请求多图片的网页,请求的次数很多, 有多少资源(html文件,图片文件,css文件,js文件等),就需要请求多少次。
浏览器中当然也是内容如socket一样的客户端程序。
用java模拟:Socket s = new Socket("192.168.1.253",8080);
可是浏览器到底向服务器发送了什么样的请求呢?
怎么验证? 将tomcat服务器换掉,自定义一个服务器接收浏览器的发送的数据。
这样就知道浏览器发送的是什么。
1,自定义服务器。浏览器给服务器发送的请求消息如下。
HTTP协议的请求头消息。
GET / HTTP/1.1 //请求行。请求方式 请求的资源路径 http协议版本。
请求头消息中的属性信息。
Accept: application/x-shockwave-flash, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: 192.168.1.253:9090
Connection: Keep-Alive
空行
//请求体。
--------------------
演示模拟浏览器。
获取tomcat的信息。
HTTP的应答(响应)头消息。
HTTP/1.1 200 OK //应答行 http协议版本 应答状态码 应答描述信息
应答的属性信息。
Server: Apache-Coyote/1.1
Accept-Ranges: bytes
ETag: W/"467-1374891778953"
Last-Modified: Sat, 27 Jul 2013 02:22:58 GMT
Content-Type: text/html
Content-Length: 467
Date: Sat, 27 Jul 2013 02:51:46 GMT
Connection: close
空行
应答体。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<h1>欢迎光临</h1>
<font color="red">这是一个web测试页面!</font>
<font color="red">大家也可以通过 192.168.1.253:8080/myweb/2.html来访问</font>
</BODY>
</HTML>
-----------------------------------------
网络架构:
两种:
C/S Client Server
特点:
1,客户端和服务端都需要编写。
2,客户端需要维护。
3,客户端可以分担部分运算。
如果大型运算,比如网络游戏。
B/S Browser Server
特点:
1,只需要编写服务端。客户端其实就是已有的浏览器。
2,客户端不需要维护的。
3,运算全在服务器端。