HTTPS请求
网站访问请求流程:浏览器发起向服务器发起请求如果有代理会先到代理中代理再发送到服务器里 返回也是同理先到代理中如何在返回给浏览器
Http和Https
Http是明文传输的
https是加密传输的 抓包获取的信息都是被加密过的
Request请求数据包格式:
1:请求行:请求类型/请求资源路径 协议的版本和类型
2:请求头:一些键值对,浏览器与web之间都可以发生,某种特定的含义
3:空行:请求头与请求体之间用一个空行隔开;
4:请求体要发送的数据(一般post提交会使用)例:user=123&pass=123
例:
#Request
Post /adduser Http/1.1
Host:localhost:8030
Connection: keep-alive
Content-Length 16
Pragma: no-cache
Cache-control:no-cache
Origin:chrome-extension://fdmmgilgnpjigdojojpjoooidkmcomcm
User-Agent:Mozilla/5.0(windows NT 6.1; win64; x64)
AppleWebkit/537.36(KHTML,like Gecko) Chrome /66.0.3359.81 safari/537.36
Content-Type:application/w-www-form-urlencoded
Accept:* / *
Accept-Encoding:gzip, deflate,br
Accept-Language:zh-CN,zh:q=0.9
#请求行由三个标记组成:请求方法 请求URL,和HTTP版本,它们用空格分享。
例如:GET/index.html http/1.1
Http规定了八种可能的请求方法:
GET:检索URL中标示的简单资源一个简单请求
HEAD:与GET方法相同 服务器只返回状态行和头标,并不返回请求文档
POST:服务器接受被写入客户端输出流中数据的请求
PUT:服务器保存URL作为指定URL新内容的请求
DELETE:服务器删除URL中命令的资源请求
OPTIONS:关于服务器支持的请求方法信息的请求
TRACE:web服务器反馈HTTP请求和头标请求
CONNECT:已文档化,当当前未实现的一个方法,预留做隧道处理
1:请求头
2:由关键字/值对组成,每行一对,关键字和值用冒号分享。请求头标通知服务器腾于客户端的功能和标识。
3:HOST:主机或域名
4:Accept:指浏览器或其他客户可以接受的MIME文件格式。 Servlet可以根据它判断并返回适当的文件格式
5:User-Agent:是客户浏览器名称
6:Accept-Langeuage:指浏览器可以接受的语言种类,如en或en-us,指英语
7:connection用来告诉服务器是否可以维持固定的Http链接。Http是无连接的,Http/1.1 使用Keep-Alive为默认值,这样当浏览器需要多个文件时(比如一个HTML文件和相关的图形文件),不需要每次do建立链接
8:Cookie:浏览器用这个属性向服务器发送cookie。cookie是在浏览器中寄存的小型数据体,它可以记载和服务器相关的用户信息,也可以用来实现会话功能。
9:Referer:表明产生请求的网页URL。 比如从网页/icconcept/index.jsp中点击一个链接到网页/icwork/search,在向服务器发送的GET/icwork/serch中的请求,Referer是http://hostname:8080/icconcept/index.jsp。 这个属性可以用来追踪web请求是从什么网站来的
10:Content-Type 用来表明request的内容类型。可以用HttpServletRequest的getContentype()的方法获得
11:sever:中间件
11:Accept-Charset:指浏览器可以接受的字符编码。英文浏览器的默认值是ISO-8859-1.
12:Accept-Encoding:指出浏览器可以接受的编码方式。编码方式不同于文件格式,它是为了压缩文件并加速文件传递速度。浏览器在接收到web响应之后先了解码,如何在检查格式
13:空行:最后一个请求头标之后是空行,发送回车符和退行,通知服务器以下不再有头标。
14:请求数据:使用post传送,最常使用的是Conten-Type 和content-Length 头标。
Response:返回数据包 格式
1:状态行:协议版本,数字形式的状态代码和状态描述,个元素之间以空格分隔
2:响应头标:包含服务器类型,日期,长度,内容类型等
3:响应数据:浏览器会将实体内容的数据取出来,生成相应的页面
4:空行:响应头与响应体之间用空行隔开
Http响应码:
102:信息请求收到继续处理
202:成功行为被成功地接受,理解和采纳
302:重定向 为了完成请求必须进一步执行操作
402:客户端错误
502:服务器错误
200:存在文件
403:存在文件夹
3xx:均可能存在
404:不存在文件及文件夹
500:均可能存在
响应头标:像请求头标一样,它们指出服务器的功能,标识出响应数据的细节。
空行:最后一个响应头标之后一个是空行,发送回车符和退行,表明服务以下不再有头标。