先说一下http tcp/ip协议背景

HTTP(HyperText Transfer Protocol) 即超文本传输协议,现在基本上所有web项目都遵从HTTP协议(协议就是一种人为的规范)。

目前绝大部分使用的都是HTTP/1.1版本。因为HTTP协议是属于TCP/IP协议簇的,所以先简单介绍下与HTTP相关的

TCP/IP简介:TCP/IP是一个协议簇,是由许多协议组成的。

TCP/IP四层模型:

TCP/IP按照层次从上至下分为四层:应用层,传输层,网络层,数据链路层。(实际上最初理论上OSI模型是分的七层,我们程序猿的话通常只用分四层就行了。)

http tcp/ip 协议 - 图1

HTTP协议

1.http:超文本传输协议,主要定义了客户端和服务端数据传输方式。

2.web客户端和服务器

A.资源: html/文本、word、avi电影、其他资源

B.媒体类型:text/html、 image/jpeg

C:URI和URL

web服务器资源的名字和用于描述一个网络上资源的地址

schema: http/https/ftp.

host: web服务器的ip地址或者域名

port: 服务端端口, http默认访问的端口是80

path: 资源访问路径

query-string: 查询参数

D:方法:GET/PUT/DELETE/POST/HEAD

3.http协议的报文组成

  1. A.请求报文:请求行,请求头,请求体
  2. B.响应报文:状态行,首部行,返回体

三次挥手四次握手

三次挥手协议

A.第一次握手:客户端请求建立连接

B.第二次握手:服务端应答客户端,并请求建立连接

C.第三次握手:客户端针对服务端请求确认应答

四次握手协议

A.第一次挥手:客户端发送关闭请求

B.第二次挥手:服务端响应客户端关闭请求

C.第三次挥手:服务端发送关闭请求

D.第四次挥手:客户端发送关闭确认请求

总结

http tcp/ip 协议 - 图2