关于HTTP与HTTPS

  1. HTTP 和HTTPS的区别:
    答:开头;安全;加密;端口号;OSI层级;证书
  2. 什么是Http协议无状态协议?怎么解决Http协议无状态协议?
    答:无法记录状态;解决方法:cookie
  3. 常用的HTTP方法有哪些?
    答:GET,POST,HEAD,PUT,DELETE,OPTIONS,TRACE,CONNECT
  4. 请求报文和响应报文格式
    答:
  • 请求行:请求方法,URL,HTTP协议
    请求头部
    空行
    请求体

  • 响应行:状态码
    响应头部
    空行
    响应体

  1. 请求方法的特点
  • GET:参数长度限制,不适合私密数据,不适合大量数据,一般请求用GET
  • POST:数据封装在请求报文中,可传递大量数据且没有限制,不会出现在URL中,表单提交用POST
  • HEAD:与GET相似,不过只返回响应头,不返回相应内容,用于查看页面状态(页面是否有更新)
  • OPTIONS:获取当前URL所支持的方法
  • DELETE:删除某资源
  • PUT:把一个资源放到指定位置上,与POST相似,不过POST不指定资源存放位置,POST的数据存放位置有服务器自己决定
  • TRACE:回显服务器收到的请求,主要用于测试或诊断
  • CONNECT:HTTP/1.1协议预留的,能够将连接改为管道方式的代理服务器,通常用于SSL加密服务器的连接与非加密的HTTP代理服务器的通信
  1. 常见的首部:
  • 通用首部字段(请求报文与响应报文都会使用的首部字段)
    Date:创建报文时间
    Connection:连接的管理
    Cache-Control:缓存的控制
    Transfer-Encoding:报文主体的传输编码方式
  • 请求首部字段(请求报文会使用的首部字段)
    Host:请求资源所在服务器
    Accept:可处理的媒体类型
    Accept-Charset:可接收的字符集
    Accept-Encoding:可接受的内容编码
    Accept-Language:可接受的自然语言
  • 响应首部字段(响应报文会使用的首部字段)
    Accept-Ranges:可接受的字节范围
    Location:令客户端重新定向到的URI
    Server:HTTP服务器的安装信息
  • 实体首部字段(请求报文与响应报文的的实体部分使用的首部字段)
    Allow:资源可支持的HTTP方法
    Content-Type:实体主类的类型
    Content-Encoding:实体主体适用的编码方式
    Content-Language:实体主体的自然语言
    Content-Length:实体主体的的字节数
    Content-Range:实体主体的位置范围,一般用于发出部分请求时使用
  1. HTTPS工作原理
  • 客户端请求
  • 服务端返回公钥
  • 客户端检测公钥合法性
  • 生成一个随机值,将随机值用公钥加密传输给服务端
  • 服务端收到后用服务端的私钥进行解密
  • 将待传送的消息与随机值进行对称加密发送给客户端
  • 客户端收到消息后利用随机值进行解密
  1. HTTP1.1特性
  • 持久连接
  • 管线化
  • 断点续传
  1. HTTP优化方案
  • TCP复用:多个客户端的HTTP请求连接到一个服务端的TCP连接上(负载均衡设备的独特功能);
  • HTTP复用:一个客户端的多个HTTP请求通过一个TCP连接进行处理(HTTP1.1协议所支持的新功能,目前被大多数浏览器支持)
  • 内容缓存:
  • 压缩
  • SSL加速
  • TCP缓冲

参考连接:
HTTP面试题都在这里https://www.cnblogs.com/Java3y/p/8444033.html
https工作原理
https://blog.csdn.net/sean_cd/article/details/6966130
HTTP请求报文和响应报文
https://www.jianshu.com/p/0015277c6575

你可能感兴趣的:(关于HTTP与HTTPS)