6.30小结

来源:互联网 发布:java switch if 效率 编辑:程序博客网 时间:2024/05/02 02:25

 

客户端通过socket与服务器建立连接,可以通过socket得到请求信息

具体可以

得到的(GET)请求信息如

GET / HTTP/1.1

Host: localhost:8888

User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: zh-cn,zh;q=0.5

Accept-Encoding: gzip, deflate

Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7

Connection: keep-alive

得到(POST)请求信息如

POST /CCB HTTP/1.1

Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/QVOD, application/QVOD, */*

Accept-Language: zh-cn

Content-Type: application/x-www-form-urlencoded

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; @f+FeAW*],,l4<j0CM<W8v*J@iKosqz]UR/2,m; GTB6.6; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

Host: localhost:8888

Content-Length: 29

Connection: Keep-Alive

Cache-Control: no-cache

account=123&start=123&end=123

然后服务器将请求信息封装成对象,名为request对象,同时创建与之相应的响应对象,response

其中需要注意的是 最后socket必须关闭,否则,服务器将一直阻塞,并不向客户端发送响应。

在封装对象的过程中涉及大量的字符串截取,代码比较繁琐。但在设计与编码过程中应始终遵循(SRP)单一职责原则,把握好封装粒度,使代码结构清晰,易于维护。

原创粉丝点击