0
点赞
收藏
分享

微信扫一扫

http协议的请求和响应丶https和密码学基础

婉殇成长笔记 2022-04-19 阅读 85
网络协议

http协议的特性

①http协议是建立在TCP/IP协议之上应用层协议,默认端口为80,8080
②http协议的的特点是数据交互时才连接,其余时间都处于断开状态。

http协议的请求

http协议的报文传输的是ASCII码,在TCP/IP协议之上,主要主要分为三部分:请求行、请求头、请求内容

理解get和post两种请求方法的区别——GET(完整请求一个资源)、POST(提交表单)
GET 请求
在这里插入图片描述

POST请求
在这里插入图片描述

请求行

URL
在这里插入图片描述

请求头

浏览器向服务器发送一些状态数据,标识数据等等
由“信息名:+信息值”组成一对,每行一对,信息名和信息值之间使用冒号分隔。
请求头部的最后会有一个空行,表示请求头部结束,接下来为请求数据。

请求数据

是代理端向服务器发送的请求数据

POST和GET的区别

  1. 参数位置(url可见性)

当不携带参数的时候,两者最大的区别为第一行方法名不同:

POST /uri HTTP/1.1 
GET /uri HTTP/1.1 

当携带参数的时候,我们都知道 GET 请求是放在 url 中,POST 则放在 body 中 :

GET 方法简约版报文

GET /index.html?name=qiming.c&age=22 HTTP/1.1
Host: localhost

POST 方法简约版报文

POST /index.html HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencoded
Content-Length:25

name=qiming.c&age=22
  1. 数据传输上
  1. 缓存性
  1. 后退页面的反应
  1. 传输数据的大小
  1. 安全性

本质区别:

GET产生一个TCP数据包;POST产生两个TCP数据包。

http协议的响应

响应包括:响应行、响应头、响应体(响应数据)

HTTP/1.1 200 0K
Date: Tue,19 Nov 2013 03:08:55 GMT
Server: Apache/2. 2.22 (Win32) PHP/5.3. 13
X- -Powered -By: PHP/5. 3.13
Content-Length: 16
Content- Type: text/html

“响应体”

响应行

状态行由3部分组成,分别为:协议版本、状态码、状态消息。其中协议版本与请求报文一致,状态消息是对状态码的简单描述。

典型的:

1xx:消息 Continue
2xx:成功 OK

3xx:请求被重定向

4xx:浏览器端错误

5xx:服务器端错误
典型:

500 服务器内部错误

404 请求的页面没有找到

403 没有权限

200 请求成功

响应头

Content-Type: text/html 内容类型,告知浏览器接下来发送的响应主体数据是什么格式
Content-Length: 响应主体数据的长度
Date:当前的时间
Server:服务器名称
Set-Cookie:设置与页面关联的Cookie

响应体

①响应头之后紧跟着一个空行,然后接响应体。
②响应体就是Web服务器发送到客户端的实际内容。
注意:每行,包括相应行和响应头,都需要一个 \r\n结尾(需要换行)

https

简介:
http协议是明文传输的,因此很容易被截取和解析,泄漏个人数据。
https协议是在http和tcp之间多添加了一层,进行身份验证和数据加密。

密码学基础

明文: 明文指的是未被加密过的原始数据。
密文:明文被某种加密算法加密之后,会变成密文,从而确保原始数据的安全。密文也可以被解密,得到原始的明文。
密钥:密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥分为对称密钥非对称密钥,分别应用在对称加密非对称加密上

对称加密:

对称加密又叫做私钥加密,即信息的发送方和接收方使用同一个密钥去加密和解密数据。对称加密的特点是算法公开、加密和解密速度快,适合于对大数据量进行加密

加密过程如下:明文 + 加密算法 + 私钥 ===> 密文
解密过程如下: 密文 + 解密算法 + 私钥 ===> 明文

非对称加密

非对称加密也叫做公钥加密。非对称加密与对称加密相比,其安全性更好。对称加密的通信双方使用相同的密钥,如果一方的密钥遭泄露,那么整个通信就会被破解。而非对称加密使用一对密钥,即公钥和私钥,且二者成对出现。 私钥被自己保存,不能对外泄露。公钥指的是公共的密钥,任何人都可以获得该密钥。用公钥或私钥中的任何一个进行加密,用另一个进行解密。

被公钥加密过的密文只能被私钥解密,过程如下
明文 + 加密算法 + 公钥 => 密文, 密文 + 解密算法 + 私钥 => 明文
被私钥加密过的密文只能被公钥解密,过程如下:
明文 + 加密算法 + 私钥 => 密文, 密文 + 解密算法 + 公钥 => 明文

由于加密和解密使用了两个不同的密钥,这就是非对称加密“非对称”的原因。

举报

相关推荐

0 条评论