HTTP协议


HTTP是一个请求-响应协议,是两点间传输超文本数据的约定和规范。

1. HTTP状态码

状态码 描述
1XX 表示目前是协议处理中间状态
2XX 成功,报文已接受且正确处理
3XX 重定向,资源位置发生变动
4XX 客户端错误,请求报文有误,服务器无法处理
5XX 服务器处理请求时发生错误

2. HTTP报文

  • 请求报文
  • 响应报文
GET /admin_ui/rdx/core/images/close.png HTTP/1.1
Accept: */*
Referer: http://xxx.xxx.xxx.xxx/menu/neo
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)
Accept-Encoding: gzip, deflate
Host: xxx.xxx.xxx.xxx
Connection: Keep-Alive
Cookie: startupapp=neo; is_cisco_platform=0; rdx_pagination_size=250%20Per%20Page; SESSID=deb31b8eb9ca68a514cf55777744e339

.

3. HTTP方法

HTTP方法 作用
GET 获取资源
HEAD 获取报文头部
POST 传输实体主体
PUT 上传文件,不带验证,一般弃用
PATCH 对资源部分修改
DELETE 删除文件
OPTIONS 查询支持的方法
CONNECT 要求在与代理服务器通讯时简历隧道
TRACE 追踪路径

4. HTTP版本

版本 信息
1.0 每发起一次请求,都要建立一次TCP链接(三次握手)
1.1 ①提出了长连接通信方式,减少TCP连接开销 。②管道网络传输,减少整体效应时间
2.0 ①多路复用 ②首部压缩 ③服务端推送 ④采用二进制格式

http无状态、明文传输、不安全

HTTP安全问题

  • 使用明文进行通信,可能发生窃听
  • 不验证通信方的身份,通信方身份可能伪装
  • 无法证明报文的完整性,报文可能被篡改

5. HTTPS

在TCP和HTTP网络层之间加入了SSL/TLS安全协议

  • 功能
    • 加密(Encryption)
      • 对称密匙加密
      • 非对称密匙加密
      • 混合加密
    • 身份认证(Authentication)
      • 通过证书来对通信方进行认证
      • 数字证书认证机构(CA)是可信赖的第三方机构
    • 数据一致性 (Data integrity)
      • 通过 MD5 报文摘要
  • 缺点
    • 因为加密解密等过程,速度会更慢
    • 需要证书授权费用

HTTP 先和 SSL 通信,再由 SSL 和 TCP 通信,隧道通信


文章作者: ╯晓~
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 ╯晓~ !
评论
  目录