笔记-HTTP请求时哪些请求头是默认的

关于WebService发布服务,客户端用httpUrlConnection请求(带请求头)soap报文——笔记! 由于现在WebService服务,用的最多的是http协议,最近研究了下soap协议(带请求头)报文的请求,以此总结一下写个笔记忘日后观看,有说的不对的地方请大家指出来,虚心讨教。 话不多说直接上干货。1.首先我就用最简单的方式,jdk自带的webService发布服务。   1.1:准备工作,写一个接口,一个实现类,加一个测试类用来发布服务。截图如下:       接口截图:   实现类截图:发... 阅读详情

提起HTTP的请求头和响应头总是一头雾水,
今天我们先研究请求头,我就想,如果我们能弄清楚,在我们什么都不做的情况下,一个最简单的HTTP请求会携带哪些请求头,那么复杂的情况无非是在这上面做加法,我们对请求头就能做到心中有数了。

我从以下4个维度测试,看哪些请求头是默认携带的。只发出一个最简单的HTTP请求,别的什么都不做。

1. AJAX请求,不跨域

2. AJAX请求,跨域

3. 服务端发出的HTTP请求
4. 浏览器发出的AJAX之外的其他请求

最终,我想要弄清楚以下几个问题:

1. AJAX发出的的GET、POST、PUT、DELETE、OPTIONS五种请求有什么不同?

2. 原生的XMLHttpRequest请求和axios请求有什么不同?(我习惯用axios)

3. 是否跨域会有什么不同?

4. 服务端发出的GET、POST、PUT、DELETE、OPTIONS五种请求会有什么不同?

5. 服务端发出的请求和AJAX会有什么不同?

我曾经以为只要是访问api接口就都是AJAX,结果在同事问我“你这是AJAX请求还是代理?”时,我用一脸懵逼的表情看着他,他用关怀弱智的表情看着我…

事实是只有浏览器通过XMLHttpRequest对象和Fetch对象发出的请求才叫AJAX,才存在跨域,服务端发出的HTTP请求是不存在跨域的。

我们先来看看6个以sec开头的“奇怪”请求头,这6个请求头不管是否跨域都会携带,只是在跨域时sec-fetch-site的值从same-origin变成了same-site。

搜了一下,3个sec-ch开头的是实验功能,3个sec-fetch开头的是Fetch对象相关的,由于我个人都用不着,所以不在讨论范围。

问题一:AJAX发出的的GET、POST、PUT、DELETE、OPTIONS五种请求有什么不同?

经过测试其他的4种请求头,得出以下结论:

1. 都携带以下8个请求头:host、connection、accept、accept-encoding、accept-language、user-agent、referer、cookie

2. 相比get,其余4种增加了:origin(跨域情况下5种请求都有origin)

3. POST和PUT增加了:'content-length': '0'

问题二:原生的XMLHttpRequest请求和axios请求有什么不同?

测试用axios发出这5种请求,然后对比从XMLHttpRequest发出的请求,得出以下结论:

axios只是把 accept: '*/*' 改成了:accept: 'application/json, text/plain, */*',经过测试在跨域时也是如此,axios只是修改了accept请求头。

问题三:是否跨域会有什么不同?

从另一个域名发起请求,形成了跨域,然后对比5种请求时跨域和非跨域的区别,结果如下:

这5种请求跨域后都是少了cookie,只是在GET时跨域请求多了origin。

再来看服务端发出的请求,我们直接使用axios,就不比较通过http模块发的请求了。这是一个最简单的服务端通过axios发出的GET请求:

问题四:服务端发出的GET、POST、PUT、DELETE、OPTIONS五种请求会有什么不同?

我们先来看一下服务端发出这5种请求会有什么不同?经过测试,结论如下:

1. 都携带以下4个请求头:host、accept、connection、user-agent

2. POST和PUT增加了:'content-type': 'application/x-www-form-urlencoded'和'content-length': '0'

问题五:服务端发出的请求和AJAX会有什么不同?

再来看一下服务端发出的请求和AJAX有什么不同?经过比较,结论如下:

1. 当然是数量,从默认携带8个,变成了只有其中的4个,少了accept-encoding、accept-language、referer、cookie

2. user-agent从浏览器信息变成了axios以及它的版本号

3. connection从keep-alive变成了close

最后,我们看一下浏览器发出的AJAX以外的请求会携带哪些请求头?

经过测试,还是这8个,只不过在浏览器地址栏直接回车时,会少一个referer。

我们现在来看一下这8个请求头的功能吧,现在我们知道了,这8个是浏览器发出HTTP请求默认会携带的请求头。

host:请求将要发送到的服务器主机名和端口号,如果没有包含端口号,会自动使用被请求服务的默认端口

connection:网络连接是否持久化,现在我们知道浏览器发出的请求是keep-alive,服务端发出的请求是close

accept:告知(服务器)客户端可以处理的内容类型,这种内容类型用MIME类型来表示。

accept-encoding:告知(服务器)客户端可以理解的内容编码方式,我们常用到的场景是gzip压缩。

accept-language:告知(服务器)客户端可以理解的自然语言。

user-agent:告知(服务器)发起请求的用户代理软件的应用类型、操作系统、软件开发商以及版本号。

referer:当前页面的来源页面的地址,即表示当前页面是通过此来源页面里的链接进入的。

cookie:携带cookie,跨域时默认不会携带,关于跨域时cookie的表现我们后面再讨论。
HTTP数据包解析与Postman接口调试:请求方法、请求头、状态码全解 HTTP 协议是 Web 交互的基础,一次网络请求由请求行、请求头、请求体构成,服务端以状态码和响应头反馈结果。理解请求方法语义、请求头字段含义以及状态码分类,能帮助开发者快速定位接口问题、提升调试效率。接口调试与安全测试中,常需精确控制请求细节,浏览器自动化会隐藏关键信息,而 Postman 提供方法切换、头部编辑、请求体构造与状态码断言能力,成为构造和复现请求的实用工具。从抓包观察真实报文到 Postman 还原并修改请求,掌握 HTTP 数据包结构、Content-Type 绑定、401 与 403 阅读详情

相关推荐

C++游戏开发实战:从零构建局域网联机对战系统(附完整代码解析)

本文详细介绍了如何使用C++开发局域网联机对战游戏系统,涵盖从环境搭建到实战代码解析的全过程。重点讲解了Winsock库的应用、Socket通信原理、服务端与客户端开发技巧,以及性能优化和安全防护方案,帮助开发者快速掌握C++游戏开发的核心技术。

weixin_42524945的博客 445

【OkHttpClient Content-Type addNetworkInterceptor addInterceptor consumes】

OkHttpClient Content-Type addNetworkInterceptor addInterceptor

qq_45400200的博客 508

dxf-viewer 查看器

dxf-viewer SDK 的示例,它是一个基于 Three.js 和 Vue3 构建的基于 WebGL 的 BIM 模型查看器。它用于查看 DWG/DXF/PDF 文件。面积测量 - 角度测量 -标记。

qq_25547755的博客 866

默认携带的请求头内容

Accept-Language:指定客户端偏好的自然语言,用于内容协商,例如Accept-Language: en-US表示客户端偏好使用英文。Accept:指定客户端能够接收的内容类型,例如Accept: application/json表示客户端可以接收JSON格式的响应。Content-Type:指定服务器响应的内容类型,例如Content-Type: text/html表示响应的内容是HTML文本。Content-Length:指定响应体的字节长度,用于告诉客户端接收响应的大小。

subsistent的博客 332

MIA文献阅读 —— 深度学习在医学图像分析中的最新进展及临床应用【2024】_再现性;深度学习

coderVAEVAEVAE) (Kingma威林,2014)在概率性的工作方式学习观测数据之间的映射空间x∈Rmx∈R^mx∈Rm 和潜在的空间z∈Rnmnz∈Rn(m>>n)。作为一个潜变量模型,VAEVAEVAE制定这个问题作为观察样品的最大化对数似logpxlog∫px∣zpzdzpx∣zp (x | z)p(x∣z)可以很容易地使用神经网络建模,和pzp (z)

2401_84181704的博客 1243

华为用自研的MetaERP替换全球顶级的SAP ERP系统,其难度与风险远超一次普通的技术升级,它是一场战略级的、涉及业务筋骨的系统性工程

华为成功用自研MetaERP替换SAP系统,这是一项极具挑战的战略工程。面临四大难度:业务复杂度高(170多国业务)、数据迁移量大(20年历史数据)、技术集成复杂(重构生态系统)、人员适应周期长。同时伴随四大风险:业务中断、数据失真、成本超支、供应链协同问题。华为成功的关键在于:生存压力驱动的战略决心、强大的软件研发能力、以自身业务为试验场、分步实施策略。这一案例证明中国企业能攻克高端软件壁垒,但对大多数企业而言,核心系统替换需谨慎评估风险,建议采用渐进式替代策略。

金牌架构师 535

http请求头中的Accept的用处和常用的值

1.Accept属于http请求头,描述客户端希望接收的响应body 数据类型。就是希望服务器返回什么类型的数据。

good_good_xiu的博客 3万+

[NoC]Outstanding和Credit的概念详解

摘要:本文详细解析了计算机体系结构中outstanding和credit两个核心概念。outstanding指已发出但未完成的请求数量,通过跟踪未决事务实现并发和乱序执行,常见于AXI总线等场景;credit则是基于信用令牌的流控机制,通过控制发送速率防止接收端缓冲溢出,多用于NoC网络。二者在目的、机制上存在差异:outstanding侧重提升并发度,credit关注流控保护。文章通过AXI协议实例和SystemC代码示例展示了二者的应用与结合方式,并探讨了在SoC设计中参数优化的方法,包括性能/资源权衡

元直的博客 2284

HTTP 中 POST 提交数据的四种方式详解

HTTP 中 POST 提交数据的四种方式详解 首先说一下为什么写这篇文章,以前写客户端的时候,要经常调用后端的接口,一般很多公司的接口,都是统一 POST 提交方式 服务端响应的是 JSON 格式字符串,方便统一管理,当时对 POST 不太清楚,开始的时候,不觉得有啥 但是真正等到自己写一个独立的技术社区的时候,也就是www.helloworld.net,需要上传,需要表单提交等 才发现,不懂这些,用到了的时候,很是费劲,很耽误时间。 下面就当是复习了,学习一下GET,POST这两种最常用的

APItesterCris的博客 3万+

Unity 工具 之 ZXing QRCode 二维码的生成和识别(可设置生成不同颜色的/带图标的二维码)

Unity 基础 之 ZXing QRCode 二维码的生成和识别(可设置生成不同颜色的/带图标的二维码) 目录 Unity 基础 之 ZXing QRCode 二维码的生成和识别(可设置生成不同颜色的/带图标的二维码) 一、简单介绍 二、实现原理 三、注意实现 四、效果预览 五、ZXing.net ( zxing.unity.dll ) 插件下载 六、实现步骤 七、关键代码 一、简单介绍 Unity 开发中,自己整理的一些游戏开发可能用到的功能,整理归档,方便游...

仙魁XAN 9824

Allegro如何进行四层板板层设计

板层的设计

weixin_42499230的博客 3189

post请求头有三种格式:

post请求头有三种格式:

qq_56769697的博客 683

基于分水岭分割进行肺癌诊断

近年来,肺癌的发病率和病死率均迅速上升,目前已居所有癌症之首。随着肺癌病人数量的增加,医生对肺部 CT 图像进行研判的工作量也增加了不少,在这种情况下难免工作效率降低甚至会出现误诊。为了帮助医生减少重复性工作,对肺部 CT 图像进行计算机辅助检测的技术就被广泛应用于对肺癌的诊断和治疗过程中。医学 CT 图像处理主要是研究医学图像中的器官和组织之间的关系,并进行病理性分析。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1568

Wireshark抓包:详解Http协议--请求消息_wireshark查看请求头

TCP协议和UDP协议的区别1.TCP是面向连接的,所以有TCP三次握手和四次挥手的过程。UDP是无连接的协议,因为没建立任何的连接,所以没有握手和挥手的过程。2.TCP有可靠的连接机制,所以TCP是一个可靠协议。UDP没有连接和确认机制,所以UDP协议会丢包,会出错,所以它是一个不可靠的协议。3.TCP协议:数据量很大,防止它丢包,正确重传。(如果数据量很大,那么传输的时间会很长。中间网络中断了,要保证它能够重传。)对数据准确性很关心。UDP:数据量小。4.速度:TCP协议速度很慢,传输效率很低。

2401_84564150的博客 4357

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

HTTP请求头和响应头

浏览器和天气系统看起来是很简单的请求和响应的过程,但实际上这个过程并不简单,也就是说浏览器向天气系统发送请求的时候并不是只发送了url和参数,还有一些你看不见摸不着的东西也传过去了,真的是暗度陈仓,防不胜防。同样天气系统在响应浏览器的时候,并不是仅仅传送过来天气信息就完事了,还有很多看不见摸不着的东西也送过来了。那么这些看不见摸不着的东西,到底是什么东西?还有他们这样暗中交易,就没有人管了吗?

小朱的博客 550

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

网络安全学习笔记——HTTP请求头基础

HTTP 协议的 Header 是一块数据区域,分为请求头和响应头两种类型客户端向服务区发送请求时带的是请求头,而服务器响应客户端数据时带的是响应头请求头里主要是客户端的一些基础信息,UA(user-agent)就是其中的一部分,而响应头里是响应数据的一些信息,以及服务器要求客户端如何处理这些响应数据的指令。

just do it 297

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Request(HTTP请求对象)的笔记和底层原理

Request笔记以及底层原理1.HTTP协议2.学会识别请求3.Request请求对象4.Request是域对象5.使用域对象进行数据传递(请求转发)6.Request底层原理图 1.HTTP协议 什么是HTTP协议:超文本协议 作用:是客户端和服务端交互时,数据的格式规范 分类:HTTP请求和HTTP响应 请求:客户端发送给服务端的数据 响应:服务端发送给客户端的数据 请求和响应分为行,头,...

qq_42705210的博客 2052

JSP学习笔记——HTTP请求和响应

超文本传输协议 (HTTP-Hypertext transfer protocol) 是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。是一个应用程序级的基于TCP / IP协议,分布式,协作,超媒体信息系统(互联网)。http有两个特点,无状态和短连接,短连接是指Web浏览器和Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出一

u010724039的专栏 5382

angular学习笔记(二十四)-$http(2)-设置http请求头

1. angular默认的请求头: 其中,Accept 和 X-Requested-With是$http自带的默认配置 Accept:application/json,text/plain 接受的请求的数据类型: json 文本 X-Requested-With: XMLHttpRequest 请求是通过XMLHttpRequest对象发送的 2...

450

HTTP 请求协议的笔记

一、概念 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。 HTTP协议,即超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和万维网(WWW = World Wide Web)服务...

爱人BT的博客 493

今天的码农女孩总结了网络中的http请求头的笔记

http请求头有哪些?Accept:浏览器可接受的MIME类型。Accept-Charset:浏览器可接受的字符集。Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip。Servlet能够向支持gzip的浏览器返回经gzip编码的HTML页面。许多情形下这可以减少5到10倍的下载时间。Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。Authorization:授权信息,通常出现在对服务器发送的WWW-Authenticate头的应

m0_64444606的博客 160

http请求格式

HTTP请求体内容笔记 1.主要参考的内容 1.1 详解了http请求报文和http响应报文 https://blog.youkuaiyun.com/u010256388/article/details/68491509 1.2 http header 各个参数详解 https://kb.cnblogs.com/page/92320/ 2.自己理解部分 2.1 http请求图解 请...

leixingbang的专栏 5128

Jmeter学习笔记三HTTP默认请求值和HTTP信息头管理器的使用

1.HTTP请求默认值的使用说明 在众多的线程组中,如果线程组有相同的IP地址、端口号、协议、和字符集等共同的属性,可以使用HTTP请求默认值进行抽取,在HTTP默认值组件中设置这些共同的属性,在线程组中就不用设置了,没有设置的线程组会自动使用HTTP请求默认值中的属性。 2.HTTP信息头设置 如果需要设置HTTP请求头的内容,需要添加HTTP信息头管理器进行设置。添加方法如下: ...

SDBX_lyp的博客 2630

jmeter学习笔记(六)HTTP信息头管理器、HTTP请求默认值

文章目录作用 作用 当接口请求头有特殊要求时,添加到对应接口的作用域内(如图接口,Content-Type必须是application/json)

测试之道的博客 1092

HTTP请求

学习目标: HTTP请求 学习笔记: 1、HTTP请求的含义: HTTP是超文本传输协议,其定义了客户端与服务器端之间文本传输的规范。 是指从客户端到服务器端的请求消息。 (包括:消息首行中,对资源的请求方法、资源的标识符及使用的协议。) HTTP默认使用 80 端口,这个端口指的是服务端的端口,而客户端使用的端口是动态分配的。 当我们没有指定端口访问时,浏览器会默认添加 80 端口。 2、HTTP请求格式: 当浏览器向 Web服务器 发出请求时,它向服务器传递了一个数据块,也就是请求信息,

YHLSunshine的博客 762
上一篇: 笔记-python进程、线程、协程
下一篇: 笔记-事件的捕获和冒泡
大白砌墙
博客等级 码龄11年 1296粉丝 144原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大白砌墙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值