HTTP协议相关知识点
HTTP协议——用于用WWW服务器传输资源到本地浏览器的传输协议。基于TCP的应用层协议,用来规定客户端和服务端的数据传输格式,默认端口80
HTTP请求只有两部分——请求报文、响应报文
请求报文:
请求行:请求方法+URL+HTTP/版本号
请求头
空一行
请求体(get协议没有请求体)
响应报文:
响应行
响应头
空一行
响应体(也不一定有)
请求报文解析:
请求方法:get post head put delete options trace
URL——统一资源定位符
格式:schema://host[:port#]/path/.../[?query-string]
schema:协议——http https ftp等
host:域名或者IP地址
port:端口
path:资源路径
query-string:发送的参数
如:https://www.baidu.com/s?wd=XXX
请求头:
host——主机IP或者域名
user-agent——客户端相关信息,兼容的时候用
accept——客户端接收的信息类型:image/jpg/text/html/application/json等
accept-charset——客户端接受的字符集
accept-encoding——可接受的内容编码,如gzip
accept-language——语言
authorization——鉴权
cookie——携带的cookie信息,本地保存的
referer——当前文档的url
content-type——例如:application/x-www-form-url
content-length——数据长度
cache-control——缓存机制,如:no-cache
get post区别:
1.安全与否
2.get长度有限制
3.get后退无影响,post后退重新提交
4.get可以被缓存,post不可以
5.get只URL编码,post支持多种编码方式
6.get请求的记录会留在历史记录中,post请求不会
7.get只支持ASCII字符,post没有字符类型限制
8.get效率高
响应报文解析:
响应行:
HTTP/版本号 状态码 原因
状态码:
2XX:成功
3XX:重定向相关【304 未修改此次请求返回的网页未修改,继续使用上次的资源。
4XX:客户端错误
5XX:服务端错误
响应头:
server——HTTP服务器的软件信息
date——响应报文的时间
expires——缓存过期时间
set-cookie——保存cookie
……
connection——如keep-alive,即保存TCP连接不关闭
location——指明重定向的地址,新URL地址,如304的时候
