HTTP协议,超文本传输协议
a.Http协议现在使用的是1.1的版本
b.Http协议是应用层协议,底层要求使用可靠传输协议传输数据。通常传输层协议使用Tcp协议
c.Tcp协议规定两台计算机之间如何传输数据。
d.HTTP协议规定传输数据的格式,以便两台计算机之间理解对方发送的内容
e.HTTP协议规定了客户端与服务端之间的通讯模式必须遵循1次请求一次响应的通讯过程
f.首先由客户端(谁发送请求谁就是客户端)发起请求(Request),客户端通常是浏览器。然后服务端接收并输出该请求,然后给予响应(Response)
g.HTTP1.1版本相较于1.0版本的一个通讯方式的改进在于:一次Tcp连接可以进行多次请求
与响应。而1.0版本时一次Tcp连接只能进行一次请求一次响应(多次请求响应才能
完成工作是开销大,因为现在网页内容有文字内容图片内容等如果一次请求一次响应太慢,无法满足需求)。h.HTTP请求(Request)
请求有客户端发送至服务端具体格式在Http协议中有规定。
一个请求包含三部分内容:
1.请求行:请求行是一行字符串,格式为:method url protocol(CRLF)
例如:GET /index.html HTTP/1.1(CRLF)
CR:回车符,对应编码:13
LF:换行符,对应编码:10
注:回车是指回到最开始,换行是到下一行。现在的回车实际是回车加换行(Enter)
2.消息头
3.消息正文
创建WebServer服务端基本结构
创建com.tedu.webserver.core包并在包中添加主要类:WebServer
该类负责循环接收客户端的连接,并启动线程处理某个客户端的交互操作
该结构与之前聊天室服务端结构一致
线程任务有ClientHandler类完成,并定义在core包中
在ClientHandler的run方法中读取客户端发过来的内容并查看
原文地址:https://www.cnblogs.com/chenzhiwei/p/9496577.html