当前位置: 首页 > article >正文

HTTP网络协议讲解

HTTP网络协议

什么是HTTP?

HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它基于TCP/IP通信协议来传递数据。

简单来说,它就是一种约定协议,一种客户端跟服务端之间的约定协议。

什么是协议?

计算机和计算机之间的通讯语言叫做协议,不同的计算机之间要使用相同的协议才能进行通信。

HTTP的网络通信过程

HTTP协议工作于客户端和服务端之间,整个通信过程,浏览器会作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求,Web服务器根据接收到的请求,会向客户端发送响应信息。

URL组成:

1.协议部分 该URL的协议部分为“http:”,这代表网页使用的是HTTP协议。在Internet中可以使用多种协议,如HTTP,FTP等等。

2.域名/ip 该URL的域名部分为http://www.baidu.com, 或: http://180.101.49.12,它们同为百度网址

3.端口部分 跟在域名后面的是端口,域名和端口之间使用“:”作为分隔符。如果没有,那么说明URL使用的是默认端口。

4.路径 从域名后的第一个“/”开始到最后一个“/”为止,是路径部分。

5.参数部分 从“?”开始到“#”为止之间的部分为参数部分,又称查询参数。参数可以允许有多个参数,参数与参数之间用“&”作为分隔符。

HTTP报文

客户端与服务器之间的信息传递使用的载体叫做报文,报文分为请求和响应两个部分。

请求报文:

客户端发送数据给服务器的过程叫做请求报文

格式:

请求行:包含请求方法,要访问的资源以及所舒勇的HTTP版本

请求头部:说明服务器要使用的附加信息

空行:请求报文头部后的空行是必须的

请求体:get往往不存在请求体,post请求体包含请求的参数

请求方法:

GET:请求获取Request-URI所标识的资源。

POST:在Request-URI所标识的资源后附加新的数据。

HEAD:请求获取由Request-URI所标识的资源的响应消息报头。

PUT:请求服务器存储一个资源,并用Request-URI作为其标识。

DELETE:请求服务器删除Request-URI所标识的资源。

TRACE:请求服务器回送收到的请求信息,主要用于测试或诊断。

CONNECT:保留将来使用。

OPTIONS:请求查询服务器的性能,或者查询与资源相关的选项和需求。

在实际应用中常用的请求方法是GET和POST。

GET和POST的区别:

1.从参数的传递方面来看:GET请求的参数是直接拼接在地址栏URL的后面,而POST请求的参数是放到请求体里面的。

2.从长度限制方面来看:GET请求有具体的长度限制,一般不超过1024KB,而POST理论上没有,但是浏览器一般都有一个界限。

3.从安全方面来看:GET请求相较于POST,因为数据都是明文显示在URL上面的,所以安全和私密性不如POST。

4.从功能方面来说,GET是从服务器上获取数据,POST是向服务器传送数据。

响应报文:

格式:

1.响应行(状态行):协议版本,状态码,成功与失败的状态信息。

2.响应头部:由一些键值对构成,用来说明客户端要使用的一些附加信息。

3.空行:响应头部后面的空行是必须的。

4.响应数据(响应正文):服务器返回给客户端的数据等信息内容。

状态码及分类

当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头用以响应浏览器的请求。

常见的状态码分类在这里插入图片描述
https和http有什么区别

https是http的安全版本,也叫超文本安全传输,https是有加密传输协议的通道,并且SSL提供了安全加密基础,https主要是用于http的传输,并且在HTTP与TCP之间有一个特殊的加密/身份验证。

端口:https的端口是443,而http的端口是80,当然两者的连接方式也是不太一样的。

传输数据:http传输是明文的,而https是用ssl进行加密的,https具有安全性。

申请证书:https传输一般是需要申请证书,申请证书可能会需要一定的费用,而http不需要。

最后感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几天时间整理的非常全面的,希望也能帮助到有需要的你!

在这里插入图片描述

这些资料,对于想转行做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……

如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们群,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。

点击文末小卡片领取

敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。

自学推荐B站视频:

零基础转行软件测试:自学完软件测试,拿到了字节的测试岗offer,堪称B站最好的视频!

自动化测试进阶:已上岸华为,涨薪20K,2022最适合自学的python自动化测试教程,自己花16800买的,无偿分享

http://www.lryc.cn/news/2415198.html

相关文章:

  • MPI入门
  • 解决Linux系统GRUB错误:简单入门教程
  • Java基础:final、finally、finalize的区别
  • 数据库中的数据类型
  • 确定最佳聚类的算法(一)
  • HLS新手入门教程
  • gerber导出文件解析,二十几个文件都是干什么的
  • ztree使用总结
  • 虚拟运行环境管理工具Vagrant详细使用教程
  • XXXX is not translated in en (English), zh (Chinese)
  • 什么是业务? 编程语言范畴中谈到的业务是什么
  • 全球免费公共DNS解析服务器 |解决无法上网+加速+防劫持
  • 多线程之pthread_create()函数
  • 《第十五章 异常处理 - try-catch 语句》
  • 字符分割函数strtok
  • 计算机组成原理_浮点数的定义
  • 什么是阻抗?
  • Mssql手工注入
  • sda、sdb、sda1、sda2的意思
  • 详细介绍 CVS (附带 其配置与使用方法)
  • JDK的下载安装及配置(包含多个JDK)
  • Solr的源代码解析和开发技巧
  • 口碑超好的五款桌面管理软件|桌面管理软件排行榜
  • CKEditor5导入并解析word功能的集成,实现word转html
  • 进阶注解处理器 processor (三)
  • IP、子网、超网(CIDR)、网段知识讲解
  • ixp协议服务器,ipx协议中的“内部网络号”是什么意思?
  • C语言—strcpy,strncpy函数介绍、以及自己实现字符串的拷贝代码演示
  • 深度剖析 Go 的 nil
  • 什么是哈希算法sha2?和sha1什么区别?SHA2代码签名?sha3又是什么?