第一章除了application外,主要简单讲了两部分内容,一是HTTP协议,二是socket。
一,HTTP协议
(一)关于协议
http://www.w3.org/Protocols/HTTP/1.1/rfc2616.pdf
上面的网址有对HTTP 1.1的官方说明,比较长,有时间时应该好好看看
HTTP是依靠TCP的协议,是需要请求/回应的协议。
客户端发起请求,建立与服务器端连接,服务器端回应请求。无论是客户端还是服务器端,都可以提前强制中断连接。
(二)Request和Response
Request:
Method—Uniform Resource Identifier (URI)—Protocol/Version
Request headers
Entity body
Response:
Protocol—Status code—Description
Response headers
Entity body
这两者有相似之处,都是由三部分组成,注意其中的carriage return/linefeed (CRLF)
,是很多服务器区别三个部分的重要依据。
二,Socket
(一) java.net.Socket类
A socket is an endpoint of a network connection.
有很多构造方法,其中之一是:
public Socket (java.lang.String host, int port)
(二) java.net.ServerSocket类
一个永远等待的server,其中accept方法一直阻塞,一直到有一个socket client连接到指定的host和端口。
也有很多构造方法,其中最常用的是:
public ServerSocket(int port, int backLog, InetAddress bindingAddress);
其中第二个参数指等待队列的长度,第三个参数可以由InetAddress.getByName("127.0.0.1")得到。
三,Application
一个可以请求静态文件的例子