HTTP是超文本传输协议,是计算机通过网络进行通信的规则。
http是一种无状态协议:不建立持久的连接,服务端不保留连接信息。
http的无状态性:
无状态性是指,当浏览器发送请求给服务器的时候,服务器响应客户端请求
但是当同一个浏览器再次发送请求给服务器的时候,服务器并不知道他就是刚才的那个浏览器
简单的说,就是服务器不会去记得你,所以就是无状态协议
一个完整的HTTP请示,通常用7个步骤:
1、建立TCP连接
2、Web浏览器向Web服务器发送请求命令
3、Web浏览器发送请求头信息
4、Web服务器应答
5、Web服务器发送应答头信息
6、Web服务器向浏览器发送数据
7、Web服务器关闭TCP连接
一个HTTP请求一般由4部分组成:
1、HTTP请求的方法或动作,比如是GET还是POST
2、请求的URL
3、请求头,包含一些客户端环境信息,身份验证信息等
4、请求体,也就是请求正文,请求正文中可以包含客户提交的查询字符串信息,提交的表单信息等
提示:
一般请求头与请求体中间有一个空行
一个HTTP响应一般由3部分组成:
1、一个数字和文字组成的状态码,用来标识请求是成功还是失败
2、响应头,响应头和请求头一样包含许多有用的信息,比如服务器类型、日期时间、内容类型和长度等。
3、响应体,也就是响应正文。
HTTP请求响应状态码由3位数字构成,第一位数字定义了状态码的类型:
1XX:信息类,表示收到web浏览器请求,正在进一步处理中。
2XX:成功,表示用户请求被正确接收,理解和处理,比如200 ok。
3XX;重定向,表示请求没有成功,客户必须采取进一步动作。
4XX:客户端错误,表示客户端提交的请求有误,比如404 Not Found意味着请求的文件或文档不存在。
5XX:服务器错误,表示器没有完成请求的处理,比如500。
get&post请求
get请求是默认的,一般是安全的,主要用于获取信息,用于查询不会影响数据本身,发送的信息对任何人可见;
post一般用于修改服务器上的资源。对于发送信息的数量无限制。一般用来从表单像服务器发送数据,内容对其他人不可见。