http请求头

HTTP:HTTP请求头和响应头详解

烂漫一生 提交于 2020-02-01 16:46:13
HTTP请求报文 HTTP 请求报文由3部分组成(请求行+请求头+请求体) HTTP请求报文分析 1、 是请求方法,GET和POST是最常见的HTTP方法,初次以外还包括 DELETE、HEAD、OPTIONS、PUT、TRACE,不过现在大部分的浏览器只支持GET和POST 2、 是请求对应的URL地址,他和报文头的Host属性,组合起来是一个完整的请求URL 3、 是协议民称和版本号 4、 是报文头,有若干个属性,形式为key:val,服务端据此获取客户端信息 5、 是报文体,它将一个页面表单中的组件值通过param1=val1&parma=2的键值对形式编码成一个格式化串,它承载多个请求参数的数据,不但报文头可以传递请求参数,URL也可以通过/chapter15/user.html? param1=value1&param2=value2”的方式传递数值 常见的HTTP报文头属性 Accpet 告诉服务端,客户端接收什么类型的响应 Referer 表示这是请求是从哪个URL进来的,比如想在网上购物,但是不知道选择哪家电商平台,你就去问度娘,说哪家电商的东西便宜啊,然后一堆东西弹出在你面前,第一给就是某宝,当你从这里进入某宝的时候,这个请求报文的Referer就是 www.baidu.com Cache-Control 对缓存进行控制,如一个请求希望响应的内容在客户端缓存一年

Http 长连接 队头阻塞 性能优化

♀尐吖头ヾ 提交于 2020-01-28 23:55:32
1.短连接及长连接 早期的 HTTP 协议也被称为是“无连接”的协议。不会与服务器保持长期的连接状态,所以也称为短连接。 到Http1.1就出现了长连接的通信方式,也叫“持久连接”(persistent connections)、“连接保活”(keep alive)、“连接复用”(connection reuse)。 短连接以及长连接都可以用下图很好的解释 其实蛮好理解,短连接就是http每一次 请求-应答 前 都要建立连接,然后断开连接,想要再次 连接-应答 就要再次建立连接 长连接就是客户端不让你断开连接,你就一直连着不断开。 不管客户端是否显式要求长连接,如果服务器支持长连接,它总会在响应报文里放一个“ Connection: keep-alive ”字段,告诉客户端支持长连接。 因为 TCP 连接长时间不关闭,服务器必须在内存里保存它的状态,这就占用了服务器的资源。如果有大量的空闲长连接只连不发,就会很快耗尽服务器的资源,导致服务器无法为真正有需要的用户提供服务。所以,长连接也需要在恰当的时间关闭,不能永远保持与服务器的连接,这在客户端或者服务器都可以做到。 客户端在请求头里加上“Connection: close”字段,告诉服务器:“这次通信后就关闭连接”。服务器看到这个字段,就知道客户端要主动关闭连接,于是在响应报文里也加上这个字段,发送之后就调用 Socket API

http请求头中的content-type属性

北城以北 提交于 2020-01-22 09:26:34
在HTTP请求中,我们每天都在使用Content-Type来指定不同格式的请求信息,但是却很少有人去全面了解Content-Type中允许的值有多少,因此这里来了解一下Content-Type的可用值,以及在Spring MVC中如何使用它们来映射请求信息。 什么是Content-Type 要知道什么是Content-Type,首先要了解什么是Internet Media Type。Internet Media Type即互联网媒体类型,也叫做MIME类型,使用两部分标识符来确定一个类型。在HTTP协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息,意思就是说,Content-Type是Internet Media Type在HTTP协议中的别称。 Content-Type的格式 type/subtype(;parameter)? type 上面是Content-Type的格式,可以拆解为三个部分,分别是主类型(type)、子类型(subtype)和参数(parameter)。 主类型(type) 主类型可以是任意的字符串,比如text。如果是*号则代表所有类型。 子类型(subtype) 子类型可以是任意的字符串,比如html。如果是*号则代表所有类型。 参数(parameter) 参数是可选的,可以在Content-Type中加入一些特殊的参数

web前段知识

廉价感情. 提交于 2020-01-14 08:22:50
1.cookie和session 一个cookies是web服务器存放在用户硬盘上的一段文本,以后能获取它。这些基于文本的信息是一些键值对。 具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到 浏览器 关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。因此从上述的定义中我们可以看到,Session实际上是一个特定的时间概念。 2.http头 当我们打开一个网页时,浏览器要向网站服务器发送一个HTTP请求头,然后网站服务器根据HTTP请求头的内容生成当次请求的内容发送给浏览器。你明白HTTP请求头的具体含意吗?下面一条条的为你详细解读,先看某一次HTTP请求头的具体内容:   Accept-Language: zh-cn,zh;q=0.5   Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7   Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8   Accept-Encoding: gzip, deflate   User-Agent: Mozilla/5.0 (compatible; 域名)   Host: 域名   Connection: Keep-Alive 来源: https://www.cnblogs.com

常用的HTTP请求头与响应头

雨燕双飞 提交于 2020-01-08 10:47:16
常用的HTTP请求头与响应头 HTTP消息头 是指,在超文本传输协议( Hypertext Transfer Protocol ,HTTP)的请求和响应消息中,协议头部分的那些组件。HTTP消息头用来准确描述正在获取的资源、服务器或者客户端的行为,定义了HTTP事务中的具体操作参数。 关于HTTP消息头 常用的 HTTP请求头 常用的 HTTP响应头 1. 关于HTTP消息头 HTTP消息头 是在,客户端请求(Request)或服务器响应(Response)时传递的,位请求或响应的第一行, HTTP消息体 (请求或响应的内容)是其后传输。 HTTP消息头 ,以明文的字符串格式传送,是以冒号分隔的键/值对,如: Accept-Charset: utf-8 ,每一个消息头最后以回车符( CR )和换行符( LF )结尾。 HTTP消息头 结束后,会用一个空白的字段来标识,这样就会出现两个连续的 CR-LF 。 HTTP消息头 由IANA(The Internet Assigned Numbers Authority,互联网数字分配机构)来整理和维护。其标准最早来源于 RFC 4229 。IANA将其整理到了 消息头 文档,文档中还包括了 一些新提出的信息头 。 HTTP消息头 支持自定义, 自定义的专用消息头一般会添加 'X-' 前缀。 2. 常用的 HTTP请求头 协议头 说明 示例

转:Http头介绍:Expires,Cache-Control,Last-Modified,ETag

女生的网名这么多〃 提交于 2019-12-27 06:28:27
Http头介绍:Expires,Cache-Control,Last-Modified,ETag 缓存分很多种:服务器缓存,第三方缓存,浏览器缓存等。其中浏览器缓存是代价最小的,因为浏览器缓存依赖的是客户 端,而几乎不耗费服务器端的资源。 让浏览器做缓存需要给浏览器发送指定的Http头,告诉浏览器缓存多长时间,或者坚决不要缓存。 1.Expires(过期时间) HTTP头信息Expires(过期时间) 属性是HTTP控制缓存的基本手段,这个属性告诉缓存器:相关副本在多长时间内是新鲜的。过了这个时间,缓存器就会向源服务器发送请求,检查文档是否被修改。几乎所有的缓存服务器都支持Expires(过期时间)属性; 大部分Web服务器支持你用几种方式设置Expires属性;一般 的:可以设计一个绝对时间间隔: 基于客户最后查看副本的时间(最后访问时间)或者根据服务器上文档最后被修改的时间; Expires 头信息:对于设置静态图片文件(例如导航栏和图片按钮)可缓存特别有用;因为这些图片修改很少,你可以给它们设置一个特别长的过期时间,这会使你的网站对 用户变得相应非常快;他们对于控制有规律改变的网页也很有用,例如:你每天早上6点更新新闻页,你可以设置副本的过期时间也是这个时间,这样缓存 服务器就知道什么时候去取一个更新版本,而不必让用户去按浏览器的“刷新”按钮。

http 请求头的Cookie中的 JSESSIONID 是什么?

北慕城南 提交于 2019-12-24 18:07:56
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> http 请求头的Cookie中的 JSESSIONID 是什么? 这是一个保险措施因为Session默认是需要Cookie支持的。 但有些客户浏览器是关闭Cookie的这个时候就需要在URL中指定服务器上的session标识。 http本身是无session的,无法跟踪客户端的信息,换句话说:http协议不管是谁联接自己。 为了实现session,必须有浏览器支持。浏览器可以用cookie存储session,这是最通用的做法。 但是,如果我自己写一个完全符合http协议的浏览器,但是不配合服务器的session要求,那么服务器就无法产生session。 好在现在的浏览器都支持session要求,即使关闭了cookie,浏览器也会向服务器传递sessionid,这个id是存储在浏览器的内存空间中的,不保存在硬盘cookie中。 在http的报文格式里面cookie和session是在同一个包文位置上的如果ie发现包文里面包含cookie/session的信息的话,他会根据安全级别来决定是否保存相关信息,比如,如果安全机制允许使用cookie那么ie将把cookie的信息保存到临时文件里面,每次在请求服务器文件的时候会把收到的session的信息加入到请求的报文里面,这就是session保存信息的原理。

HTTP头信息总结

匿名 (未验证) 提交于 2019-12-12 14:52:17
本文为多篇“HTTP请求头相关文章”及《HTTP权威指南》一书的阅读后个人汇总整理版,以便于理解。   通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。 Http协议定义了很多与服务器交互的方法,最基本的有4种,分别是GET、POST、PUT、DELETE。一个URL地址用于描述一个网络上的资源,而HTTP中的GET、POST、PUT、 DELETE就对应着对这个资源的查、改、增、删4个操作,我们最常见的就是GET和POST了。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。 HTTP头信息解读   HTTP的头域包括通用头、请求头、响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。   通用头部是客户端和服务器都可以使用的头部,可以在客户端、服务器和其他应用程序之间提供一些非常有用的通用功能,如Date头部。   请求头部是请求报文特有的,它们为服务器提供了一些额外信息,比如客户端希望接收什么类型的数据,如Accept头部。   响应头部便于客户端提供信息,比如

常用标准请求头字段

一笑奈何 提交于 2019-12-12 08:46:26
给服务器发请求的时候有请求头,接受服务器响应的时候有响应头,客户端和服务器端互相沟通需要的信息都是通过这些“头”来传送,这些信息是一些类似key:value的键值对。了解这些“头”中字段的含义对于理解整个请求过程有很大的帮助。这里列举了常用的“头”字段的解释以及例子,本文可以作为工具文收藏,以备需要时查看。 常用标准请求头字段 Accept 设置接受的内容类型 Accept: text/plain Accept-Charset 设置接受的字符编码 Accept-Charset: utf-8 Accept-Encoding 设置接受的编码格式 Accept-Encoding: gzip, deflate Accept-Datetime 设置接受的版本时间 Accept-Datetime: Thu, 31 May 2007 20:35:00 GMT Accept-Language 设置接受的语言 Accept-Language: en-US Authorization 设置HTTP身份验证的凭证 Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== Cache-Control 设置请求响应链上所有的缓存机制必须遵守的指令 Cache-Control: no-cache Connection 设置当前连接和hop-by

转载:HTTP 请求头中的 X-Forwarded-For

江枫思渺然 提交于 2019-12-06 12:16:58
本文转自:https://www.jianshu.com/p/15f3498a7fad X-Forwarded-For和相关几个头部的理解 $remote_addr 是nginx与客户端进行TCP连接过程中,获得的客户端真实地址. Remote Address 无法伪造,因为建立 TCP 连接需要三次握手,如果伪造了源 IP,无法建立 TCP 连接,更不会有后面的 HTTP 请求 X-Real-IP 是一个自定义头。X-Real-Ip 通常被 HTTP 代理用来表示与它产生 TCP 连接的设备 IP,这个设备可能是其他代理,也可能是真正的请求端。需要注意的是,X-Real-Ip 目前并不属于任何标准,代理和 Web 应用之间可以约定用任何自定义头来传递这个信息 X-Forwarded-For X-Forwarded-For 是一个扩展头。HTTP/1.1(RFC 2616)协议并没有对它的定义,它最开始是由 Squid 这个缓存代理软件引入,用来表示 HTTP 请求端真实 IP,现在已经成为事实上的标准,被各大 HTTP 代理、负载均衡等转发服务广泛使用,并被写入 RFC 7239(Forwarded HTTP Extension)标准之中. X-Forwarded-For请求头格式非常简单,就这样: X-Forwarded-For:client, proxy1, proxy2