前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HTTP 和 HTTPS 的简单认识

HTTP 和 HTTPS 的简单认识

作者头像
艳龙
发布2021-12-16 17:42:04
5400
发布2021-12-16 17:42:04
举报
文章被收录于专栏:yanlongli_艳龙

关于HTTP

HTTP是什么?

维基百科 对HTTP的介绍如下

超文本传输协议(英语:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议[1]。HTTP是万维网的数据通信的基础。

URL 格式

可以看看下面的一个URL例子:

代码语言:javascript
复制
http://www.gov.cn/xinwen/2020-05/05/content_5508775.htm

其中 URL 格式可以分为3个部分 协议类型://服务器地址(和端⼝号)/路径(Path)

协议类型 : http 服务器地址(和端⼝号) : www.gov.cn 路径 : xinwen/2020-05/05/content_5508775.htm

HTTP报文

在chrome中使用 F12 可以查看请求记录。

这里访问 http://www.gov.cn/xinwen/2020-05/05/content_5508775.htm 的请求和响应报文信息如下:

代码语言:javascript
复制
General:
Request URL: http://www.gov.cn/xinwen/2020-05/05/content_5508775.htm
Request Method: GET   // 请求方法
Status Code: 200 OK   // 响应状态码 200 和 响应状态信息 OK
Remote Address: 183.47.233.6:80
Referrer Policy: no-referrer-when-downgrade


Response Headers:
Accept-Ranges: bytes
Connection: keep-alive
Content-Type: text/html
Date: Tue, 05 May 2020 05:45:23 GMT
Server: Apache
Transfer-Encoding: chunked
X-Cache: HIT from BC13_dx-guangdong-jiangmen-7-cache-1(baishan)
X-Powered-By: ModLayout/5.1
X-Ser: BC233_dx-lt-shandong-qingdao-2-cache-8, BC13_dx-guangdong-jiangmen-7-cache-1
Request Method 请求⽅法
1. GET
  • 一般用于获取资源
  • 不需要发送body数据
  • 不对服务器数据进行修改
2. POST
  • 对服务器数据进行修改(增加)
  • 需要发送body数据
3. PUT
  • 修改服务器资源使用
  • 发送给服务器的数据在body中
4. DELETE
  • 用于删除服务器资源
  • 不需要发送body数据
Request Status Code 状态码
  • 1xx:临时性消息。如:100 (继续发送)、101(正在切换协议)
  • 2xx:成功。最典型的是 200(OK)201(创建成功)
  • 3xx:重定向。如 301(永久移动)、302(暂时移动)、304(内容未改变)
  • 4xx:客户端错误。如 400(客户端请求错误)、401(认证失败)、403(被禁⽌)、404(找不到内容)
  • 5xx:服务器错误。如 500(服务器内部错误)
报文Header 类型
Host

⽬标主机

Content-Type
  • text/html :请求web页面时候返回类型。
  • x-www-form-urlencoded: Web ⻚⾯纯⽂本表单的提交⽅式
  • multitype/form-data: Web ⻚⾯含有⼆进制⽂件时的提交⽅式
  • application/json:body为json数据。
  • image/jpeg: body是图片文件
  • application/zip:body是压缩文件
Content-Length

body中数据长度

Location

指定重定向的⽬标 URL

User-Agent

⽤户代理,即是谁实际发送请求、接受响应的,例如⼿机浏览器、某款⼿机 App

Range / Accept-Range

Accept-Range: bytes响应报⽂中出现,表示服务器⽀持按字节来取范围数据 Range: bytes=<start>-<end> 请求报⽂中出现,表示要取哪段数据 Content-Range:<start>-<end>/total响应报⽂中出现,表示发送的是哪段数据 作⽤:断点续传、多线程下载

关于HTTPS

HTTPS 是在 HTTP 的基础上,增加一个安全层,用于保障HTTP的加密传输。 HTTP over SSL (Secure Socket Layer) TLS (Transport Layer Secure)

TCP/IP 协议族

为了解决在现实环境中的网络不稳定情况,网络传输进行了分层设计, 其中使用到的协议,统称 TCP/IP 协议族。

  • Application Layer 应⽤层 : HTTP 、FTP 、 DNS 协议
  • Transport Layer 传输层:TCP、UDP (主要进行数据的分块和跟踪)
  • Internet Layer ⽹络层:IP (主要进行数据的传输)
  • Link Layer 数据链路层:以太⽹、Wi-Fi
HTTPS 通信大概流程
  • 客户端发起HTTPS连接请求
  • 服务器发回证书
  • 客户端校验证书
  • 客户端信任服务器后,协商对称加密密钥
  • 使用对称密钥开始通信

END!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/5/6 上午,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于HTTP
    • HTTP是什么?
      • URL 格式
        • HTTP报文
          • Request Method 请求⽅法
            • Request Status Code 状态码
              • 报文Header 类型
              • 关于HTTPS
                • TCP/IP 协议族
                  • HTTPS 通信大概流程
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档