http协议:网络传输协议,这个协议规定了客户端和服务器之间的通讯规则。
http协议:协议,规定了客户端在向服务器发送请求的时候,需要携带的内容
1>请求头请求头中包含了一些键值对的信息。
Accept:告诉服务器,此次请求希望得到什么类型的内容。 尽量让服务器返回客户端能够加载的内容
Accept-Encoding:客户端告诉服务器,尽量返回gzip,br类型包。
Accept-Language:客户端告诉服务器,尽量返回什么语言
Connection:keep-alive(客户端和服务器一旦建立连接,在一段时间内,保持这个连接状态。)http协议的版本是1.0版本,在1.0之前,客户端和服务器之间的连接属于短连接,一旦服务器给服务器给客户端响应之后,连接会断开。1.0开始,不在频繁的链接和断开。
客户端和服务器之间建立连接,需要经过三次握手。
客户端和服务器之间断开连接,需要经过四次分手。
Cookie:用来标识用户身份和链接状态的键。因为http本身是无状态的协议,请求和请求之间没有任何联系。
Host:表明访问的服务器的机地址。
http://www.baidu.com 域名: url地址/网址。域名是用来包装服务器地址的,他是类似于IP的纯数字组成的。
域名的出现就是为了方便记忆。但是域名最终是会被DNS解析成为真实地址。
Referer:表明客户端是从那一个页面访问的百度首页。
User-Agent:浏览器标识,标识用什么平台访问的服务器。
2> 请求行,, 请求方法:GET、POST、PUT、| DELETE、UPDATE、HEAD
GET
GET :客户端向服务器发送了一次GET请求。一般在客户端向服务器请求资源的时候使用。(可以向服务器服务器传递少量数据:请求参数。以?和&拼接参数。)
这种请求方式对URL长度是有限制的,一般最多能识别1024个字符,所以如果需要传输大量数据,也不适合使用GET请求,并且Get请求会把参数直接暴露在URL中,不适合传输私密数据
总结:1.少量数据;2.非重要资源;3.单纯获取数据;使用GET。
例如:http//www.baidu.com?id=100&username=zhangshan
POST
POST:请求一般是需要在服务器上创建一个资源的时候使用。
POST请求可以向服务器传递大量数据,这个数据一般称为表单数据,这个数据不是放在URL后面了,而是单独的保存在请求体中,发送给服务器。
总结: 1.大量数据;2.重要数据;3.不再是获取数据,而是向服务器提交数据:使用POST。
PUT
PUT:请求一般是需要更新服务器上的资源的时候使用。
PUT请求也是需要向服务器传递数据,而且数据也是保存在请求体中。
http协议版本:
请求地址:
3>请求体:用与存储POST请求要上传给副武器的数据。
关于服务器端响应的一些要求:
1>响应行 (状态行)
http协议版本:
服务器响应的状态码:
200 OK请求成功
301、 302 Redirect 表示网页进行了重定向
403 Forbidden 客户端的请求被服务器拒绝
400 Bad Request 客户端的请求被拒绝是无效的请求:url地址错误/请求方法错误/请求参数错误
500 表示服务器异常
总结:
4xx:客户端的问题
5xx:服务器的问题
2>响应头
Server:表示服务端采用的服务器类型。
Expires:一般表示cookie的过期时间。
Date:此次响应的时间
Content-Type:服务端向客户端表明此次响应的内容类型。
Content-Length:告诉服务器此次响应返回的数据长度。
Set-cookie:服务端给客户端返回的Cookie信息。
·3>响应体
用于存储响应的内容。