目录
HTTP状态码:
- 1XX :信息状态码
100 Continue 继续,一般在发送 post 请求时,已发送了 http header 之后服务端 将返回此信息,表示确认,之后发送具体参数信息。
101 协议升级。
- 2XX :成功状态码
200 OK 正常返回信息 201 Created 请求成功并且服务器创建了新的资源。
202 Accepted 服务器已接受请求,但尚未处理。
- 3XX :重定向
301 Moved Permanently 请求的网页已永久移动到新位置。
302 Found 临时性重定向。 303 See Other 临时性重定向,且总是使用 GET 请求新的 URI 。
304 Not Modified 自从上次请求后,请求的网页未修改过。
- 4XX :客户端错误
400 Bad Request 服务器无法理解请求的格式,客户端不应当尝试再次使用相同的 内容发起请求。
401 Unauthorized 请求未授权。
403 Forbidden 禁止访问。
404 Not Found 找不到如何与 URI 相匹配的资源。
- 5XX:服务器错误
500 Internal Server Error 最常见的服务器端错误。
503 Service Unavailable 服务器端暂时无法处理请求(可能是过载或维护)。
515 常见于json格式转换出错。
HTTP方法:
- GET方法用于信息获取(安全:不修改信息,如数据库方面的信息),而POST方法是用于修改服务器上资源的请求;
- GET请求的数据会附在URL之后,而POST方法提交的数据则放置在HTTP报文实体的主体里;
- GET方法传输的数据量一般限制在2KB,其原因在于:GET是通过URL提交数据,而URL本身对于数据没有限制,但是不同的浏览器对于URL是有限制的,POST方法对于数据大小是无限制的,真正影响到数据大小的是服务器处理程序的能力。
HTTP1.0 - HTTP1.1 - HTTP2.0 :
1.0短连接;1.1长连接,主要是节省了三次握手的过程;2.0增加了多路复用、数据压缩、服务器推送等功能;
一个a.html文件,里面有一张图片、一个css、一个js;访问这个网页进行了几次HTTP请求?几个文件几次HTTP请求,HTTP请求次数不代表连接次数(握手的次数)。
HTTP如何实现状态化,cookie被禁用了怎么办(URL重写):
HTTP是无状态的,所以要用到cookie ,cookie保存在浏览器,每次访问网站都会将本地保存的cookies值(一般用来存储用户个人信息)发送到网站,不安全。这个时候也就产生了session,Seesion虽然依赖cookie存在,但它保存在服务器上,比cookie更安全。将值放在HTML表单的隐藏域中。当用户提交表单时,隐藏域中的值也传送到服务器。只有当页面包含表单,或者可以在页面中添加表单时,才适合使用隐藏域。网址重写是一种Session追踪技术,需要将一个或多个token作为一个查询字符串添加到一个URL中token格式为url?key-1=value-1&key-2=value-2网址重写只适用于那些既需要保持,却又不跨越太多页面,并且又不太重要的信息。
HTTP、HTTPS(对称加密+非对称加密+数字证书) :
HTTPS在HTTP的基础上加了SSL加密:
首先:信息需要加密传输是用户对于隐私性的需求,所以消息需要加密,第一层首先是对称加密,因为对称加密速度快,CPU占用资源较少,而且非对称加密对数据长度有严格要求,所以不适用于消息的直接加密,所以先对称加密。
其次:对称加密连钥匙一块传输的方式明显是不安全的,所以需要对钥匙进行非对称加密,此时:不能保证公钥一定是服务器下发的,所以会有中间人攻击,此时要保证公钥的确定性,要用到CA的下发证书,权威机构将证书的公钥直接内置在操作系统或者浏览器环境中,即公钥不需要传输;此外还包含了数字签名验证,用来确认证书是服务器下发的。
最后:如何保证证书是服务器下发的,且证书内容没有被篡改,篡改的话中间人是无法获得CA的私钥的,所以不可能,掉包的话还需要客户端还需要检查证书中的域名和当前访问域名是否一致。醍醐/灌顶