超文本传输协议:定义了客户端和服务器通信时,发送的报文的格式
1.无连接,一次请求一次相应
2.无状态,每次请求独立,不能交互
3.媒体独立,媒体只要看得懂,就能用http
4.默认端口80
历史版本:
1.0:每一次请求响应都会建立新的连接
1.1:复用连接
1.请求行
请求方式 请求url 请求协议/版本
GET /login.html HTTP/1.1
请求方式: http协议中有7中请求方式,常用的有2种
GET:
1.请求参数在请求行中,在url后
2.请求的url长度有限制
3.不安全
POST:
1.请求的参数在请求体中
2.请求的url长度没有限制
3.相对安全
2.请求头
请求头名称:请求头值
常见的请求头
Host: host
User-Agent:浏览器告诉服务器,浏览器访问服务器使用的版本信息,可以在服务器端去获取该头的信息来解决浏览器的兼容性问题。
Accept:告诉服务器浏览器可接受的文件格式如text/html,application/xhtml+xml,application/xml,*/*
*/*指全部都能接收
Accept-Language
Accept-Encoding
Referer: 告诉服务器,当前的请求从哪来。
作用1:防盗链,盗链指链接其他网站的资源为自己的网站牟利,解决方案在服务器判断
if(referer.equals("XXXXXX")){
实现正常功能
}else{
对盗链方的操作
}
作用2:统计工作
Connection:如keep-alive,表示连接可以被复用
Upgrade-Insecure-Requests:1
该指令用于让浏览器自动升级请求从http到https,用于大量包含http资源的http网页直接升级到https而不会报错.简洁的来讲,就相当于在http和https之间起的一个过渡作用.
举例: <img src=“http://demo.com/demo.png”> 在https中该资源会被理解为 <img src=“https://demo.com/demo.png”> 而不会报错
3.请求空行
空行
4.请求体
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。