网站大量收购闲置独家精品文档,联系QQ:2885784924

1搭建简单的Web服务器.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Header 解释 Content-Type 请求的与实体对应的MIME信息 Date 请求发送的日期和时间 Expect 请求的特定的服务器行为 From 发出请求的用户的Email Host 指定请求的服务器的域名和端口号 If-Match 只有请求内容与实体相匹配才有效 If-Modified-Since 如果请求的部分在指定时间之后被修改则请求成功,未被修改则返回304代码 If-None-Match 如果内容未改变返回304代码,参数为服务器先前发送的Etag,与服务器回应的Etag比较判断是否改变 If-Range 如果实体未改变,服务器发送客户端丢失的部分,否则发送整个实体。参数也为Etag …… HTTP Request Header详解(二) 套接字(socket)是网络连接的端点。套接字使应用程序可以从网络中读取数据,可以向网络中写入数据。通过OutputStream发送字符流,通过InputStream接收字符流。 常用构造方法: public Socket(String host, int port) public Socket(InetAddress address, int port) public Socket(String host, int port, InetAddress localAddr,int localPort) InetAddress对象可以进行ip和域名相互查询,通过ip获取时不需要访问DNS服务器, 返回结果包含了主机名的字符串。实用方法如下: InetAddress.getByName(“”) Socket Socket本地服务器通信Demo Socket socket = new Socket(, 8080); boolean autoflush = true; PrintWriter out = new PrintWriter(socket.getOutputStream(), autoflush); BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); out.println(GET /index.jsp HTTP/1.1); out.println(Host: localhost:8080); out.println(Connection: Close); out.println(); 发送请求内容 Socket本地服务器通信Demo boolean loop = true; StringBuffer sb = new StringBuffer(8096); while(loop){ if(in.ready()){ int i = 0; while(i!=-1){ i = in.read();sb.append((char)i); } loop = false; } Thread.currentThread().sleep(50); } System.out.println(sb.toString()); socket.close(); 获取接收到信息 ServerSocket ServerSocket类与Socket类不相同, 服务器套接字要等待来自客户端的连接请求。当服务器套接字收到连接请求后,它会创建一个Socket实例来处理与客户端的通信。 构造方法 public ServerSocket(int port, int backLog, InetAddress bindingAddress) 使用示例 new ServerSocket(8080, 1, InetAddress.getByName(“”)) 搭建简单的web服务器 简单的web服务器示例仅仅需要3个类,仅支持输出静态资源的请求和传入的HTTP请求字节流。 HttpServer类代表web服务器,主函数入口新建实例后一直等待HTTP请求。 Request类代表Http请求。通过parse()方法解析原始数据并通过parseUri()方法将URI变量获取。 Response类代表Http响应。通过setRequest()方法传入Request对象,通过sendStaticResource()方法发送静态资源到浏览器。 HttpServer public class HttpServer { public static final String WEB_ROOT = System.getProperty(user.dir) + File.separator + webroot; priv

文档评论(0)

wendan118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档