老李分享:HTTP协议之请求和响应

HTTP请求头详解:

GET http://www.foo.com/ HTTP/1.1

GET是请求方式,请求方式有GET/POST

http://www.foo.com/是请求的服务器地址

HTTP/1.1表示HTTP协议的版本,一般有1.1 , 1.0 ,0.9版本
Host: www.foo.com

请求主机的名称HostName

Connection: keep-alive

Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时Keep-Alive功能避免了建立或者重新建立连接

Cache-Control: max-age=0

Cache-Control属性为控制页面缓存,常见的值有常见取值有private、no-cache、max-age、must- revalidate等,默认为private;max-age设定网页缓存时间;

User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.3 Safari/535.19

用来表明身份,从这里可以看到操作系统、浏览器以及浏览器内核和对应版本号的具体信息

Referer: http://www.baidu.com/

当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器请求是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

告诉服务器当前客户端可以接收的文档的类型。其实这里包含了*/*,就表示什么都可以接收;
Accept-Encoding: gzip,deflate,sdch

Accept-Encoding表示浏览器有能力解码的编码类型;
Accept-Language: zh-CN,zh;q=0.8

Accept-Language表示浏览器所支持的语言类型;

zh-cn表示简体中文;zh 表示中文;

q是权重系数,范围 0 =< q <= 1,q 值越大,请求越倾向于获得其“;”之前的类型表示的内容,若没有指定 q 值,则默认为1,若被赋值为0,则用于提醒服务器哪些是浏览器不接受的内容类型。

Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3

浏览器支持的字符编码分别是 GB2312、utf-8 和任意字符,优先顺序是 GB2312、utf-8、*。
Cookie: SESSIONID=58AB420B1D8B800526ACCCAA83A827A3:FG=1

通过Cookies进行会话跟踪,第一次响应的时候设置的Cookies在随后的每次请求中都会发送出去,Cookies还可以包括登录认证后的身份信息。

Chache-Control的详解:

其作用根据不同的重新浏览方式分为以下几种情况: 
(1) 打开新窗口如果指定cache-control的值为private、no-cache、must-revalidate,那么打开新窗口访问时都会重新访问服务器。而如果指定了max-age值,那么在此值内的时间里就不会重新访问服务器,例如: Cache-control: max-age=5 表示当访问此网页后的5秒内再次访问不会去服务器。 
(2) 在地址栏回车如果值为private或must-revalidate(和网上说的不一样),则只有第一次访问时会访问服务器,以后就不再访问。如果值为no-cache,那么每次都会访问。如果值为max-age,则在过期之前不会重复访问。 
(3) 按后退按扭如果值为private、must-revalidate、max-age,则不会重访问,而如果为no-cache,则每次都重复访问。 
(4) 按刷新按扭无论为何值,都会重复访问 当指定Cache-control值为“no-cache”时,访问此页面不会在Internet临时文章夹留下页面备份。另外,通过指定“Expires”值也会影响到缓存。例如,指定Expires值为一个早已过去的时间,那么访问此网时若重复在地址栏按回车,那么每次都会重复访问: Expires: Fri, 31 Dec 1999 16:00:00 GMT 在ASP中,可以通过Response对象的Expires、ExpiresAbsolute属性控制Expires值;通过Response对象的CacheControl属性控制Cache-control的值,例如: Response.ExpiresAbsolute = #2000-1-1# ' 指定绝对的过期时间,这个时间用的是服务器当地时间,会被自动转换为GMT时间 Response.Expires = 20 ' 指定相对的过期时间,以分钟为单位,表示从当前时间起过多少分钟过期。 Response.CacheControl = "no-cache" Expires值是可以通过在Internet临时文件夹中查看临时文件的属性看到的。

HTTP响应头详解:

HTTP/1.1 200 OK

响应协议为HTTP1.1,状态码为200,表示请求成功,OK是对状态码的解释

Date: Sun, 04 Mar 2012 22:48:31 GMT

响应的时间

Server: Apache/2.2.8 (Win32) PHP/5.2.6

表示服务端的一些信息:Web 容器、操作系统、服务端语言及对应的版本。

Set-Cookie: PTOKEN=; expires=Mon, 01 Jan 1970 00:00:00 GMT; path=/; domain=.foo.com; HttpOnly

Set-Cookie: USERID=c7888882e039b32fd7b4d3; expires=Tue, 01 Jan 2030 00:00:00 GMT; path=/; domain=.foo.com

响应给客户端的Cookie;

每个 Set-Cookie 都设置一个 Cookie(key=value 这样),随后是如下内容。

expires:过期时间,如果过期时间是过去,那就表明这个 Cookie 要被删。

path:相对路径,只有这个路径下的资源可以访问这个 Cookie。

domain:域名,有权限设置为更高一级的域名。

HttpOnly:标志(默认无,如果有的话,表明 Cookie 存在于 HTTP 层面,不能被客户

端脚本读取)。

Secure:标志(默认无,如果有的话,表明 Cookie 仅通过 HTTPS 协议进行安全传输)。

X-Powered-By: PHP/5.2.6

Content-Length: 3635 K

响应体的长度。

eep-Alive: timeout=5, max=100

Connection: Keep-Alive

Content-Type: text/html;charset=gbk

响应资源的类型与字符集。针对不同的资源类型会有不同的解析方式,这个会影响浏

览器对响应体里的资源解析方式,可能因此带来安全问题。字符集也会影响浏览器的解码

方式,同样可能带来安全问题

<html> ... </html>

转载于:https://blog.51cto.com/10988776/1725567

老李分享:HTTP协议之请求和响应相关推荐

  1. http服务器响应格式,熟悉Http协议的请求和响应格式,编写一个简单的Http服务器。 基本要求:1 正确解...

    熟悉Http协议的请求和响应格式,编写一个简单的Http服务器. 基本要求: 1 正确解 2016-08-23 0 0 0 暂无评分 其他 1 积分下载 如何获取积分? 熟悉Http协议的请求和响应格 ...

  2. pyqt designer connect无响应_【JavaWeb】HTTP协议的请求与响应

    HTTP协议 超文本传输协议 Hyper Text Transfer Protocol HTTP的作用 规范浏览器与服务器的数据交换的格式思考:没有HTTP协议会怎样?没有 HTTP 协议也可以,但是 ...

  3. Http协议的请求和响应

    1.HTTP协议介绍 HTTP(HyperTextTransferProtocol):超文本传输协议. HTTP协议是基于TCP/IP协议的. 基于请求/响应模型的: 一次请求对应一次响应. 传输协议 ...

  4. 取消发送option请求_【JavaWeb】HTTP协议的请求与响应

    HTTP协议 超文本传输协议 Hyper Text Transfer Protocol HTTP的作用 规范浏览器与服务器的数据交换的格式思考:没有HTTP协议会怎样?没有 HTTP 协议也可以,但是 ...

  5. HTTP协议(5)HTTP请求和响应

    之前曾介绍过,所有的HTTP通信都被构造成一对HTTP请求和HTTP响应,HTTP协议的请求与响应报文都是由"首部header"和"主体body"两部分组成的. ...

  6. HTTP请求和响应过程

    HTTP请求和响应过程 1.HTTP协议 Internate的基本协议是TCP/IP(传输控制协议和网际协议).而目前使用的FTP,HTTP都是建立在TCP/IP上的应用层协议.不同的协议对应不同的应 ...

  7. http请求与响应,同步异步请求以及异步请求axios的配置

    文章目录 http http简介,协议 http请求 http响应 接收请求行请求头数据 同步异步请求 异步请求axios的配置 配置文件 http http简介,协议 http是超文本传输协议 (H ...

  8. 老李分享:https协议

    老李分享:https协议 最近我们看到很多站点使用 HTTPS 协议提供网页服务.通常情况下我们都是在一些包含机密信息的站点像银行看到 HTTPS 协议. 如果你访问 google,查看一下地址栏,你 ...

  9. 老李分享:HTTP协议之协议头

    老李分享:HTTP协议之协议头 当我们打开一个网页时,浏览器要向网站服务器发送一个HTTP请求头,然后网站服务器根据HTTP请求头的内容生成当次请求的内容发送给浏览器.你明白HTTP请求头的具体含意吗 ...

最新文章

  1. SNOI 2019 退役记
  2. 居然是Firefox没有抛弃我们
  3. 算法 --- 二叉树的最大深度
  4. 史上最惨锦鲤即将来袭!奖品堪比5年高考3年模拟!
  5. 使用jOOQ和JavaFX将SQL数据转换为图表
  6. Ubuntu中输入apt-get找不到安装包怎么办?
  7. SqlBulkCopy 批量复制数据到数据表
  8. tf.Variable,tf.get_variable,tf.variable_scope,tf.name_scope区别分析
  9. 删除oracle的注册,oracle数据库账号删除oracle收集系统统计信息
  10. opencv小案例 --- 证件照背景替换
  11. java 中文转拼音_Java实现汉字转换拼音功能
  12. shell脚本学习(二十八)——服务启动脚本的编写
  13. ps cc2019版为什么做图一复制图层就卡死_你所不知道的十个被藏起来的PS功能,超级实用!...
  14. 华三离别华为一周年:销售80亿元纳税8亿
  15. Linux基础命令---lp打印文件
  16. VSCODE 简单配置用户代码片段
  17. 怎么批量转换图片格式?这些方法帮助你一键转换
  18. 系统梳理总结JAVA全栈知识点,七面阿里成功斩获P8Offer
  19. 历年计算机office试题及答案,历年计算机二级MS Office真题及答案
  20. 移动金融应用面临的风险及应对

热门文章

  1. 深度!移动机器人(AGV)产业链全分析
  2. 2018AI和机器学习界的12个重大收购案
  3. 该如何对「半监督学习算法」实际性应用进行评估?Google给出了新答案
  4. 波士顿咨询:2018最具创新力企业50强
  5. 如何正确拒绝老板的加班要求?学起来!
  6. 抗住 8 亿人买买买!双 11 背后黑科技大曝光
  7. 腾讯云发布智慧能源四大新品,携手合作伙伴共建智慧能源生态圈
  8. 19.7 主动模式和被动模式 添加监控主机 添加自定义模板 处理图形
  9. 华山论剑之iOStableView的双剑合璧
  10. 背水一战 Windows 10 (40) - 控件(导航类): AppBar, CommandBar