zoukankan      html  css  js  c++  java
  • http与https的区别,http 1.0与1.1的区别

    Http与Https的区别:

    1. HTTP 的URL 以http:// 开头,而HTTPS 的URL 以https:// 开头
    2. HTTP 是不安全的,而 HTTPS 是安全的
    3. HTTP 标准端口是80 ,而 HTTPS 的标准端口是443
    4. 在OSI 网络模型中,HTTP工作于应用层,而HTTPS 的安全传输机制工作在传输层
    5. HTTP 无法加密,而HTTPS 对传输的数据进行加密
    6. HTTP无需证书,而HTTPS 需要CA机构wosign的颁发的SSL证书

     什么是Http协议无状态协议?如何解决Http协议的无状态协议?

    无状态协议是对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息

    也就是说,当客户端一起http请求完成以后,客户端再次发送一次http请求,http并不知道当前客户端是哟个“老客户”。

    可以使用Cookie来解决无状态的问题,Cookie相当于一个通行证,当第一次访问服务器端的时候给客户端发送一个Cookie,当客户端再次访问,拿着Cookie来,那么服务器端就知道这个是“老客户”。

     常用的HTTP方法有哪些:

    • GET: 用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器
    • POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。
    • PUT: 传输文件,报文主体中包含文件内容,保存到对应URI位置。
    • HEAD: 获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。
    • DELETE:删除文件,与PUT方法相反,删除对应URI位置的文件。
    • OPTIONS:查询相应URI支持的HTTP方法。

    HTTPS工作原理:

    参考地址:https://blog.csdn.net/arthurzhang73/article/details/82756147

      1⃣️首先HTTP请求服务端生成证书(公钥),客户端对证书的有效期、合法性、域名是否与请求的域名一致、证书的公钥(RSA加密)进行校验;

    2⃣️ 客户端如果校验通过后,就根据证书的公钥的有效,生成随机值,随机数使用公钥进行加密(RSA加密);

    3⃣️ 消息体产生后,对他的摘要进行MD5(或者SHA1)算法加密,此时得到RSA签名;

    4⃣️ 发给服务端,此时只有服务端(RSA私钥)能解密;

    5⃣️ 解密得到的随机数,在用AES加密,作为密钥(此时的密钥只有客户端和服务端知道) 

    http 1.0与1.1的区别

    参考文档:https://www.cnblogs.com/gofighting/p/5421890.html

          https://blog.csdn.net/arthurzhang73/article/details/82756147

    1、HTTP 1.1 支持长连接(PresistentConnection)和请求的流水线(Pipelining)处理

    HTTP 1.0 规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求

    在 1.0时的会话方式:

    建立连接-->发出请求信息-->回送响应信息-->关掉连接 

    HTTP 1.1 支持持久连接,并且默认使用PersistentConnection,在同一个TCP连接中可以传送多个HTTP请求和相应,多个请求和相应可以重叠,多个请求和响应可以同时进行,更加多的请求和响应头(比如HTTP 1.0 没有Host 的字段)

    2、HTTP 1.1 增加 Host 字段

    HTTP 1.0 中认为每台服务器都绑定一个唯一的IP地址,因此,请求信息中的URL并没有传递主机名(Hostname)。

    HTTP 1.1 中的请求消息和响应消息都应支持Host头域,且请求消息中如果没有Host头域会报告一个错误(400 BadRequest),此外,服务器应该接受以绝对路径标记的资源请求。 

    3、新加了状态码 100 (Continue)

    客户端实现发送一个只带头域的请求,如果服务器因为权限拒绝了请求,就发送响应吗401(Unauthorized),如果服务器接受此请求就回送响应吗100,客户端就可以继续发送实体的完整请求了。100状态码使用,允许客户端在发送request消息body之前先用request header试探一下 server,看server要不要接受request body,再决定要不要发 request body。

     

  • 相关阅读:
    Codeforces 1265A Beautiful String
    1039 Course List for Student (25)
    1038 Recover the Smallest Number (30)
    1037 Magic Coupon (25)
    1024 Palindromic Number (25)
    1051 Pop Sequence (25)
    1019 General Palindromic Number (20)
    1031 Hello World for U (20)
    1012 The Best Rank (25)
    1011 World Cup Betting (20)
  • 原文地址:https://www.cnblogs.com/DeryKong/p/10703607.html
Copyright © 2011-2022 走看看