HTTP/HTTPS协议详解(上)

简介: TCP/UDP是位于传输层的一种协议,而HTTP/HTTPS是位于应用层的的一中协议;

一. HTTP详解


✅1.1 概念

HTTP 协议一般指 HTTP(超文本传输协议),超文本传输协议(英语:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议,是因特网上应用最为广泛的一种网络传输协议,所有的 WWW 文件都必须遵守这个标准。HTTP 是为 Web 浏览器与 Web 服务器之间的通信而设计的,但也可以用于其他目的,HTTP 是一个基于 TCP/IP 通信协议来传递数据的(HTML 文件、图片文件、查询结果等)。


✅1.2 HTTP的协议格式

想要更好的看清HTTP的格式,我们可以通过抓包工具来解析,这里我推荐大家使用Fiddler进行抓包,亲测好用,下载链接:


Fiddler | Web Debugging Proxy and Troubleshooting Solutions (telerik.com)

https://www.telerik.com/fiddler

我们通过访问百度来进行抓包,打开 Fiddler 我们可以看到:

b2953621f02a489381b67e7412ece520.png


1.2.1 HTTP请求体格式:

f4c6b6a89adf429eb783a6ae9cefba94.png


我们通过 Fiddler 来打开请求体可以看到:

517cea923d674ca392a1157d52345705.png


1.2.2 HTTP响应体格式:


3c98b1d5e7574109b357680d4b8e3026.png

我们通过 Fiddler 来打开响应体可以看到:

725a75b48a164847a1d501e553e42b41.png

其实我们不难发现,HTTP响应的Body里就是HTML的本体,浏览器拿到了这个响应,也就拿到了HTML里面的所以信息,就可以显示了;


✅1.3 HTTP请求方法

根据 HTTP 标准,HTTP 请求可以使用多种请求方法;

序号

方法 描述

1

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

2

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

3

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

4

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

5

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

6

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

7

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

8

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

9

PATCH

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

这里最常用的就是 GET 和 POST 方法了;通俗点说 GET 就是从服务器里拿了什么数据,POST 就是往服务器里提交了什么数据,在我们日常使用中,绝大部分情况下我们都是GET,只有少部分会 POST ,举一个最常见的例子,我们登录或者上传文件的时候就是最常见的 POST 请求,GET 的 Body 一般为空,而 POST 的 Body 一般不为空,但是这个也不是绝对的;GET 是可缓存的,而 POST 不能;


✅1.4 认识请求报头

1)Host:表示服务器主机的地址和端口.

f455c77f05094a7f836f51e7ded49c81.png

2)Content-Length:表示 body 中的数据长度.

563209be8fb547bf9eeb4a4eec8f1dd5.png

3)Content-Type:表示请求的 body 中的数据格式

b4e99c8827824faebb21dac7955cbaae.png

4)User-Agent (简称 UA):表示浏览器/操作系统的属性

492555fc9a3140ea9a9d001bbba5112b.png

5)Referer:表示这个页面是从哪个页面跳转过来的.

951918778f7f4b259be6b6f629f91021.png

6)Cookie:Cookie 中存储了一个字符串, 这个数据可能是客户端(网页)自行通过 JS 写入的, 也可能来自于服务器(服务器在 HTTP 响应的 header 中通过 Set-Cookie 字段给浏览器返回数据);

c4474927a32c4073bde8b66e5c5cf3a2.png

关于Cookie的几个点:


1. Cookie 从哪里来?


是从服务器来的,当我们的浏览器访问服务器的时候,服务器就会在HTTP响应中,通过 Set-Cookie 字段,把Cookie的键值对返回给浏览器,浏览器收到这个数据,就会保存到浏览器的本地存储;


2. Cookie到哪里去?


会在下次请求的时候把Cookie再带给服务器;


3. Cookie有什么用?


是浏览器本地存储数据的机制;


✅1.5 HTTP请求过程

9de5cb93d8924f76baa6b96eb508939e.png

HTTP请求过程实际上是一问一答的方式,就是浏览器向服务器发起请求,服务器会返回请求对应的数据包给浏览器;


✅1.6 认识状态码

1)200 OK


这是一个最常见的状态码, 表示访问成功,这里通过抓包可以看见;

cd0e5eaa762346fa987aac0f015e5e6c.png

2)404 Not Found

404表示没有找到资源,比如我们在百度的网址后面加个abc子目录,这里就会提示没有找到资源,因为百度的服务器上面没有你想要的东西,所以服务器不能返回给你想要的数据;

0df766c2221046a2aace66ce65d3512c.png

3) 403 Forbidden


表示访问被拒绝. 有的页面通常需要用户具有一定的权限才能访问(登陆后才能访问). 如果用户没有登陆,直接访问, 就容易见到 403,通俗点来说就是你没有访问的权限;


4)500 Internal Server Error

服务器出现内部错误. 一般是服务器的代码执行过程中遇到了一些特殊情况(服务器异常崩溃)会产生这个状态码;


5)504 Gateway Timeout

当服务器负载比较大的时候, 服务器处理单条请求的时候消耗的时间就会很长, 就可能会导致出现超时的情况;


6)302 Move temporarily


临时重定向(下次要不要继续重定向,这是不确定的)


重定向:就是访问旧的地址,被自动引导到一个新的地址上;


举个例子:假设我有一个用了好长时间的手机号码,我现在想换个新的号码,但是别人不知道我换了新的号码,所以就设置了一下,别人拨打我的旧手机号码时候,我让他自动跳转到新的号码,这样我就可以接到电话了;


7)301 Moved Permanently


永久重定向(一直都重定向了,以后都重定向了)

目录
相关文章
|
2月前
|
XML JSON API
识别这些API接口定义(http,https,api,RPC,webservice,Restful api ,OpenAPI)
本内容介绍了API相关的术语分类,包括传输协议(HTTP/HTTPS)、接口风格(RESTful、WebService、RPC)及开放程度(API、OpenAPI),帮助理解各类API的特点与应用场景。
|
2月前
|
Android开发 Kotlin
|
3月前
|
缓存 监控 搜索推荐
301重定向实现原理全面解析:从HTTP协议到SEO最佳实践
301重定向是HTTP协议中的永久重定向状态码,用于告知客户端请求的资源已永久移至新URL。它在SEO中具有重要作用,能传递页面权重、更新索引并提升用户体验。本文详解其工作原理、服务器配置方法(如Apache、Nginx)、对搜索引擎的影响及最佳实践,帮助实现网站平稳迁移与优化。
464 68
|
2月前
HTTP协议中请求方式GET 与 POST 什么区别 ?
GET和POST的主要区别在于参数传递方式、安全性和应用场景。GET通过URL传递参数,长度受限且安全性较低,适合获取数据;而POST通过请求体传递参数,安全性更高,适合提交数据。
366 2
|
3月前
|
存储 网络协议 安全
HTTP 协议及会话跟踪机制详解
本文详解了 HTTP 协议的核心知识,包括其定义(超文本传输协议,基于 TCP,规定客户端与服务器通信规则)及与 HTTPS 的区别(安全性、端口、资源消耗)。 介绍了 GET 与 POST 请求的差异(参数限制、安全性、应用场景),以及 Restful 风格(通过 URL 定位资源,请求方式决定操作)。列举了常见 HTTP 状态码(如 200 成功、404 资源未找到),对比了转发与重定向的区别(服务器端一次请求 vs 客户端两次请求)。 还阐述了会话跟踪机制:Cookie 基于客户端存储,通过Set-Cookie和Cookie头实现,安全性较低;Session 基于服务端存储,依赖 C
246 1
|
2月前
|
缓存 网络协议 UED
深度解析HTTP协议从版本0.9至3.0的演进和特性。
总的来说,HTTP的演进是互联网技术不断发展和需求日益增长的结果。每一次重要更新都旨在优化性能,增进用户体验,适应新的应用场景,而且保证了向后兼容,让互联网的基础架构得以稳定发展。随着网络技术继续进步,我们可以预期HTTP协议在未来还会继续演化。
346 0
|
3月前
|
XML 安全 网络架构
深度对比SOAP与HTTP协议:详细理解它们的工作原理和差异
在设计服务和系统交云策略时,考虑到上述差异是至关重要的。SOAP适合需要高安全性、可靠性和事务支持的企业级应用。而HTTP适合Web界面浏览、RESTful服务和需要快速响应的轻量级通信。根据具体需求和上下文,开发者可以选择合适的协议以实现最优的系统性能和用户体验。
318 0
|
4月前
|
安全 网络安全 数据安全/隐私保护
网页安全演进:HTTP、HTTPS与HSTS
这整个进程实质上是网页安全由“裸奔”到“穿衣”再到“绑带”的演变史。它保障了数据的机密性和完整性,降低了中间人攻击的风险,最终实现了更自由、更安全的网络环境。但别忘了,技术永远在发展,网络安全的赛跑也永无终点。*ENDPOINT*
292 11
|
4月前
|
缓存
HTTP协议深度剖析:常见请求头信息讲解
这就是HTTP请求头背后的工作原理,希望通过比作“邮差”和“标签”,可以让你对这个繁琐技术更有感触,更得心应手。尽管这些信息可能很琐碎,但了解了它们的含义和工作方式,就等于揭开了HTTP协议神秘的面纱,掌控了网络交流的核心。你还等什么,赶快动手尝试一下吧!
137 17

热门文章

最新文章