HTTP学习笔记6-请求报头
29,请求报头:
请求报头允许客户端向服务器端传递该请求的附加信息以及客户端自身的信息。
30,Accept:
Accept请求报头域用于指定客户端接受哪类型的信息,例如:Accept: image/gif,表明客户端希望接受GIF图像格式的资源;Accept:text/html,表明客户端接受html文本。
31,Accept-Charset:
Accept-Charset请求报头域用于指定客户端接受的字符集。例如:Accept-Chartset:iso-8859-1,gb2312.如果在请求消息中没有设置这个域,缺省是任何字符集都可以接受。
32,Accept-Encoding:
Accept-Encoding请求报头域类似于Accept,但是它是用于指定可接受的内容编码。例如:Accept-Encoding:gzip,deflate。如果请求中没有设置这个域,服务器假定客户端对各种内容编码都可接受。
33,Accept-Language:
Accept-Language请求报头域类似于Accept,但是它是用于指定一种自然语言。例如:Accept-Language:zh-cn。如果请求消息中没有设置这个域,服务器假定客户端对各种语言都可以接受。
34,Authorization
Authorization请求报头域主要用于证明客户端有权查看某个资源。当浏览器访问页面是,如果收到服务器的响应代码为401(未授权),可以发送一个包含Authorization请求报头域的请求,要求服务器对其进行验证
35,Host
Host请求报头域主要用于指定被请求资源的Intenert主机和端口号,他通常是从HTTP URL中提取出来的。例如:在浏览器的地址栏输入:http://www.baidu.com/index.html
浏览器发送的请求消息中就会包含Host请求报头域,如下:
Host:www.baidu.com
后面没有跟端口号,表明使用缺省端口80,如果不是80端口,那就要在主机后面加上一个冒号:然后跟上端口号,例如:
Host:www.baidu.com:8080
注意:在发送HTTP请求的时候,这个报头域是必需的。
36,User-Agent
User-Agent请求报头域允许客户端将它的操作系统、浏览器和其他属性告诉服务器,不过这个报头域不是必需的,如果我们自己编写一个浏览器,不实用User-Agent请求报头域,那么服务器端就无法得知我们的信息了。
37,消息报头-相应报头
响应报头允许服务器传递不能放在状态行中的附加响应信息,以及关于服务器的信息和对Request-URI所标识的资源进行下一步访问的信息。
38,Location:
Location响应报头域用于重定向接受者收到一个新的位置。例如:客户端所请求的页面已不在原先的位置,为了让客户端重定向到这个页面新的位置,服务端可以发回Location响应报头域。这种情况还经常发生在变更域名的时候,在就得域名所对应的服务上保留一个文件,然后使用重定向语句,让客户端去访问新的域名所对应的服务器上饿资源。当我们在jsp中使用重定向语句的时候,服务器端向客户端发回的响应报头中,就会有Location响应报头域。下面是Location响应报头域的一个例子:
Location: http://www.baidu.com
39,Server
Server响应报头域包含了服务器用来处理请求的软件信息。他和User-Agent请求报头域是向对应的,前者发送服务器端软件的信息,后者发送客户端软件(浏览器)和操作系统的信息。
下面是Server响应报头域的一个例子:
Server: Apache-Coyote/1.1
40,WWW-Authenticate
WWW-Authenticate响应报头域必须包含在401(未授权的)响应消息中,这个报头域和前面讲到的Authenticate请求报头域是相关的,当客户端收到401响应消息,就要决定是否请求服务器对其进行验证。如果要求服务器对进行验证,就可以发送一个包含了Authorization报头域的请求,下面在WWW-Authenticate响应报头域的一个例子:
WWW-Authenticate: Basic realm=”Basic Auth Test!”
从这个响应报头域,可以知道服务器端对我们所请求的资源采用的是基本验证机制。
HTTP学习笔记6-请求报头的更多相关文章
- Django:学习笔记(4)——请求与响应
Django:学习笔记(4)——请求与响应 0.URL路由基础 Web应用中,用户通过不同URL链接访问我们提供的服务,其中首先经过的是一个URL调度器,它类似于SpringBoot中的前端控制器. ...
- HTTP学习笔记7-消息报头
41,消息报头-实体报头 请求和响应消息可以传送一个实体.一个实体由实体报头域和实体正文组成,在大多数情况下,实体正文就是请求消息中的请求正文或者响应消息中的响应正文.但是在发送时,并不是说实体报头域 ...
- HTTP学习笔记5-常用报头
24,在普通报头中,有少数报头域应用域所有的请求和响应消息,但并不用于被传输的实体,这些报头域只用于传输的消息. 25,常用的普通报头Cache-Control: Cache-Control普通报头域 ...
- Tornado学习笔记(三) 请求方式/状态码
本章我们来学习 Tornado 支持的请求方式 请求方式 Tornado支持任何合法的HTTP请求(GET.POST.PUT.DELETE.HEAD.OPTIONS).你可以非常容易地定义上述任一种方 ...
- iOS学习笔记---网络请求
一.HTTP协议的概念 HTTP协议:Hyper Text Transfer Protocol(超文本传输协议)是用于从万维网服务器传送超文本到本地浏览器的传输协议.HTTP是一个应用层协议,由请求和 ...
- angular2 学习笔记 ( Http 请求)
refer : https://angular.cn/docs/ts/latest/guide/server-communication.html https://xgrommx.github.io/ ...
- java web Servlet学习笔记-2 请求重定向和请求转发的区别
请求转发与请求重定向的区别 请求重定向和转发 1.请求重定向:浏览器的行为(通过响应对象HttpServletResponse来执行) 特点:可以重新定向访问其他Web应用下的资源 浏览器发出了2次请 ...
- Laravel5.1学习笔记5 请求
HTTP 请求 #取得请求实例 #基本的请求信息 #PSR-7 请求 #取出输入数据 #旧的输入 #Cookies #文件 #取得请求实例(此部分文档5.1完全重写,注意) 要通过依赖注入获取当前HT ...
- Angular5学习笔记 http请求
在anular4更新到angular5后,有些模块也发生了有些变化,例如http模块. 首先在app.module.ts里面引入HttpClientModule import { HttpClient ...
随机推荐
- ADO.NET和ORACLE操作数据库传参数赋值的方式
在使用.Net使用OracleParameter进行Oracle数据库操作的时候,因为Oracle和SQLServer针对查询参数化的语法不同, 在操作SQLServer的时候使用的是@Paramet ...
- CSS控制表单
一个简单的网站注册页面制作. 创建CSS文件如下: @charset "utf-8"; /* CSS Document */ * { margin: 0px; padding: 0 ...
- (转)JS的parent对象
---http://blog.sina.com.cn/s/blog_a15aa5690101a5yz.html top:该变更永远指分割窗口最高层次的浏览器窗口.如果计划从分割窗口的最高层次开始执行命 ...
- (转)PHP自定义遍历目录下所有文件dir(),readdir()函数
方法一:使用dir()遍历目录 dir()函数,成功时返回Directory类实例 PHP dir() 语法格式为: dir(directory);//directory为需要显示文件名的目录名称,可 ...
- iOS和hybird移动端性能
作为一名写了⑦年代码的程序员,目前我最擅长的领域是IOS的客户端开发,在移动领域的开发时间2年. ⑦年前,我刚入行的时候,曾经认为自己将会永远做一个LINUX 服务端C++程序员,于是花了大 ...
- javaScript 手写图片轮播
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- hibernate_validator_05
校验约束 一,认识Validator---Validation中最主要的接口 1.怎么获取一个Validator--Validation.buildDefaultValidatorFactory() ...
- Java笔试知识总结(第一回)
- statistic学习笔记
1. 假设检验:就是对于符合一定前提条件的数据,先作一个假设H0,还有一个备择假设H1(一般是H0的反面,或者是H0不包含的情况),通过一定的计算公式,算出一个值(比如开方检验就是开方值),这个值的理 ...
- plist解析, 简易实现.
源码 class Xml { public: typedef std::pair<std::wstring, std::wstring> NodeT; static std::vector ...