有关HTTP协议的理解

130 阅读2分钟

HTTP简介

  • HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)
  • 是服务器传输超文本到本地浏览器的传送协议
  • HTTP是基于TCP/IP通信协议来传递数据

HTTP工作原理

  • HTTP协议工作于客户端-服务器架构上。浏览器作为HTTP客户端通过URL向HTTP服务器发送所有请求
  • HTTP默认端口号为80,可进行更改。

HTTP优缺点

  • 优点
    • 支持客户端、服务器模式
    • 应用广泛且跨平台
    • 简单快速、灵活
  • 缺点
    • 无连接
    • 无状态:关联操作时繁琐
    • 明文传输:信息易被窃取
    • 不安全:(HTTPS通过引入SSL/TLS层,解决这个问题,,端口为443)

请求类型GET/POST之间的区别

  • 区别一

    • get重点从服务器获取资源,post重点向服务器发送资源
  • 区别二

    • get不安全(URL可见),post比get要安全
  • 区别三

    • get传输数据通过URL请求,参数放在URL之后通过'?'连接。多个请求数据之间用'&'连接(http://127.0.0.1/Test/login.action?name=admin&password=admin)。这个过程用户可见
    • post传输通过http的post机制,将字段与对应值封存在请求实体中发送给服务器。这个过程用户不可见
  • 区别四

    • Get传输的数据量小,因为受URL长度限制,但效率高
      • 不同浏览量对URL的大小限制不同。chrome限制大小为8182字节,Firefox限制大小65536字节。IE显限制大小2048字节。Opera限制大小190000字节
    • Post可以传输大量数据(上传文件时只能用Post方式)
  • 区别五

    • Get方式只能支持ASCII字符,向服务器传的中文字符可能会乱码
    • Post支持标准字符集,可以正确传递中文字符

常见HTTP的状态码

  • 200:请求成功
  • 301:资源重定向了
  • 404:请求资源不存在
  • 500:内部服务器错误

三次握手和四次挥手

三次握手的作用

  • 确认客户端和服务器双方的接收和发送能力是否正常
  • 指定初始化的序列号,为后面进行可靠的传送做准备
  • 如果是https协议的话,还会进行数字证书的验证和加密秘钥的生成。

四次挥手的作用

  • 确保客户端没有需要请求的数据
  • 确保服务器已将所有需要发送的数据都已发送给客户端