网络编程概念

来源:互联网 发布:ubuntu登录界面 编辑:程序博客网 时间:2024/05/18 02:21
网络编程
UDP(面向无连接,不可靠,速度快)---发送端,接收端。DatagramSocket --- DatagramPacket(数据包)
TCP的传输:上传。问题:两端等待的情况。说明有阻塞式方法。没有读取到结束标记。shutdown
web原理:并发访问。 server端:将来访的客户端都封装到了一个单独线程中。
  SereverSocket server = new ServerSocket(10000)
  while(true)
  {
   Socket s = server.accept();
   new Thread(new Tack(s)).start(); 
  }
--------------------------------------
常见的客户端和服务端有哪些呢?
客户端:浏览器。
服务端:Tomcat
如果请求多图片的网页,请求的次数很多,有多少资源(html文件,图片文件,css文件,js文件等),就需要请求多少次

浏览器中当然也是内容如socket一样的客户端程序
用java模拟:Socket s = new Socket("192.168.1.253",8080);
可是浏览器到底向服务器发送了什么样的请求呢?
怎么验证?将tomcat服务器换掉,自定义一个服务器接收浏览器的发送的数据
这样知道浏览器发送的是什么。
1.自定义服务器。浏览器给服务器发送的请求消息如下。
HTTP协议的请求头消息。
GET / HTTP/1.1   //请求行。    请求方式    请求的资源路径     http协议版本  
请求消息中的属性信息。
。。。
。。。。
。。。。。
空行
//请求体

------------------
演示模拟浏览器
获取tomcat的信息
HTTP的应答(响应)头信息
HTTP/1.1 200 ok   //应答行。      http协议版本   应答状态码    应答描述信息                          注:404 NOT Found
应答的属性信息。
。。。
。。。。
。。。。。
空行
应答体。 
   
   
-------------------
网络框架:
两种:
C/S  Client  Server
 特点:
  1.客户端和服务端都需要编写。
  2.客户端需要维护。
  3.客户端可以分担部分运算。
如大型运算,比如网络游戏:3D建模,地图等数据都在本地。
  
B/S  Browser Server
          特点;
        1.只需要编写服务端。客户端其实就是已有的浏览器。
        2.客户端不需要维护的。
        3,运算全在服务器端。