JavaWeb 之 Http
0x01:为什么会有Http?
在 HTTP 建立之初,主要目的就是为了将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器
0x02:什么是Http?
http是一个简单的,请求-响应协议,是超文本传输协议,通常运行在TCP之上
https是http的安全版本
0x03:Http的发展
http1.0:客户端与服务端连接,只能获得一个web资源
http2.0:客户端与服务端连接,可以获得多个web资源
0x04:Http请求
客户端 --------Request----------- 服务端
请求头
Request URL:https://www.baidu.com/ //请求地址
Request Method:GET //get方法/post方法
Status Code:200 OK //状态码:200
Accept: //告诉浏览器,它所支持的数据类型
Accept-Encoding: //支持哪种编码格式(GBK,UTF-8,GB2312,ISO8859-1)
Accept-Language: //告诉浏览器,它的语言环境
Cache-Control: //缓存控制
Connection: //告诉浏览器,请求完成是断开还是保持连接
HOST: //主机
请求行
- 请求方式: GET,POST,(HEAD,DELETE,PUT,TRACT)
- GET:请求携带参数较少,有大小限制,会在浏览器URL地址栏显示数据内容
- POST:参数不限,大小不限,不显示数据内容
从请求方式看,没有过多限制的POST效率不如GET,但是安全性强于GET
0x05:Http响应
Bdpagetype: 2
Bdqid: 0xa06ecf7f00038ae9
Cache-Control: private
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html;charset=utf-8
Date: Fri, 01 Jan 2021 04:48:46 GMT
Expires: Fri, 01 Jan 2021 04:48:46 GMT
Server: BWS/1.1
Set-Cookie: BDSVRTM=175; path=/
Set-Cookie: BD_HOME=1; path=/
Set-Cookie: H_PS_PSSID=33425_1426_33306_31660_33351_33313_33312_33311_33310_33309_26350_33308_33307_33268_33394_33370; path=/; domain=.baidu.com
Strict-Transport-Security: max-age=172800
Traceid: 1609476526037233921011560405437874670313
Transfer-Encoding: chunked
X-Ua-Compatible: IE=Edge,chrome=1
Cache-Control //缓存控制
Connection: keep-alive //连接
Content-Encoding:gzip //编码
Content-Type:text/html //类型
响应状态码
- 200 成功
- 302 重定向
- 402 web资源不存在
- 500 服务器代码错误
- 502 网关错误