可参考的内容的总结
http请求
http请求是指从客户端到服务器端的请求消息,主要包括对资源的请求方法、资源的标识符及使用的协议。
当浏览器向Web服务器发出请求,它向服务器传递请求信息,请求由3部分组成:
1). 请求方法的URI协议/版本;
2). 请求头(Request Header);
3). 正文;
请求的第一行是“方法URI协议/版本” ,例:GET/demo.jsp HTTP/1.1
“GET” ——代表请求方法
“/demo.jsp”—— 表示URI
“HTTP/1.1” ——代表协议和协议的版本
请求头包含许多有关的客户端环境和请求正文的有用信息。例如,请求头可以声明浏览器所用的语言,请求正文的长度等。
请求头和请求正文之间是一个空行,表示请求头已经结束。
请求正文中可以包含客户提交的查询字符串信息。
URL参数
例:http://localhost:8080/servletAttributeVisibility/privateSum?number=10
参数可以直接拼接在URL后面,?
前是接口请求的地址,后面是传递的参数,可以是多个,用 &
连接。
URL方便简单,页面跳转快。但get方法的参数长度可能很长,浏览器对URL长度有限制(不超过2048k),而且因为是明文传递,不安全。
请求参数方式
http的请求参数方式主要有下面几种:
大多数时候我们用Post和Get。但post和get的本质相同,都是TCP链接。
1)Get
请求行 例:GET /search/users?q=JakeWharton HTTP/1.1
URL为 /search/users?q=JakeWharton
,协议为 HTTP1.1
。
GET 用于信息获取,而且安全、幂等,会被浏览器主动缓存(若下一次传输的数据相同,返回缓存中的内容,显示数据更快),只产生一个 TCP 数据包。
安全性指该操作用于获取信息而非修改信息。GET请求一般不产生副作用,仅仅获取资源信息,不会修改、增加数据,不影响资源状态。
幂等性指调用URL 的次数不影响结果的 HTTP 方法。
TCP数据包:https://blog.csdn.net/weixin_44809632/article/details/106483711
2)Post
请求行 例:POST /demo/randomFile/cm HTTP/1.1
/test/tupian/cm
是请求Web服务器的目录地址(或者指令),HTTP/1.1
:是URI(统一资源标识符)及其版本。
POST 表示可能修改变服务器上的资源的请求,有可能修改服务器上的资源,不符合安全和幂等性。POST 方法的请求信息是放置在请求数据中,所以它的请求信息没有长度限制。
它会产生两个 TCP 数据包,浏览器先将请求头发送给服务器,响应后再发送请求数据。
借鉴:
百度百科、
https://blog.csdn.net/YoungJ_Zhou/article/details/82765782、https://wenku.baidu.com/view/6ebd08185427a5e9856a561252d380eb63942349.html、
https://blog.csdn.net/madmk/article/details/97246761、https://blog.csdn.net/YoungJ_Zhou/article/details/82765782(写得太好了!!)