HTTP请求报文和响应报文
HTTP请求报文
GET / HTTP/1.1
Host: www.baidu.com
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6
Cookie: BAIDUID=4082549DEE5E64678FC46642E185D98C:
请求行:
由3部分组成,分别为:请求方法、URL、协议版本,之间由空格分隔。例如,GET /index.html HTTP/1.1。
请求头部:
Host:接受请求的服务器地址,可以是IP:端口号,也可以是域名
Connection:指定与连接相关的属性,如Connection:Keep-Alive
User-Agent:发起请求的应用程序名称
Accept:它们为服务器提供了一些额外信息,比如客户端希望接收什么类型的数据。例子中接收html,xhtml,xml等数据。
Accept-Encoding:通知服务端可以发送的数据压缩格式
Accept-Language:通知服务端可以发送的语言
Cookie:Cookie信息,客户端用它向服务器传送一个令牌——它并不是真正的安全首部,但确实隐含了安全功能
请求头部的最后会有一个空行,表示请求头部结束,接下来为请求正文
请求正文:
可选部分,比如GET请求就没有请求正文。
POST方法将请求参数封装在HTTP请求正文中,可以传输大量数据,这样POST方式对传送的数据大小没有限制,而且也不会显示在URL中。
HTTP响应报文
HTTP/1.1 200 OK
Server: bfe/1.0.8.18
Date: Tue, 20 Nov 2018 03:10:19 GMT
Expires: Tue, 20 Nov 2018 03:10:29 GMT
Content-Encoding: gzip
Content-Type: text/html; charset=utf-8
Content-Length: 277
Last-Modified: Mon, 13 Jun 2016 02:50:03 GMT
Connection: Keep-Alive
ETag: "575e1f5b-115"
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Pragma: no-cache
Accept-Ranges: bytes
状态行:
HTTP/1.1 200 OK
响应头部:
Server:服务器应用程序软件的名称和版本
Date:服务器产生响应的日期
Content-Type:响应正文的类型,例子中响应实体的主体是一个html文本。
Content-Length:所传送实体主体的长度或大小,例子中响应实体的主体包含了277字节的数据
Last-Modified:资源的最后修改日期时间
Connection:连接方式,close或keep-alive
ETag:资源的匹配信息
Cache-Control:控制缓存的行为
Pragma:报文指令
Accept-Ranges:是否接受字节范围请求
最新文章
- 快速卸载VS2015的办法
- uva111动态规划之最长公共子序列
- 清除Outlook 2013中缓存的邮件地址
- 20145218 《Java程序设计》课程总结
- Firefox 32 支持 Public Key Pinning 对抗中间人攻击。
- 源码级分析Android系统启动流程
- Linux服务器集群系统(二)--转
- JS 函数中返回另一个函数
- sqlserver 自学笔记之 常量,变量及函数
- DataTabel DataSet 对象 转换成json
- Sencha Touch vs jQuery Mobile
- unittest 框架-待优化
- javaWeb使用百度编辑器上传图片的问题
- 解决idea spring boot项目中target中没有同步更新最新目录文件及资源
- java调用webservice方法
- .net core 2.0 Unable to convert MySQL date/time to System.DateTime
- Python练习1
- shellcode 编码技术
- 2013 C#单元测试
- 【转】java并发编程系列之ReadWriteLock读写锁的使用
热门文章
- Hive记录-Sqoop常用命令
- C#设计模式(15)——迭代器模式
- 机器学习课程-第7周-支持向量机(Support Vector Machines)
- A+ B
- Python中的包ImportError
- 25. Spring Boot与缓存 JSR-107、Spring缓存抽象
- MySQL - 日常操作一 增删改查
- Java SE之反射技术[Class](三)
- python - 迭代器(迭代协议/可迭代对象)
- 11、Logback日志框架介绍和SpringBoot整合实战 2节课