GET vs POST
1,原则上:设计时的语义不同
2,现象上:
1,GET方法具备幂等性,无副作用,POST方法不是幂等的,有副作用
幂等性+无副作用 = 请求可被缓存,反之不允许。
GET请求是不允许有HTTP请求体的,POST请求时允许有请求体的。如果携带上了GET请求,HTTP协议会忽略发送的请求体。线向上,get的请求在url中,post请求在请求体中。
url的长度是有限的,所以get携带的长度低一点。
GET请求时key=value 形式,Post更为灵活。
HTTP响应状态:
响应行=响应版本+响应状态码+响应描述
响应头:
(换行)
响应体:
HTTP响应状态:
200:成功,300:重定向转发,400:请求错误(缺少参数),405:请求方法错误,404:请求资源不存在,500:服务器错误(代码异常)
重定向:
永久重定向(301)和临时重定向(302)
临时重定向:一定是两次请求
GET+GET:302
POST+POST:307
POST+GET:303
JSON
JS中的对象格式:大括号
{name : ? ,name2 : ?。。。}
其中value在js代码中,可以是任意类型:基本类型和对象类型
JSON下做了一下约数
1,JS中name必须是使用双引号引起来的,(JSON中可以是单引号,也可以省略)
2,value中类型不能函数,只剩数据
3,JS和后端相对容易分离
JSON序列化:
JSON反序列化:
java中的序列化与反序列化
将动态资源转换成JSON格式
- @GetMapping("/hello")
- @ResponseBody
- public Person fun(){
- Person p = new Person();
- p.age = 13;
- p.name = "撒";
-
- return p;
- }
-
- @Data
- static class Person{
- String name;
- int age ;
- }
Content-Type
form表单提交的两种不同的请求格式:
application/x-www-form-urllencode
multipart/form-data
主要用于文件上传,input type = file;上传文件
请求头:Cookies,响应头Session
Cookie与Session机制:
前提:http协议在设计时,是无状态的,
无状态:http协议在处理读个请求时,服务器每次处理请求无法区分是那个用户发来的请求,就为http是无状态的。
Cookie机制:客户端第一访问服务器时,服务器会给客户端分配一个Cookie,用来识别客户端,客户端每次访问时,服务器都会检查Cookie。
Cookie 的生命周期:
Cookie的作用域:
HTTPS
HTTP协议是不安全的,为避免该问题,产生了HTTPS协议
摘要技术: