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响应报文,包括如下:
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhffhkaf
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13