HTTP
超文本传输协议是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议
HTTPS
- HTTPS经由HTTP进行通信,但利用SSL/TLS来对密数据包加
- 提供对网站服务器的身份认证,保护交换数据的隐私与完整性
HTTP1.0和HTTP1.1的一些区别?
缓存处理
长连接
Http1.1和Http2.0的区别
降低延迟,多路复用
请求优先级
header压缩
服务端推送
SPDY
多路复用(multiplexing)。
多路复用通过多个请求stream共享一个tcp连接的方式,解决了http1.x holb(head of line blocking)的问题,降低了延迟同时提高了带宽的利用率。
请求优先级(request prioritization)。
多路复用带来一个新的问题是,在连接共享的基础之上有可能会导致关键请求被阻塞。SPDY允许给每个request设置优先级,这样重要的请求就会优先得到响应。比如浏览器加载首页,首页的html内容应该优先展示,之后才是各种静态资源文件,脚本文件等加载,这样可以保证用户能第一时间看到网页内容。
header压缩。前面提到过几次http1.x的header很多时候都是重复多余的。选择合适的压缩算法可以减小包的大小和数量。SPDY对header的压缩率可以达到80%以上,低带宽环境下效果很大。
Https 请求慢的解决办法
- 不通过DNS解析,直接访问IP
HTTP报文格式
请求报文
方法 URI http版本
header
body
响应报文
http版本 状态码 message
header
body
https 证书包含了什么信息?
这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,有效期、服务端的公钥,第三方证书认证机构(CA)的签名,服务端的域名信息等内容
TCP三次握手
4次挥手
为什么TCP是可靠的,UDP早不可靠的?为什么UDP比TCP快?
- TCP/IP协议高,因为其拥有三次握手双向机制,这一机制保证校验了数据,保证了他的可靠性。
- UDP就没有了,udp信息发出后,不验证是否到达对方,所以不可靠。
- 但是就速度来说,还是UDP协议更高,毕竟其无需重复返回验证,只是一次性的
SSL握手
https://www.cnblogs.com/rinack/p/10743355.html
https://juejin.im/post/6856595606677716999
TCP怎么做长连接?
connection:keep-alive
cookies机制和session机制的区别
cookies数据保存在客户端,session数据保存在服务器端;
cookies可以减轻服务器压力,但是不安全,容易进行cookies欺骗;
session较安全,但占用服务器资源
HTTP状态码2xx,3xx,4xx,5xx分别是什么意思?
200 请求已成功,请求所希望的响应头或数据体将随此响应返回。
201 请求已经被实现,而且有一个新的资源已经依据请求的需要而建立,且其 URI 已经随Location 头信息返回
202 服务器已接受请求,但尚未处理
301 (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
302 (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
303 (查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。
304 (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。
305 (使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理。
307 (临时重定向) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
401 当前请求需要用户验证。如果当前请求已经包含了 Authorization 证书,那么401响应代表着服务器验证已经拒绝了那些证书
403 服务器已经理解请求,但是拒绝执行它。与401响应不同的是,身份验证并不能提供任何帮助,而且这个请求也不应该被重复提交
404 请求失败,请求所希望得到的资源未被在服务器上发现
500 服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器的程序码出错时出现。
501 服务器不支持当前请求所需要的某个功能。当服务器无法识别请求的方法,并且无法支持其对任何资源的请求。
502 作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
503 由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢复。
http协议有哪几种请求方式?
GET, POST 和 HEAD方、OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
什么是DNS?
域名解析服务。将主机名转换为IP地址。如将http://www.cnblogs.com/主机名转换为IP地址:211.137.51.78
推荐书籍
《图解HTTP》
《图解TCP/IP》
《TCP/IP详解》
《UNIX网络编程》