TCP协议的特点是:
- 面向连接
- 点对点
- 可靠交付
- 面向字节流,也即仅仅把上层协议传递过来的数据当做字节传输,为了实现TCP上述特点,TCP协议需要解决面向连接(建立连接和关闭连接的方式),可靠传输(错误确认和重传),流量控制(发送方和接收方的传输速率协调),拥塞控制四个方面
无状态指的是没有记忆能力,每个请求都是独立的
HTTP工作: http协议工作位于客户端和服务端架构上 浏览器作为http的客户端通过url(web统一地址)向Web服务器(http服务端)发送请求。当web收到请求后,就会向客户端发送响应信息
HTTP请求响应步骤:
- 客户端连接到服务器
客户端通常是浏览器,与web服务器通过http端口(80)建立一个socket连接。https端口(443)在http之上应用了安全套接子层(ssl)
- 发送http请求
通过套接字(其实在创建套接字的时候,就会指定不同的传输层协议,例如tcp 这时的套接字连接就相当于tcp连接),客户端向服务器发送一个请求报文。请求报文有四个部分,请求行、空行,请求头部,请求实体
-
服务器端解析请求并发送响应报文 web服务器解析请求,返回响应报文。响应报文包括响应头部,状态行,空行,响应实体
-
断开tcp连接
-
客户端解析响应报文
状态码:
- 200 OK - 客户端请求成功
- 301 - 资源(网页等被永久转移到其他URL)
- 302 - 临时跳转
- 401 - Unauthorized - 请求未经授权
- 404 - 请求资源不存在,可能输入了错误的URL
- 500 服务器内部发生不可预期的错误
- 504 网关或者代理的服务器无法再规定时间内获得想要的响应