网络通信——http基础

http基础

    • 1 基本认识
      • 1.1 URI:
      • 1.2 HTTP结构构成:
      • 1.3 状态码:
      • 1.4 工作过程:
      • 1.5 GET 和 POST区别
    • 2 、长连接
    • 3、session 和 cookie的区别
      • 3.1 cookie: 由于HTTP协议是无状态的,引入cookie保存状态。
      • 3.2 区别:
      • 3.3 联系
    • 4、代理:
      • 4.1 架设位置:
      • 4.2 目的:
    • 5、https
      • 5.1 https工作过程:
      • 5.2 https 缺点

1 基本认识

1.1 URI:

URI(uniform resource identifier)包含URL(uniform resource locator)和URN(uniform resource name)

URL: 协议名://域名(可以是IP地址):端口号(可省略)/虚拟目录/文件名?参数(中间用&相连)#锚
URI:通过名字来标识资源

1.2 HTTP结构构成:

固定组成: 起始行、头部、空行、数据主体
请求消息Request: 请求行+请求头部+空行+请求数据
响应消息Response: 状态行+消息报头+空行+响应正文

1.3 状态码:

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

1.4 工作过程:

客户端连接到Web服务器(TCP连接)
——>发送HTTP请求
——>服务器接收请求并返回HTTP响应
——>释放TCP连接
——>客户端浏览器解析HTML内容

1.5 GET 和 POST区别

  • (1)提交时请求数据位置
      GET请求数据在起始行中(即在URL中)
      POST请求数据放在数据主体中
  • (2)传输数据大小:HTTP协议自身没有限制数据大小
    GET:特定浏览器和服务器URL长度有限制
    POST:各个WEB服务器会规定对POST提交数据大小进行限制
  • (3)安全性:POST>GET:比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码.
  • (4)前端获取值: GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值。

2 、长连接

即:只需建立一次TCP 请求就可以进行多次HTTP 通信
版本: http/1.1开始默认长连接,如需断开,使用connection:close
Http/1.1. 之前默认短连接,如需使用长连接,则:Connection:Keep-Alive
流水线:流水线是在同一条长连接上连续发出请求,而不用等待响应返回,这样可以减少延迟。

3、session 和 cookie的区别

3.1 cookie: 由于HTTP协议是无状态的,引入cookie保存状态。

服务器发送到浏览器并保存在本地的一小块数据,会在浏览器向同一个服务器再次发起请求时被携带上,用于告知服务端两端两次请求是否来自同一个浏览器

3.2 区别:

网络通信——http基础_第1张图片

3.3 联系

session 的运行依赖 session id,而 session id 是存在 cookie 中
维持一个会话的核心就是客户端的唯一标识,即 session id

4、代理:

4.1 架设位置:

正向代理——客户端
反向代理——服务器

4.2 目的:

共同目的:处于服务器和客户端之前,提高访问速度
正向代理:主要用于解决访问限制问题,如本地访问国外网站
反向代理:提供负载均衡、安全防护等作用。如web开发中用的负载均衡服务器

5、https

HTTP+加密+认证+完整性保护 = HTTPS

5.1 https工作过程:

客户端与web服务器建立SSL 连接——>服务端证书信息(包含)公钥传送给客户端——>客户端与服务器协商SSL连接安全等级——>客户端建立会话密钥,公钥加密会话密钥——>服务器端根据私钥解密会话密钥——>web服务器用会密钥与客户端进行通信
网络通信——http基础_第2张图片
(1)加密: Https混合加密机制:非对称密钥加密用于保证传输密钥的安全性,用对称密钥进行通信保证效率
(2)认证:CA认证。
数字证书认证机构(CA,Certificate Authority)是客户端与服务器双方都可信赖的第三方机构。

服务器的运营人员向 CA 提出公开密钥的申请,CA 在判明提出申请者的身份之后,会对已申请的公开密钥做数字签名,然后分配这个已签名的公开密钥,并将该公开密钥放入公开密钥证书后绑定在一起。

进行 HTTPS 通信时,服务器会把证书发送给客户端。客户端取得其中的公开密钥之后,先使用数字签名进行验证,如果验证通过,就可以开始通信了。

(3)完整性保护
SSL 提供报文摘要功能来进行完整性保护。是因为它结合了加密和认证这两个操作

5.2 https 缺点

速度慢包含加解密;需要支付高额费用

参考链接:推荐链接

你可能感兴趣的:(通信)