Day15:网络编程-HTTP

常见的客户端和服务端有哪些呢?

客户端:浏览器。

服务端: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,运算全在服务器端。
原文地址:https://www.cnblogs.com/vijay/p/3516750.html