【Linux】HTTP协议和HTTPS加密

HTTP

1、概念

  我们在应用层定制协议时,不建议直接发送结构体对象,因为在不同的环境下,结构体内存对齐规则可能不一样。而自己制定的协议格式,又存在很多问题、不足。对此,我们学习成熟、优秀的HTTP协议来提升自己对协议的理解,提高自己的协议定制能力。
  HTTP(Hyper Text Transfer Protocol):全称超文本传输协议,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。同时它是基于客户端-服务器模型:即客户端(如浏览器)发起请求,服务器处理请求并返回响应。

一个典型的HTTP请求-响应周期如下:

  • 1、建立TCP连接:客户端首先与服务器建立TCP连接。HTTP协议通常使用80端口(HTTP)或443端口(HTTPS)
  • 2、发送HTTP请求:客户端通过TCP连接发送HTTP请求。请求包括请求行、请求头和请求体(可选)
  • 3、处理请求:服务器接收到请求后,解析请求,执行相应的操作(如查询数据库、处理文件等),并生成响应
  • 4、返回HTTP响应:服务器将响应通过TCP连接发送回客户端。响应包括状态行、响应头和响应体
  • 5、关闭连接:请求和响应完成后,TCP连接通常会被关闭。HTTP/1.1引入了持久连接(Keep-Alive),允许在同一连接上进行多次请求和响应
  • 2、认识URL

      URL(统一资源定位符)是互联网上资源的地址,也称为网址。它标识并定位网页、图片、视频、文件等资源。一个完整的URL由多个部分组成,每部分有特定作用。以下是URL的组成部分解析:


      点分十进制的IP地址给用户使用体验感并不好,对此,域名会被解析成IP地址。现实生活中,我们通信真正用到的是IP地址,用域名标识互联网中的一台唯一主机,协议和端口号标识该主机上唯一的一个服务,资源路径找到唯一的一个资源。
      少量的情况,提交或者获取的数据本身可能包含和URL中特殊的字符冲突的字符,要求BS(浏览器和服务器)双方进行编码(encode)和解码(decode),编码解码浏览器和服务器默认帮我们处理了,通常无需手动干预。

    3、协议格式、请求方法和状态码



      HTTP方法这么多,但是大多对用户是禁用的,我们最常使用的就两个GET和POST:即上传数据和接受数据两种。当我们想提交参数给服务器时,使用GET方法提交的参数是通过URL提交的,参数受限;POST方法也支持提交参数,通过请求的正文部分提交参数,比GET方法私密一点。 GET请求可以被保存为书签和历史记录,而POST请求不可以。


      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杰瑞的猫^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值