HTTP协议请求响应报文相关介绍
1.相关概念
1.1 TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据;
1.2 HTTP协议是基于TCP之上的,当浏览器须要从Server获取网页数据的时候,会发出一次HTTP请求。HTTP会通过TCP建立起一个到server的连接通道。当本次请求须要的数据完成后,HTTP会马上将TCP连接断开,这个过程是非常短的。所以HTTP连接是一种短连接,是一种无状态的连接。所谓的无状态,是指浏览器每次向Server发起请求的时候,不是通过一个连接,而是每次都需要建立一个新的连接;
1.3 我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、TELNET等;
1.4 HTTP(超文本传输协议)是利用TCP在两台电脑(通常是Web服务器和客户端)之间传输信息的协议。客户端使用Web浏览器发起HTTP请求给Web服务器,Web服务器发送响应的信息给客户端或浏览器;
注意:浏览器给服务器发送数据是一次请求(request)。服务器给浏览器反馈数据是一次响应(response);
2.HTTP报文
- 协议是用来定义数据传输的格式,那么按照一定格式形成的数据包即报文,也可以叫数据报;
- HTTP 报文分三个部分:起始行(请求行 - 响应行/状态行),头部(请求头/消息 - 响应头/消息头),主体(请求体/实体内容 - 响应体/实体内容);
- HTTP 报文分为请求报文和响应报文;
HTTP请求报文,包括如下:
说明:
- 请求方法(也叫请求方式)有很多,后期需要掌握Get和Post两种即可;
- URL(Uniform/Universal Resource Locator)是统一资源定位符,俗称请求网址。URI(Uniform Resource Identifier) 是统一资源标识符,俗称请求资源路径。http://localhost:8080/myweb/hello.html以上web地址,加粗部分+非加粗部分=URL。非加粗部分=URI;
- 与Http1.0不同(连接一次,请求一次,响应一次。响应完毕,马上断开连接。如果还需要请求,需要重新连接),从HTTP/1.1(连接一次,请求多次,响应多次)起,默认都开启了Keep-Alive,保持连接特性,简单地说,当一个网页打开完毕后。client和server之间用于传输HTTP数据的TCP连接不会关闭,假设client再次訪问这个server上的网页,会继续使用这一条已经建立的连接。但Keep-Alive不会永久保持连接。它有一个保持时间。能够在不同的server软件(如Apache)中设定这个时间;
- 部分消息头:
- Accept:告诉服务器能够发送哪些媒体类型;
- Referer:告诉服务器该网页是从哪个页面链接过来的;
- Accept-Language:告诉服务器能够发送哪些语言;
- User-Agent:告诉网站服务器,访问者是通过什么工具来请求的,如果是爬虫请求,一般会拒绝,如果是用户浏览器,就会应答;
- Host:HTTP 1.1 协议中新增的一个请求头,主要用来实现虚拟主机技术。同一台服务器部署多个服务,可以依靠虚拟主机来区分,而Host 请求头决定着访问哪个虚拟主机;
- Content-type:用于描述该请求来自于表单默认的提交数据的格式(application/x-www-form-urlencoded);
- Connection:为keep-alive在很多情况下能够重用连接,减少资源消耗,缩短响应时间。所以在HTTP1.1中缺省就是支持keep-alive的;
- Content-Length:用于描述HTTP消息实体的传输长度;
- Cookie:客户端用它向服务器传送一个令牌。注意它并不是真正的安全首部,但确实隐含了安全功能;
HTTP响应报文,包括如下:
HTTP协议请求响应报文相关介绍相关推荐
- http :请求响应报文-web服务-ajax-cors跨域
node:http 协议:请求响应报文-web服务-url与对象的转化-ajax-cors跨域 1 梳理重点 1.1搭建服务 注意: ① 站点创建完成后,需要通过node命令启动 ② 创建站点的代码如 ...
- 【HTTP协议】HTTP请求/响应报文结构
文章内容 HTTP请求/响应报文结构 请求报文 1.请求行 2.请求头部 3.空行 4.请求数据 响应报文 1.响应行 2.响应头 3.响应体 通用头.实体头 (1) 通用头域 (2) 实体头域 如果 ...
- HTTP请求/响应报文结构
HTTP请求/响应报文结构 HTTP请求报文 一个HTTP请求报文由四个部分组成:请求行.请求头部.空行.请求数据. 1.请求行 请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它 ...
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第37讲:HTTP协议请求(响应)
陈力:传智播客古代 珍宝币 泡泡龙游戏开发第37讲:HTTP协议请求(响应) 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.h ...
- HTTP - 超文本传输协议 - 请求响应式协议HTTP 请求
HTTP - 超文本传输协议 - 请求响应式协议 HTTP 请求 请求行:GET /index.html HTTP/1.1 请求头:键值对 空行:\r\n 消息体:发给服务器的数据 HTTP 响应 响 ...
- HTTP请求/响应报文头部结构
HTTP请求 一个HTTP请求由四个部分组成:请求行.请求头部.空行.请求数据. -请求行 请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔.比如 GET /data ...
- python之http请求响应报文
1. HTTP 请求报文介绍 HTTP最常见的请求报文有两种: GET 方式的请求报文 POST 方式的请求报文 说明: GET: 获取web服务器数据 POST: 向web服务器提交数据 2. HT ...
- http状态码 以及请求响应头相关
1xx消息[编辑] 这一类型的状态码,代表请求已被接受,需要继续处理.这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束.由于HTTP/1.0协议中没有定义任何1xx状态码,所以除非 ...
- 使用java解析Infor XA ERP SystemLink请求响应报文
Infor XA ERP的SystemLink响应报文是一段比较复杂的xml,里面记录了操作是否成功的状态以及操作结果或者错误说明. 对SystemLink解析,就是从响应的xml报文里面解析出操作结 ...
最新文章
- php tr 用法,Linux_Linux系统中tr命令删除和替换文本字符的基本用法,通过使用 tr,您可以非常容易 - phpStudy...
- 浅谈MVC Form认证
- php imap 安装_linux 下安装PHP的IMAP扩展实现邮件收发
- 首次使用gradle出现Could not find method leftShift() for arguments解决办法
- sql注入及mybatis防止sql注入
- UE3 ExampleGame Android版无法运行解决方案
- LeetCode 之 JavaScript 解答第141题 —— 环形链表 I(Linked List Cycle I)
- 编译mediastreamer2/ffmpeg/linphone(x86平台)
- Jenkins操作手册
- JVM堆外内存的回收机制分析
- php大文件上传失败的原因及解决方法
- win11如何创建访客账户 windows11创建访客账户的设置方法
- nginx配置 负载均衡_如何配置NGINX负载平衡
- netlogo-入门-学习记录
- Java、JSP房产中介房屋信息管理系统
- 读后感之悟道-一位20年IT高管的职场心得
- 使用arduino驱动光驱步进电机
- 小米手机miui版本号详细介绍
- Spire.XLS使用教程:在Java中将 Excel 转换为 CSV或将CSV转换为Excel
- vue学习笔记(一) ---- vue指令(过滤器)