http请求头

http请求缓存头详解

独自空忆成欢 提交于 2019-12-06 06:46:26
缓存的作用: 1.减少延迟(页面打开的速度)。 2.降低服务器负载(先取缓存,无缓存在请求服务器,有效降低服务器的负担)。 3.保证稳定性(有个笑话是手机抢购时为了保证服务器的稳定性,在前端写个随机数限制百分之二十的人发送数据到后台,这也侧面说明了缓存对于稳定性的作用)。 下图是自己画的,有点丑,请原谅!待会讲解! 浏览器与服务器进行通讯包含两部分: 1.请求头header(包含各种缓存信息)。 2.请求体bdoy(数据发送的主要内容) 页面缓存是由header决定的,包含四个参数: 一、Expires: http1.0推出的,指服务器返回的文件有效期,但其实这是有缺陷的,如果把本地的时间改为2118年,那Expires的时间怎么都会过期。 二、Last-Modified: http1.0推出的,指服务器文件的最后修改时间,浏览器会带上If-Modified-Since向服务器发送请求,与服务器文件修改时间Last-Modified做对比,如果时间不同,则获取数据返回200,否则返回304后调用浏览器本地硬盘的缓存。 这种方式也有问题,如果服务端文件频繁修改保存,那么Last-Modified就会频繁更改,每次都从服务端获取,这也就有了http1.1的修改。 从网上拿了个angular.js地址试了一下,第一次返回200,第二次刷新页面返回304。 时间:本地缓存获取>服务器获取

http头字段

試著忘記壹切 提交于 2019-12-06 06:42:54
HTTP头字段总结 本节摘自 https://www.cnblogs.com/skynet/archive/2010/12/11/1903347.html 。 1、 Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type。 2、 Accept-Charset: 浏览器申明自己接收的字符集 Accept-Encoding: 浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法(gzip,deflate) Accept-Language:浏览器申明自己接收的语言 语言跟字符集的区别:中文是语言,中文有多种字符集,比如big5,gb2312,gbk等等。 3、 Accept-Ranges:WEB服务器表明自己是否接受获取其某个实体的一部分(比如文件的一部分)的请求。bytes:表示接受,none:表示不接受。 4、 Age:当代理服务器用自己缓存的实体去响应请求时,用该头部表明该实体从产生到现在经过多长时间了。 5、 Authorization:当客户端接收到来自WEB服务器的 WWW-Authenticate 响应时,用该头部来回应自己的身份验证信息给WEB服务器。 6、 Cache-Control:请求:no-cache(不要缓存的实体,要求现在从WEB服务器去取) max

HTTP 协议 Host 请求头的作用

谁说我不能喝 提交于 2019-12-06 02:13:04
原文作者: https://blog.csdn.net/codejas/article/details/82844032 Host 是 HTTP 1.1 协议中新增的一个请求头,主要用来实现虚拟主机技术 虚拟主机(virtual hosting)即共享主机(shared web hosting),可以利用虚拟技术把一台完整的服务器分成若干个主机,因此可以在单一服务器上运行多个网站或服务。 举一个简单的例子:有一台 ip 地址为 61.135.169.125 的服务器,在这台服务器桑部署着谷歌、百度、淘宝的网站。为什么我们访问 https://www.google.com 时,看到的是 Google 的首页而不是百度或者淘宝的首页?原因就是 Host 请求头决定着访问哪个虚拟主机。 来源: https://www.cnblogs.com/wssjzw/p/11956423.html

HTTP消息头详解

时光总嘲笑我的痴心妄想 提交于 2019-12-06 01:10:47
分类:4类 通用头域  General headers    同时适用于请求和响应消息,但与最终消息主体中传输的数据无关的消息头。 请求头域  Request headers    包含更多有关要获取的资源或客户端本身信息的消息头。 响应头域  Response headers   包含有关响应的补充信息,如其位置或服务器本身(名称和版本等)的消息头。 实体头域  Entity headers     包含有关实体主体的更多信息,比如主体长(Content-Length)度或其MIME类型。 来源: https://www.cnblogs.com/fanshehu/p/11955164.html

HTTP 请求头与请求体

放肆的年华 提交于 2019-12-04 14:21:38
HTTP Request HTTP 的请求报文分为三个部分 请求行、请求头和请求体,格式如图: 一个典型的请求消息头域,如下所示:   POST/GET http://download.microtool.de:80/somedata.exe   Host: download.microtool.de   Accept: */*   Pragma: no-cache   Cache-Control: no-cache   Referer: http://download.microtool.de/   User-Agent:Mozilla/4.04[ en]( Win95;I;Nav)   Range:bytes=554554- Request Line:请求行 请求行(Request Line)分为三个部分:请求方法、请求地址和协议及版本,以CRLF(rn)结束。HTTP/1.1 定义的请求方法有8种:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE,最常的两种GET和POST,如果是RESTful接口的话一般会用到GET、POST、DELETE、PUT。 Request Methods 注意,仅有POST、PUT以及PATCH这三个动词时会包含请求体,而GET、HEAD、DELETE、CONNECT、TRACE

http报文头域详解

匿名 (未验证) 提交于 2019-12-03 00:09:02
不管是请求报文还是响应报文,都由起始行,报文头域, 空行, 报文主体构成 请求报文 的报文头域又分为 请求头域,通用头域,实体头域 响应报文 的报文头域又分为 响应头域,通用头域,实体头域 通用头域 通用头域包含请求和响应消息都支持的头域 ,对通用头域的扩展要求通讯双方都支持此扩展,如果存在不支持的通用头域,一般将会作为实体头域处理。 通用头域包含Cache-Control、 Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。 下面简单介绍几个在UPnP消息中使用的通用头域。 Cache-Control : 指定请求和响应遵循的缓存机制。在 请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。   请求时的缓存指令包括no-cache、no- store、max-age、max-stale、min-fresh、only-if-cached,   响应消息中的指令包括public、 private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、 max-age。   各个消息中的指令含义如下:     Public 指示响应可被任何缓存区缓存。     Private 指示对于单个用户的整个或部分响应消息

PHP接收http请求头信息

匿名 (未验证) 提交于 2019-12-02 22:10:10
1、PHP 自带函数 getallheaders() 目前 getallheaders() 只能用于 apache 中。如果想在 nginx 中也能使用,可以使用自定义函数。 foreach (getallheaders() as $name => $value) { echo "$name: $value\n"; } 2、自定义函数 function em_getallheaders() { $headers = []; foreach ($_SERVER as $name => $value) { if (substr($name, 0, 5) == 'HTTP_') { $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value; } } return $headers; } 文章来源: PHP接收http请求头信息

HTTP消息头详解

混江龙づ霸主 提交于 2019-12-02 11:11:33
但凡搞WEB开发的人都离不开HTTP(超文本传输协议),而要了解HTTP,除了HTML本身以外,还有一部分不可忽视的就是HTTP消息头。做过Socket编程的人都知道,当我们设计一个通信协议时,“消息头/消息体”的分割方式是很常用的,消息头告诉对方这个消息是干什么的,消息体告诉对方怎么干。HTTP传输的消息也是这样规定的,每一个HTTP包都分为HTTP头和HTTP体两部分,后者是可选的,而前者是必须的。每当我们打开一个网页,在上面点击右键,选择“查看源文件”,这时看到的HTML代码就是HTTP的消息体,那么消息头又在哪呢?IE浏览器不让我们看到这部分,但我们可以通过截取数据包等方法看到它。下面就来看一个简单的例子: 首先制作一个非常简单的网页,它的内容只有一行: <html><body>hello world</body></html> 把它放到WEB服务器上,比如IIS,然后用IE浏览器请求这个页面( http://localhost:8080/simple.htm ),当我们请求这个页面时,浏览器实际做了以下四项工作: 1、解析我们输入的地址,从中分解出协议名、主机名、端口、对象路径等部分,对于我们的这个地址,解析得到的结果如下:   协议名:http   主机名:localhost   端口:8080   对象路径:/simple.htm 2、把以上部分结合本机自己的信息

HTTP 请求头 响应头

允我心安 提交于 2019-12-01 07:47:18
常用请求头: 协议头 说明 示例 状态 Accept 可接受的响应内容类型(Content-Types)。 Accept: text/plain 固定 Accept-Encoding 可接受的响应内容的编码方式。 Accept-Encoding: gzip, deflate 固定 Accept-Datetime 可接受的按照时间来表示的响应内容版本 Accept-Datetime: Sat, 26 Dec 2015 17:30:00 GMT 临时 HTTP Cache-Control 用来指定当前的请求/回复中的,是否使用缓存机制。 Cache-Control: no-cache 固定 Cookie 由之前服务器通过Set-Cookie(见下文)设置的一个HTTP协议Cookie Cookie: $Version=1; Skin=new; 固定:标准 8 Content-MD5 请求体的内容的二进制 MD5 散列值(数字签名),以 Base64 编码的结果 Content-MD5: oD8dH2sgSW50ZWdyaIEd9D== 废弃 MIME POSTPUT Date 发送该消息的日期和时间(以 RFC 7231 中定义的"HTTP日期"格式来发送) Date: Dec, 26 Dec 2015 17:30:00 GMT 固定 From 发起此请求的用户的邮件地址 From:

http报文头域详解

自作多情 提交于 2019-11-30 02:54:00
不管是请求报文还是响应报文,都由起始行,报文头域, 空行, 报文主体构成 请求报文 的报文头域又分为 请求头域,通用头域,实体头域 响应报文 的报文头域又分为 响应头域,通用头域,实体头域 通用头域 通用头域包含请求和响应消息都支持的头域 ,对通用头域的扩展要求通讯双方都支持此扩展,如果存在不支持的通用头域,一般将会作为实体头域处理。 通用头域包含Cache-Control、 Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。 下面简单介绍几个在UPnP消息中使用的通用头域。 Cache-Control : 指定请求和响应遵循的缓存机制。在 请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。   请求时的缓存指令包括no-cache、no- store、max-age、max-stale、min-fresh、only-if-cached,   响应消息中的指令包括public、 private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、 max-age。   各个消息中的指令含义如下:     Public 指示响应可被任何缓存区缓存。     Private 指示对于单个用户的整个或部分响应消息