HTTP(S)协议详解

article/2025/9/12 6:24:15

1 什么是协议

  • 协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。

粗俗理解协议就是 比如你的电脑和我的电脑要通信,(我们之间的交流为什么互相听得懂,因为我们都是用中文),协议就是一种规范,你按照这个格式来发包,我按照这个格式来解析这个包没有问题。协议就和语言一样

2 什么是HTTP

在这里插入图片描述
客户端和服务端都是一台电脑,只不过服务端的电脑配置要好很多
request:请求
response:响应

这个协议可以干什么呢?

  • 能获取服务器上的一些文件(其它电脑的一些文件),比如说web服务器

服务器说白了,像web服务器,比如我有一些小说和一些图片想让你看看,那我可以直接拷贝给你,但是我不可能拷贝给世界上所有的人,所以我建立一个域名,让世界上所有的人都能够访问我的服务器,我把想让你们看的东西都放在上面,大家都可以看了,都可以通过http协议看到了。这就是 服务器,协议就是在它上面通过这么个渠道可以看到我电脑上的一些文件。

这种协议简单快速(客户向服务器请求服务时,只需传送请求方法和路径),灵活, 无连接。

GET
POST
HTTP请求方法:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Methods
在这里插入图片描述

GET /books/?sex=man&name=Professional HTTP/1.1
Host: www.xxx.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6) Gecko/20050225
Firefox/1.0.1
Connection: Keep-Alive

GET提交的内容在URL里面

POST / HTTP/1.1
Host: www.xxx.com(Host是请求的域名是什么)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6) Gecko/20050225
Firefox/1.0.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 40 Connection: Keep-Alive
name=Professional%20Ajax&publisher=Wiley

POST提交的内容在header里面

抓个包看看:
在这里插入图片描述
HTTP请求的header:

GET / HTTP/1.1
Host: deelmind.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1

3 什么是HTTP(S)

HTTPS就是给HTTP通过了一项安全的保障,其他的东西都没有变

• HTTPS 即 HTTP over TLS/SSL,是一种在加密信道进行 HTTP 内容传输的协议。

• HTTP/TCP/IP (HTTP)
• HTTP/SSL/TSL/TCP/IP (HTTPS)
在这里插入图片描述
非对称密钥(Asymmetric cryptography):加密的密钥和解密的密钥不一样

4 常用字段

• https://zh.wikipedia.org/wiki/HTTP%E5%A4%B4%E5%AD%97%E6%AE%B5
• https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers
• Multipurpose Internet Mail Extensions (MIME)https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
在这里插入图片描述
在这里插入图片描述

5 HTTP协议潜在漏洞

在这里插入图片描述

6 怎么学

• https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Methods
• https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
学自己经常遇到的问题
总结学习方法


http://chatgpt.dhexx.cn/article/OAy7ckyy.shtml

相关文章

详解Http的Content-Type

目录 1.概述 2.常用类型 2.1.application/x-www-form-urllencoded 2.2.application/json 3.Spring MVC支持的编码 3.1.实验 3.2.适配器 3.3.自定义适配器 1.概述 HTTP(HyperText Transfer Protocol),超文本传输协议。超文本&#xf…

Http协议之Content-Type理解

Content-Type,翻译过来就是”内容类型“,在互联网中就是”互联网媒体类型“。 在互联网中,两台计算机经常会传输数据,客户端会给服务器发数据,服务器也会给客户端发数据。数据的类型也是有很多种的,我们把所…

tomcat修改jdk配置两种方法

由于一个电脑多个项目,可能会使用多个版本的jdk,所以在跑tomcat的时候,可以自定义配置的各项目所使用的jdk 配置步骤(window设置): 1. 在catalina.bat找到如下代码: echo Using JAVA_HOME: “%JAVA_HOME%” 替换成 echo Using JAVA_HOME: “E:\Company\Tool\jdk1.7.0_13” 如…

linux下jdk配置

一、jdk下载 jdk下载地址:https://www.oracle.com/java/technologies/downloads/ 二、配置环境变量 1、解压 tar -xvf jdk-11.0.13_linux-x64_bin.tar.gz 2、配置环境变量 修改/etc/profile文件 vim /etc/profile 文件末尾添加 #jdk JAVA_HOME/usr/local/a…

Mac多JDK配置

Mac多JDK配置 开发环境有时候需要配置多个JDK,Windows下配置比较方便,Mac环境下稍微有点曲折 下载对于的JDK 这里我以JDK8、JDK11为例,可以从oracle官网下载,也可以从国内源下载,比如华为源 直接安装后 执行如下命令可以快速…

eclipse及jdk配置

JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的第一步。而专门运行在x86平台…

JDK配置Path的详细教程(包教包会)

在教程之前,先提示一下,新版本的JDK(比如17)是不需要我们配置的,因为我们在下载的时候已经自动给我们配置了,但是老版本(比如JDK8)是需要我们自己去配置的 OK,进入正题,我们先来说一下为什么要给jdk配置path环境? 首先,我们需要清楚的是jdk是java的开发工具,运行一个java程序…

多jdk配置

1.这里默认安装好jdk8和对应的环境变量,本文我们把jdk8的环境修改为jdk17(安装jdk17,下载安装版jdk17一直点下一步就行,没有好讲的) 2.系统CLASSPATH变量值为(下面都是在系统变量位置进行操作): .;%JAVA_HOME%\bin;%JAVA_HOME%\lib\tools.jar;%JAVA_HO…

Mac开发环境jdk配置

第一步: 下载JDK oracle 官网下载jdk版本 阿里云分享了已经在官方下载好的jdk8 阿里云盘分享https://www.aliyundrive.com/s/pNhjrrG3Pxf密码:8q8f 第二步骤:打开终端 第三步骤 :执行命令 查看JDK下载路径 执行命令:…

java中的jdk配置详解:

java中的jdk配置详解: 1.配值系统变量"JAVA_HOME" 变量名JAVA_HOME: 指向:JDK(java开发工具包)的安装路径 目的:使用JDK安装目录时,可以直接通过”%JAVA_HOME%“访问,避免路径过长麻烦 归一原则&#xff…

JAVA-JDK配置说明

JDK开发环境配置说明 JDK原理 JDK配置JDK与JRE区别 JDK下载地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html (注意查看本地电脑的版本,对应相同的系统,选择下载jdk) 目录 JDK开发环境配置说明 JDK下载地址…

jdk配置环境变量(win10)

jdk配置环境变量(win10) jdk跟环境变量的配置是学习java的必经之路!你是否已经掌握呢? 1.下载安装jdk 官网下载:https://www.oracle.com/cn/java/technologies/downloads/#java8-windows 如果是要下载1.8版本的话,也可以用百度云…

linux JDK配置

1.JDK安装与配置 一般而言,Ubuntu系统会自带JDK,如果没有或者版本不合要求,可按以下步骤进行安装。步骤1 安装JDK。 步骤1 安装JDK。 将下载的.bin文件复制到Linux的某个目录下,比如/usr/lib/jvm/,然后在Shell中执行…

eclipse安装及jdk配置

一:eclipse的下载与安装 1、首先我们进入eclipse下载官网进行下载,链接为: Eclipse Downloads | The Eclipse Foundation 2、我们点击Download Packages选择其他类型的下载包: 3、Eclipse IDE for Java Developers 该版本适合Ja…

jdk配置环境变量

1.安装jdk,从官网下就行,我的是把原来的做了个备份,直接解压的。如下图 2.记录下你要配置的jdk路径。右键此电脑,属性,点击高级系统设置,选择环境变量。 3.现在就可以新建环境变量了。点击新建,…

JDK的安装与配置(含配置多个JDK)

对于Java学习者来说,一台电脑拿到手肯定要配置JDK,但是对于新手来说还是容易出错,我也是在安装了好几次之后才熟练,最近已经不满足JDK8了,想要配置多个JDK切换使用,所以写篇文章记录一下,希望也…

JDK的配置(附多个JDK配置方法)

第一步:下载并安装JDK 一、下载: JDK7和JDK8的安装包: https://pan.baidu.com/s/1nXOQ5KBJeA7YpllSX7spAQ 提取码:1201 二、安装: 安装一路next就完事了(安装在便于寻找的文件夹下) 注意&…

Jdk环境配置

以jdk8为例 1.打开jdk下载官网,下载jdk安装程序 https://www.oracle.com/java/technologies/downloads/#java8-windowsh 或者直接在此地址下载jdk8(0积分) jdk8安装包jdk-8u45-windows-x64-Java文档类资源-CSDN下载 2.打开安装程序 第一…

JDK的安装和配置

JDK的安装和配置 前言 JDK 全称 Java Development Kit,意为 Java 开发工具。 是 Java 程序员不可或缺的开发工具之一,本文来就来教大家如何安装和配置 JDK。注意:本文 Windows 系统以 Win10 为例,Linux 系统以 CentOS7.6 为例 文章…

2022年JDK环境配置(超详细)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、JDK环境配置步骤1.第一步第二步第三步第四步第五步 总结 前言 在java学习之初,我们都将面临JDK环境配置的难题;有些时候甚至可以消…