HTTP协议

一. 网络相关知识

1.1 IP

定义:互联网协议地址

作用:它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异,能唯一标识一台计算机。

IPv4的范围:255.255.255.255

局域网ip:192.168.x.x

1.2 端口

定义:port,计算机与网络交互的出口

如果把IP地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门

端口可以有65536(即:2^16)个之多!0-65535

作用:对外发布服务

1.3 url地址详解

定义:每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL(Uniform Resource Locator,统一资源定位符),就是指网络地址。

格式:http://ip:port/path?param

http://:协议

ip:资源所在计算机(域名最终会解析为ip)

port:资源对外发布的端口(80:http默认端口,443:https默认端口)

path:资源在服务器的位置(tomcat下面,其实是相对webapps的路径)

二. http/https协议详解

http是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。

http协议是基于url地址的资源请求协议

2.1 http报文的组成

HTTP通信过程包括客户端往服务器端发送请求以及服务器端给客户端返回响应两个过程。

在此过程中,用于HTTP协议交互的信息就是http报文。

Http报文分为请求报文和返回(响应)报文。

2.1.1 请求报文

请求报文格式中分为三大部分,即请求行、请求头、请求体。

在测试中关注四要素:请求方法、URL、请求头、请求体。

2.1.2 返回报文

返回报文格式同样分为三大部分,即返回行、返回头、返回体。

测试过程中通常关注重点是返回体中的信息。

2.1.3 报文中关注的信息

请求:包括地址、请求状态、方式等

地址:参考url地址

请求状态:参考http状态码

方式:post、get、put、delete等。(主要是封包和发送方式不一样,不需要过于关注)

方法

描述

GET

请求指定的页面信息,并返回实体主体。

HEAD

类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头

POST

向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。

PUT

从客户端向服务器传送的数据取代指定的文档的内容。

DELETE

请求服务器删除指定的页面。

CONNECT

HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。

OPTIONS

允许客户端查看服务器的性能。

TRACE

回显服务器收到的请求,主要用于测试或诊断。

PATCH

是对 PUT 方法的补充,用来对已知资源进行局部更新 。

参数:

需要发送给服务器的参数信息

比如登录:需要把用户名密码发送给服务器

头:

主要是传递身份信息和校验信息

分请求头和响应头

请求头:主要是用户传递的校验信息

响应头:服务器告诉用户,属于你需要保存的校验信息

返回体:

又叫响应。主要是服务器给用户返回处理后的信息。

2.2 https协议

以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

本质:

本质还是http请求,只是加入了ssl加密机制

区别:

https协议需要到ca申请证书,一般免费证书很少,需要交费。

http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。

http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

HTTPS解决了信任主机的问题

测试:

只需要关注是否成功配置了证书,证书是否有效

其加密与解密不需要测试。协议本身就已经是测试通过的。

2.3 http状态码

 1XX:信息状态码

状态码

含义

描述

100

继续

初始的请求已经接受,请客户端继续发送剩余部分

101

切换协议

请求这要求服务器切换协议,服务器已确定切换

 2XX:成功状态码

状态码

含义

描述

200

成功

服务器已成功处理了请求

201

已创建

请求成功并且服务器创建了新的资源

202

已接受

服务器已接受请求,但尚未处理

203

非授权信息

服务器已成功处理请求,但返回的信息可能来自另一个来源

204

无内容

服务器成功处理了请求,但没有返回任何内容

205

重置内容

服务器处理成功,用户终端应重置文档视图

206

部分内容

服务器成功处理了部分GET请求

3XX:重定向状态码

状态码

含义

描述

300

多种选择

针对请求,服务器可执行多种操作

301

永久移动

请求的页面已永久跳转到新的url

302

临时移动

服务器目前从不同位置的网页响应请求,但请求仍继续使用原有位置来进行以后的请求

303

查看其他位置

请求者应当对不同的位置使用单独的GET请求来检索响应时,服务器返回此代码

304

未修改

自从上次请求后,请求的网页未修改过

305

使用代理

请求者只能使用代理访问请求的网页

307

临时重定向

服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求

4XX:客户端错误状态码

状态码

含义

描述

400

错误请求

服务器不理解请求的语法

401

未授权

请求要求用户的身份演验证

403

禁止

服务器拒绝请求

404

未找到

服务器找不到请求的页面,(地址填错,或者文件不存在了)

405

方法禁用

禁用请求中指定的方法

406

不接受

无法使用请求的内容特性响应请求的页面

407

需要代理授权

请求需要代理的身份认证

408

请求超时

服务器等候请求时发生超时

409

冲突

服务器在完成请求时发生冲突

410

已删除

客户端请求的资源已经不存在

411

需要有效长度

服务器不接受不含有效长度表头字段的请求

412

未满足前提条件

服务器未满足请求者在请求中设置的其中一个前提条件

413

请求实体过大

由于请求实体过大,服务器无法处理,因此拒绝请求

414

请求url过长

请求的url过长,服务器无法处理

415

不支持格式

服务器无法处理请求中附带媒体格式

416

范围无效

客户端请求的范围无效

417

未满足期望

服务器无法满足请求表头字段要求

5XX:服务端错误状态码

状态码

含义

描述

500

服务器错误

服务器内部错误,无法完成请求(后台报错)

501

尚未实施

服务器不具备完成请求的功能

502

错误网关

服务器作为网关或代理出现错误(下游服务宕机)

503

服务不可用

服务器目前无法使用

504

网关超时

网关或代理服务器,未及时获取请求

505

不支持版本

服务器不支持请求中使用的HTTP协议版本

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值