HTTP 协议概述(上)| 学习笔记

简介: 快速学习 HTTP 协议概述(上),介绍了 HTTP 协议概述(上)系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【云安全基础课- HTTP 协议基础:容器技术基础(4)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/496/detail/6648


HTTP协议概述(上)

 

概念:

HTTP(HyperText Transfer Protocol,超文本传输协议)是访问万维网使用的核心通信协议,也是今天所有 Web 应用程序使用的通信协议。

HTTP 使用一种基于消息的模型:客户端送出一条请求消息,而后由服务器返回一条响应消息。

图片3.png

由图可以看到 HTTP 客户端一般是指浏览器,发送 HTTP Request Message,Web 服务器进行响应,根据请求把消息返回浏览器。

超文本传输协议简化了很多版本,大部分是向下兼容的。HTTP 最开始是0.9的版本,现在已经过时,只接受 GET 请求,没有在通信协议中指定版本号,也不支持请求头。

由于版本不支持 POST 方法,客户无法向浏览器发送方法。1.0版本是第一个在通讯中指定版本号的,至今仍然在使用,特别是在代理服务器。当前主流服务器是1.1的版本,是持久连接,还能很好配合代理工作,支持以管道的方式同时发送多个请求,功能越来越强,降低了线路的负载,提高了传输速度。

HTTP 消息头:

HTTP 支持许多不同的消息头,其中一些专用于特殊用途。

常用消息头:

Connection 告诉双方是否关闭连接的参数|Content-Encoding 指定传输编码的参数|Content-Length 用于规定消息主体的字节长度|Content-Type 用于规定消息主体的内容的类型

|Transfer-Encoding 方便 HTTP 传输对消息主体使用的编码的一种定义。

请求消息头:

Accept 用于告诉服务器的客户端愿意接受哪些内容|Accept-Encoding|Authorization|Cookie 用于向服务器提交发生过的记录 Host 消息头出现在所指定的 URL 的主机名称|

If-Modified-Since|If-None-Match|Origin|Referer 用于指出请求的源的 URL 路径|User-Agent 指定提供给浏览器相关信息

响应消息头:

Access-Control-Allow-Origin|Cache-Control|Etaq|Expires|Location|Pragma|Server提供 Web 服务器相关软件的信息|Set-Cookie 消息头向浏览器发送 Cookie 浏览器会在请求中将 Cookie 返回给服务器是否设置

|WWW-Authenticate|X-Frame-Options

HTTP 请求:

所有 HTTP 消息(请求与响应)中都包含一个或几个单行显示的消息头(header),然后是一个强制空白行,最后是消息主体(可选),

例如:

 图片4.png

第一行:最开始是一个 GET 的请求,然后会有一个 URL 的路径,声明 HTTP 版本1.1

第二行:消息头的信息

第三行:空格,Cookie 以后其实还有一个空行,在 GET 请求中数据是没显示出来的

Referer 的请求源是从 https:

//mdsec.net/auth/488/Home.ashx 中请求过来的跳转到 uid=129的页面;接收的语言是 zh-cn 就是中文;

User-Agent 是 Mozilla 浏览器;Accept-Encoding 格式是 gzip 的格式还有 deflate 的格式;Host 是从 mdsec.net 来的;连接信息是要保持连接;Cookie 信息 Session是没有设置 Cookie 的。

HTTP 方法:

当渗透测试员攻击 Web 应用程序时,几乎肯定会遇到最常用的方法:GET 和 POST。

GET 方法的作用在于获取资源。

POST 方法的主要作用是执行操作。

HTTP1.0定义了 GET、POST、HIDE 三种方法,1.1的版本增加到了5种方法,HTTP 方法可以自行搜索进行学习。

HTTP 响应:

以下是一个典型的 HTTP 响应:

图片5.png

给客户端浏览器返回浏览器的版本,返回相应的码200,正常执行,日期;Sever 端是IS 的6.0的版本;

Set-Cookie 让浏览器将信息记录;请求的类型是 HTML 的类型;使用的是 UTF-8的语言;长度返回了1067个字节。

相关文章
|
1月前
|
网络协议 网络安全 数据安全/隐私保护
HTTP 协议浅析
通过对HTTP协议的深入了解,开发者可以更好地设计和优化Web应用,提高数据传输效率和用户体验。
132 21
|
2月前
|
缓存 网络协议 前端开发
Web 性能优化|了解 HTTP 协议后才能理解的预加载
本文旨在探讨和分享多种预加载技术及其在提升网站性能、优化用户体验方面的应用。
Web 性能优化|了解 HTTP 协议后才能理解的预加载
|
2月前
|
XML JSON 前端开发
HTTP协议,Content-Type格式介绍篇
通过理解和正确使用Content-Type头字段,可以确保数据在网络上传输时的正确性和高效性,提升网络应用的可靠性和用户体验
159 28
|
2月前
|
XML JSON 前端开发
HTTP协议,Content-Type格式介绍篇
通过理解和正确使用Content-Type头字段,可以确保数据在网络上传输时的正确性和高效性,提升网络应用的可靠性和用户体验。
304 25
|
2月前
|
XML JSON 前端开发
HTTP协议,Content-Type格式介绍篇
通过理解和正确使用Content-Type头字段,可以确保数据在网络上传输时的正确性和高效性,提升网络应用的可靠性和用户体验。
349 18
|
3月前
|
域名解析 缓存 网络协议
Web基础与HTTP协议
通过掌握这些基础知识和技术,开发者可以更加高效地构建和优化Web应用,提供更好的用户体验和系统性能。
103 15
|
3月前
|
前端开发 网络协议 安全
【网络原理】——HTTP协议、fiddler抓包
HTTP超文本传输,HTML,fiddler抓包,URL,urlencode,HTTP首行方法,GET方法,POST方法
|
4月前
|
Dubbo 安全 应用服务中间件
Apache Dubbo 正式发布 HTTP/3 版本 RPC 协议,弱网效率提升 6 倍
在 Apache Dubbo 3.3.0 版本之后,官方推出了全新升级的 Triple X 协议,全面支持 HTTP/1、HTTP/2 和 HTTP/3 协议。本文将围绕 Triple 协议对 HTTP/3 的支持进行详细阐述,包括其设计目标、实际应用案例、性能测试结果以及源码架构分析等内容。
|
3月前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
233 3
|
3月前
|
缓存 网络协议 算法
从零开始掌握HTTP协议
本文介绍HTTP协议的演变,从HTTP1.0到HTTP2.0。HTTP1.0为无状态连接,每次请求独立;HTTP1.1引入持久连接、管道化请求和更多状态码;HTTP2.0采用二进制分帧、多路复用、头部压缩及服务器主动推送,大幅提升性能与用户体验。了解这些区别有助于开发者优化应用和服务。