关于HTTP协议的一些记录

今天刚看完HTTP协议(虽然还有CTF的介绍没看),但还是要介绍一下
中文名:超文本传输协议
外文名:HTTP
工作层:应用层
基础:架构在TCP协议上
适用浏览器:Firefox、Google chrome等
关于HTTP协议的一些记录_第1张图片
一、报文格式
HTTP报文是什么,简单来说就是用于http协议交换的信息。
请求端为请求报文
响应端为响应报文
是由多行(CR+LF作换行符)数据构成的字符串文本
(1)请求报文格式

<method><request-URL><version>
<headers>

<entity-body>

(2)响应报文格式

<version><status><reason-phrase>
<headers>

<entity-body>

(3)字段解释
method
HTTP动词
常见方法:HEAD / GET / POST / PUT / DELETE / PATCH / OPTIONS / TRACE
扩展方法:LOCK / MKCOL / COPY / MOVE
version
报文使用的HTTP版本
格式为HTTP/ url

<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>

下面用图示方法给大家展示http请求
关于HTTP协议的一些记录_第2张图片
注:HTTP的三点注意事项
(1)HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
(2)HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。
(3)HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

二、HTTP状态返回代码
1xx(临时响应)
表示临时响应并需要请求者继续执行操作的状态代码。
2xx (成功)
表示成功处理了请求的状态代码。
3xx (重定向)
表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。
4xx(请求错误)
这些状态代码表示请求可能出错,妨碍了服务器的处理。
5xx(服务器错误)
这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。
具体的就不多说了,网上的有很多,当然如果你在学CTF的话,那么下面我介绍几个重要的。

200 成功 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页
301 永久移动 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
302 临时移动 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
304 未修改 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。
400 错误请求 服务器不理解请求的语法。
401 未授权 请求要求身份验证。对于需要登录的网页,服务器可能返回此响应。
403 禁止 服务器拒绝请求。
404 未找到 服务器找不到请求的网页。
500 服务器内部错误 服务器遇到错误,无法完成请求。
503 服务不可用 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。
三、HTTPS

简介

HTTPS(HyperText Transfer Protocol over Secure Socket Layer)可以理解为HTTP+SSL/TLS, 即 HTTP 下加入 SSL 层,HTTPS 的安全基础是 SSL。
简单的来说就是HTTP的安全版/防御版,一定要找个东西联想的话,可以是防火墙。
关于HTTP协议的一些记录_第3张图片

交互

证书验证阶段

浏览器发起 HTTPS 请求
服务端返回 HTTPS 证书
其中证书包含:
颁发机构信息
公钥
公司信息
域名
有效期
指纹
客户端验证证书是否合法,如果不合法则提示告警
数据传输阶段

当证书验证合法后,在本地生成随机数
通过公钥加密随机数,并把加密后的随机数传输到服务端
服务端通过私钥对随机数进行解密
服务端通过客户端传入的随机数构造对称加密算法,对返回结果内容进行加密后传输
关于HTTP协议的一些记录_第4张图片
CA

CA(Certificate Authority)是颁发数字证书的机构。是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。

你可能感兴趣的:(笔记)