您的位置:首页 > 其它

第一章:一个简单的Web服务器

2016-02-08 21:25 489 查看
How java web server to work

HTTP超文本传输协议

HTTP请求

HTTP响应

Socket类javanetsocket

ServerSocket类

创建一个简单的Web服务器
servlet容器为一个servlet请求提供服务基本分三部

将创建web服务器分成三部分

代码实现见GitHub

How java web server to work

**一个基于java的web服务器使用两个重要的类:java.net.Socket和java.net.ServerSocket,通过http消息与客户端通信,也称为http服务器**。


HTTP超文本传输协议

http,一种协议,允许互联网中服务器与浏览器进行发送与接收数据,是一种请求与响应协议。使用可靠的TCP连接。
在http中,始终都是客户端通过建立连接和发送http请求开启一个事务。服务器不用联系浏览器端。


HTTP请求

一个http请求包含三部分:
1.请求行:方法-URI-协议/版本 POST /example/index.html http/1.1(三部分之间通过回车换行符CRLF分隔开)
2.请求的头部
3.主体内容


HTTP响应

一个http响应包含三部分:
1.状态行:协议/版本 状态码 原因短语 http/1.1 200 OK (三部分之间通过回车换行符CRLF分隔开)
2.响应的头部
3.主体内容


Socket类(java.net.socket)

socket类是网络连接的端点。使得一个应用程序可以从网络读取与写入数据。为了从一个应用程序发送消息到另一个应用,需要知道另一个应用的IP地址和socket端口。
通过调用socket的getOutputStream和getInputStream方法获得OutputStream对象和InputStream对象
socket类常用构造方法:socket(Inetadress address,int port)


ServerSocket类

服务器socket和socket不同,服务器socket的角色是等待来自客户端的连接请求,一般服务器soket获得连接请求,将创建一个socket和客户端进行通信。
常用构造方法:ServerSocket(int port,int backLog,InetAdress Bindingadress)表示监听bindingAdress地址上的端口port。backLog是拒绝开始传入的请求之前,连接请求的最大队列数。
关键方法:accept(),用于监听请求的到来,当请求来到时,创建一个socket与客户端通信。


创建一个简单的Web服务器

servlet容器为一个servlet请求提供服务,基本分三部:

创建一个request对象并填充所引用的servlet使用的信息,如参数,头部,uri等等

创建一个response对象,所引用的servlet用它给客户端发送响应

调用service方法,并传入request和response对象。前者用于取值,后者写值。

将创建web服务器分成三部分

创建Request类

创建Response类

创建HttpServicer类

代码实现见GitHub

新手上路,请多多指教

https://github.com/levyc/OwnWebServer.git
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: