HTTP相关知识总结

HTTP协议特点

  • 支持客户端/服务器模式
  • 简单快速
  • 灵活、允许传输任意类型的数据对象
  • 限制每次连接只处理一个请求(http最初设计思想,现在为了提升传输效率,一次请求完成后不会立即断开连接)
  • 无连接:限制每次连接只处理一个请求
  • 无状态:指协议对于交互性场景没有记忆能力

 HTTP请求相应的步骤客户端连接到web服务器

    1. 发送HTTP请求
    2. 服务器接收请求并返回HTTP响应
    3. 释放TCP连接
    4. 客户端浏览器解析HTTP内容

在浏览器中键入url,按下回车之后经历的流程

    1. DNS解析
    2. TCP建立
    3. 发送HTTP请求
    4. 服务端处理请求并返回HTTP报文
    5. 浏览器解析渲染页面
    6. 连接结束

其中5、 6步骤不分先后顺序

 HTTP状态码

  • 1xx:指示信息,表示信息请求已接收,继续处理
  • 2xx:成功,表示请求被成功接收
  • 3xx:重定向,要完成请求必须进行更进一步的操作
  • 4xx:客户端错误,请求有语法错误或请求无法实现
  • 5xx:服务端错误,服务器未能实现合法的请求HTTP状态码

HTTP和HTTPS的区别

SSL(security sockets layer)安全套接层

  • 为网络通信提供安全及数据完整性的一种安全协议
  • 是操作系统对外的API,SSL3.0以后更名为TLS
  • 采用身份验证和数据加密保证网络通信的安全和数据的完整性

区别

  • HTTPS需要到AC申请证书,HTTP不需要
  • HTTPS密文传输,HTTP明文传输
  • 连接方式不同,HTTPS默认使用443端口,HTTP使用80端口
  • HTTPS=HTTP + 加密 + 认证 + 完整性保护,较HTTP安全

socket简介

  • socket是对TCP/IP协议的抽象,是操作系统对外开放的接口
  • socket通信流程图

 

GET请求和POST请求的区别

  • http报文层面:get将请求信息放在url中,而post放在报文体中.
  • 数据库层面:get请求符合幂等性和安全性,post不符合.
  • 其他层面:get可以被缓存、被存储,而post不行.

cookie和session的区别

1、什么是cookie

  1. 由服务器发送给客户端的特殊信息,以文本的形式存在客户端
  2. 客户端在此请求时,会把cookie回发
  3. 服务器收到后会,解析cookie生成与客户端对应的内容

2、什么是session

session是服务器端的机制,是在服务器上保存的信息,

服务器解析客户端的请求,并操作sessionId保存状态信息

  • session的两种实现方式

  1. 用cookie来实现:在cookie中携带JsssionId
  2. 用url回写来实现

3、区别

  • cookie数据存放在客户的浏览器上;session数据存放在服务器上
  • session相对于cookie更加安全
  • 考虑服务器负载,应当减少使用session

曹永达

发表评论 取消回复