zoukankan      html  css  js  c++  java
  • HTTP基础

    一、TCP确保可靠性的方法:
      1、三次握手;
      2、超时重发
      3、数据确认

    二、HTTP是无状态的:
      1、HTTP 协议自身不具备保存之前发送过的请求或响应的功能;
      2、目的是为了更快地处理大量事务;

    三、HTTP协议通信过程:
      HTTP1.1协议支持持久连接,即在一个TCP连接上可以传送多个HTTP请求和响应,从而减少了建立和关闭连接的消耗和延时。
      简述: (1)过程建立连接;(2)发出多次请求以及接收多次响应;(3)发送关闭连接请求;(4)关闭连接;
      涉及协议:(1)HTTP协议生成对目标服务器的请求报文->(2)TCP将报文切分,可靠地传给对方->(3)IP负责寻找地址->(4)目标 服务器TCP负责接收报文段并重组->(5)对方HTTP响应请求

    四、GET方法和POST方法区别:
      1、语义上,get方法是为了获取资源的请求,post方法是为了提交资源的请求(这是规范,但不是强制);
      2、get是幂等的,post不幂等,幂等意为多次操作不改变资源(这是规范,但不是强制);
      3、get参数通过url传递,post放在request body中;
      4、HTTP协议没有对GET、POST、URL长度进行限制,但由于get方法通过URL提交参数,所以其长度受URL长度限制,而URL长度与浏览器、服务器限制有关;POST长度其实与服务器服务器的处理程序的处理能力有关;

    五、HTTP状态码:
      1XX Informational(信息性状态码) 接收的请求正在处理
      2XX Success(成功状态码) 请求正常处理完毕
      3XX Redirection(重定向状态码) 需要进行附加操作以完成请求
      4XX Client Error(客户端错误状态码) 服务器无法处理请求
      5XX Server Error(服务器错误状态码) 服务器处理请求出错

    六、HTTPS
      1、HTTP+加密+认证+完整性=HTTPS;
      2、在原有的HTTP协议直接与TCP通信,而HTTPS则是HTTP先与SSL通信,进行加密,再与TCP通信;

    七、session和cookie的区别
      0、因为http协议是无状态的,要记住某些用户就得借助这些方法;
      1、session 在服务器端,cookie 在客户端(浏览器)

      2、session 默认被存在在服务器的一个文件里(不是内存)

      3、session 的运行依赖 session id,而 session id 是存在 cookie 中的,也就是说,如果浏览器禁用了 cookie ,同时 session 也会失效(但是可以通过其它方式实现,比如在 url 中传递 session_id)

      4、session可以放在 文件、数据库、或内存中都可以。
      5、用户验证这种场合一般会用session;

    八、断开连接的四次挥手

      四次挥手即可断开TCP连接

      1、第一次挥手:主动关闭方发送一个FIN,用来关闭主动方到被动关闭方的数据传送,也就是主动关闭方告诉被动关闭方:我已经不会再给你发数据了(当然,在fin包之前发送出去的数据,如果没有收到对应的ack确认报文,主动关闭方依然会重发这些数据),但此时主动关闭方还可以接受数据。

      2、第二次挥手:被动关闭方收到FIN包后,发送一个ACK给对方,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号)。

      3、第三次挥手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,我的数据也发送完了,不会再给你发数据了。

      4、第四次挥手:主动关闭方收到FIN后,发送一个ACK给被动关闭方,确认序号为收到序号+1,至此,完成四次挥手。

  • 相关阅读:
    设计模式(18)>职责链模式 小强斋
    设计模式(17)>中介者模式 小强斋
    设计模式(16)>原型模式 小强斋
    设计模式(20)>状态模式 小强斋
    设计模式(15)>桥接模式 小强斋
    设计模式(18)>职责链模式 小强斋
    堆栈的工作原理
    掌握udev
    Qt Model/View 学习笔记 (七)
    Qt Model/View 学习笔记 (六)
  • 原文地址:https://www.cnblogs.com/Drajun/p/8489269.html
Copyright © 2011-2022 走看看