Http协议

知识点

零碎知识

Html:定义网页的文本

Http:在网络上传输HTML的协议,用于浏览器和服务器的通信

网页信息:\r\n表示换行,这点和常规的\n不同

tcp中传递响应头、响应body后,浏览器解析时从头到尾解析,遇到第一个空行则判定为剩下的部分全部为body

Http三次握手

浏览器在给服务器传输数据之前,有三次握手,握手成功之后,才可以传输数据

  1. 浏览器需要先发送SYN码,客户端请求和服务器建立连接;

  2. 服务器接收到SYN码,再发送给客户端SYN+ACK码,我可以建立连接;服务端发送的ack码在原有的客户端发送数据的基础上+1

  3. 客户端接收到ACK码,验证这个ACK是否正确,如果正确则客户端和服务端则建立起数据连接;双方的数据发送通道都将开启;

Http四次挥手:

1、当客户端无数据要传输了,会发送FIN码告诉服务器,我发送完毕了,此时会关闭客户端的数据发送通道。

2、当服务端接收完毕后,发送给客户端ACK码,

3、当服务器发送完毕之后,也会发送FIN码,告诉浏览器,数据发送完毕;告诉客户端你可以把数据接受通道关闭了,此时服务端会关闭数据接受通道;

4、当客户端接收完毕 之后,同样发送ACK码,告诉服务器,数据接收完毕,你可以关闭,此时服务端会关闭数据发送通道;此时客户端关闭数据接受通道

三次握手和四次挥手的好处:确保数据的安全和完整

作业

  1. (问答)在http中响应信息如何进行编写
  2. (问答)响应信息中换行需要注意什么
  3. (问答)请简述http通信中三次握手和4次挥手的过程
  4. 利用tcp原理,编写一个服务端,用于响应客户端的请求