Java第四十二天,Http协议,请求消息的数据格式

一、特点

基于TCP/IP

默认端口号为 80

基于请求响应模型:一次请求对应一次相应

无状态:每次请求之间相互独立,不能交互数据

二、历史版本

1.0:每一次请求都会建立新的连接

1.1:在一定的时间内如果再次请求会复用上一个连接

三、请求消息的数据格式

  • 请求行
  • 请求头
  • 请求空行
  • 请求体

请求行

请求方式 请求url路径 请求协议/版本


注意:
1.HTTP 的请求方式有七种
2.Get 方式的请求参数在请求行中
3.Post 方式的请求参数在请求体中
4.Get 方式的 url 长度是有限制的
5.Post 方式的 url 长度没有限制
序号 方法 描述
1 GET

发送请求来获得服务器上的资源,请求体中不会包含请求数据,请求数据放在协议头中。另外get支持快取、缓存

、可保留书签等。幂等

2 POST

和get一样很常见,向服务器提交资源让服务器处理,比如提交表单、上传文件等,可能导致建立新的资源或者对

原有资源的修改。提交的资源放在请求体中。不支持快取。非幂等

3 HEAD

本质和get一样,但是响应中没有呈现数据,而是http的头信息,主要用来检查资源或超链接的有效性或是否可以可达、检

查网页是否被串改或更新,获取头信息等,特别适用在有限的速度和带宽下。

4 PUT

和post类似,html表单不支持,发送资源与服务器,并存储在服务器指定位置,要求客户端事先知

道该位置;比如post是在一个集合上(/province),而put是具体某一个资源上(/province/123)。所以put是安全的,

无论请求多少次,都是在123上更改,而post可能请求几次创建了几次资源。幂等

5 DELETE 请求服务器删除某资源。和put都具有破坏性,可能被防火墙拦截。如果是https协议,则无需担心。幂等
6 CONNECT

HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。就是把服务器作为跳板,去访问其他网页

然后把数据返回回来,连接成功后,就可以正常的get、post了。

7 OPTIONS 获取http服务器支持的http请求方法,允许客户端查看服务器的性能,比如ajax跨域时的预检等。
8 TRACE

回显服务器收到的请求,主要用于测试或诊断。一般禁用,防止被恶意攻击或盗取信息。

请求头

Host: 资源url
User-Agent: 浏览器版本信息
Accept: 告诉服务器浏览器支持的数据格式
Accept-Language: 可支持的语言环境
Accept-Encoding: 可支持的压缩格式
Connection: 连接状态
Referer:告诉服务器当前请求的来源(用于防盗链、做统计)
Cookie: Cookie信息

请求空行

空行,用于分隔

请求体

get请求方式没有,post请求方式有;因此它的作用是封装 post 请求方式的请求参数

 

作者:蓝月

-------------------------------------------

个性签名:能我之人何其多,戒骄戒躁,脚踏实地地走好每一步

原文地址:https://www.cnblogs.com/viplanyue/p/13573681.html