1、http请求
http请求分为三部分:请求行,请求头,请求正文
1. 请求行
- 请求方式 GET POST
- 请求资源路径
- 协议版本
GET与POST请求区别?
- get只能传递1kb以下数据,POST可以传递大数据;
- get请求如果有请求参数,那么,浏览器上会显示请求参数;
- post请求不会,所以post请求会更安全;
- 如果是get请求,有请求参数,请求参数是在http请求行的资源路径上。
如果是post请求,有请求参数,请求参数是在请求正文中
2. 请求头
格式 : 名称:值1,值2,….
重要的http请求头
它是用于描述请求是从哪个位置来的,使用它可以进行防盗链。
这个头可以与http响应头last-modify组合完成服务器缓存策略
3. 请求正文
请求正文与请求行之间有一空白行,对于请求正文,只有在请求方式是POST的情况下,并且有请求参数,才会有请求正文。
2、http响应
http响应由三部分组成:响应行,响应头,响应正文
1. 响应行:包括相应协议版本,响应状态码,状态码描述
在响应行中最重要的是响应状态码
一共分为五种
- 1xx 代表浏览器向服务器发送请求,服务器没有做任何操作;
- 2xx 服务器正确响应,并且响应成功;
- 3xx 代表浏览器向服务器发送主求,服务器完成一部分工作,通知浏览器继续执行其它的操作;
- 4xx 浏览器端错误;
- 5xx 服务器端错误。
最常见的状态码
- 200 响应成功;
- 302 可以与一个响应头location组合完成重定向;
- 304 代表服务器端资源没有改变,使用浏览器的缓存;
- 404 资源访问不到;
- 405 浏览器请求时请求的方式get/post没有与之对应的方法;
- 500 服务器端错误。
2. 响应头
响应头格式 name:值1,值2,…
- Location 它与302状态码组合可以完成重定向功能。(response对象)
- Content-type:服务器响应回的数据mimeType类型。
- refresh 可以实现定时跳转
- content-disposition 可以完成文件下载
- expires
- cache-control
- pragma
这三个头可以实现禁用浏览器缓存。
Last-modified 它与304状态码及http请求头 if-modify-since组合完成服务器缓存策略。
3. 响应正文
对于http响应正文,它是真正被浏览器解析并显示在浏览器上的。