简单介绍HTTP的请求(get请求和post请求)以及对应的响应的内容
链接解析:
https://oa.hbgf.net.cn/login.jsp;jsessionid=47084322738F8DB18D60752944DFD1AA
http或者https表示使用的是http协议还是https协议,后面跟的是域名,往后到?之前叫路径,?之后叫参数
http://域名//路径//?参数
多个参数用&符号连接
消息头:
请求网址:https://oa.hbgf.net.cn/resource/js/base64.js?s_cache=1575255899708
请求方法:Get
远程地址:221.230.3.228:443
状态码:200 ok
版本:HTTP/1.1
请求方法:
Get:请求获取request-URI所标识的资源
POST:在request-URI所标识的资源后附加新的数据
HEAD:请求获取由Request-URI所标识的资源的响应消息报头
PUT:请求服务器存储一个资源,并用Request-URI作为其标识
DELETE:请求服务器删除Request-URI所标识的资源
TRACE:请求服务器回送收到的请求信息,主要用于测试或诊断
CONNECT:保留将来使用
OPTIONS:请求查询服务器的性能,或者查询与资源相关的选项和需求
举例:
Post方法:要求被请求的服务器接收附在请求后面的数据,常用于提交表单。
Requests由三部分组成:请求行,请求报头,请求正文
有的浏览器请求头的上面会有一行GET 。。。叫做请求行
请求行:GET /.html HTTP/1.1
请求头:
Accept: |
*/* |
Accept-Encoding |
:gzip, deflate, br |
Accept-Language |
:zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 |
Connection: |
keep-alive |
Cookie: |
route=4ded6ae40558cd54d12e1621…84322738F8DB18D60752944DFD1AA |
Host: |
oa.hbgf.net.cn |
Referer: |
https://oa.hbgf.net.cn/login.j…084322738F8DB18D60752944DFD1AA |
User-Agent: |
Mozilla/5.0 (Windows NT 6.1; W…) Gecko/20100101 Firefox/60.0 |
各个请求头字段的含义:
Accept:用于告诉服务器,客户机支持的数据类型
Accept-Charset:告诉服务器客户机采用的编码
Accept-Encoding:告诉服务器客户机支持的数据压缩格式
Accept-Language:告诉服务器客户机所使用的语言
Host:告诉服务器,想要访问的主机名字
If-Hodified-Since:通过这个告诉服务器,资源的缓存时间
Referer:告诉服务器它是通过哪个资源来访问服务器的(防盗链)
User-Agent:客户机通过这个告诉服务器,客户机的软件环境,浏览器版本
Cookie:通过这个向服务器带数据
HTTP响应也包含三部分:状态行,消息报头,响应正文
状态行:用于描述服务器对请求的处理结果。
消息头/响应头:用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理等会它回送的数据。
响应正文:代表服务器向客户端回送的数据
状态行:HTTP/1.1 200 OK
响应头:
Accept-Ranges |
bytes |
Access-Control-Allow-Origin |
* |
Cache-Control: |
max-age=604800 |
Connection: |
keep-alive |
Content-Length: |
3075 |
Content-Type: |
application/javascript |
Date: |
Fri, 13 Dec 2019 08:36:43 GMT |
ETag: |
W/"3075-1575190034000" |
Expires: |
Mon, 09 Dec 2019 03:04:59 GMT |
Last-Modified: |
Sun, 01 Dec 2019 08:47:14 GMT |
Server: |
nginx |
响应数据:
html{ height:100%;}
body.tTemplate{
background:url(../images/body_bg.png) no-repeat right 50px #f7f7f7;
}
响应头各字段的含义:
Location:这个头配合302状态码使用,用于告诉客户找谁
Server:服务器通过这个头,告诉浏览器服务器的类型
Content-Encoding:数据压缩格式
Content-Length:告诉浏览器回送的数据长度
Content-Type:告诉刘拉起服务器回送的数据类型
Last-Modified:告诉浏览器当前资源缓存时间
Refresh:告诉浏览器隔多长时间刷新一次
Content-Disposition:告诉浏览器以下载方式打开数据
Transfer-Encoding:告诉浏览器数据传送格式
ETag:缓存相应的头
Expires:服务器通过这个头,告诉浏览器把回送的资源缓存多长时间,-1或0,则不缓存
Catch-Control:no-cache
Pragmatic:no-cache
通过上面两个头,控制浏览器要不要缓存数据
Connection: |
keep-alive,保持连接,意思是不需三次握手可以直接发请求。 |
Connection: |
close,每次发请求都要三次握手。 |
状态码:
100-199:表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程
200-299:标识成功接收请求并已完成整个处理过程,常用200
300-399:为完成请求,客户端进一步细化请求,例如,请求的资源已经移动一个新地址:常用302、307、304
400-499:客户端的请求有错误,常用404,请求链接不存在
500-599:服务器错误