HTTP协议
2019-08-14 09:44:46来源:博客园 阅读 ()
七层网络协议
- 应用层
- 终端设备,其协议由自己定,HTTP协议,DNS(域名解析)协议,FTP(文件传输)协议,SMTP(邮件传输)协议等
- 表示层
- 加密,格式转换
- 会话层
- 解除或者建立与其他节点的联系
- 传输层
- 交换机之类,TCP协议,UDP协议等
- 网络层
- 你所在的网络节点,IP(网络层)协议等
- 数据链路层
- APM协议,FDDI协议等
- 分为逻辑链路子层和媒体访问控制子层(MAC)
- 物理层
- OSI的物理层规范(如电流多大)
A --> B的传输是应用层到物理层层层加密的过程,那么B在拿到数据时就是从物理层到应用层层层解密的过程,顺序不能错误
五层网络协议
五层网络协议是去掉了表示层和会话层,这两层没有协议
HTTP协议
HTTP协议全称超文本传输协议(Hyper Text Transform Protocol)
在控制台输入curl 网址
就会得到网站的页面内容cur -i 网址
得到页面内容和响应头
HTTP协议需要一个发送(Request和一个返回(Response),Request包含请求头和请求体,Response也包含响应头和响应体
请求头
请求头包含了:
请求方式 url/协议/协议版本 (注意请求方式后面紧跟空格和url,如果url携带有子页面地址,如:/index/a.html,那么会被拼接在url中)
Host(主机名):xxx.xxx.xxx.xxx:端口号
Connection(链接方式):
Content-Length(请求体大小):
Cache-Control(缓存控制):
Origin(源,文件传输有此项):
Content-Type(内容类型): multipart/form-data;boundary= ----WebkitFromBoundaryxxxxxxxx(二进制分隔符)
UserAgent(浏览器信息):
Accept(指定本机接收的数据类型):
Refer(从哪里来,当前页面地址):
Accept-Encoding(接受的编码方式):
Accept-Language(接受的语言):
如果是POST请求,那么携带的数据在请求体中,GET则在url中
请求体
请求体和请求头之间仅一个空格行分割
请求体有两种格式:文本格式和二进制格式,二进制格式下会有二进制分隔符,如图片传输就是二进制,下文中注意二进制分隔符出现的位置
got Data: ----WebkitFromBoundaryxxxxxxx(二进制分隔符,代表从此处进入数据体)
Content-Disposition(一些数据):
Content-Type(传输的文件类型):image/png
xxxx此处为二进制数据xxxxx
直到再次出现二进制分隔符,代表数据传完了
Content-Disposition(其他数据):
再次出现二进制分隔符且紧跟--,则请求体结束:
----WebkitFromBoundaryxxxxxxxxx--
响应头
协议/协议版本/状态码 状态
Accept-Ranges(范围单位):bytes
Cache-Control(缓存控制):
Connection(连接方式):
Content-Length:
Content-Type:
Date(响应时间):
Etag(标记,用来和下次请求比对):
Last-modified(最后修改时间):
Pragma:no-cache
Server(服务器):
Set-Cookie(设置缓存):
Cache-Control详解:
可否缓存
public: 可以被任意中间层缓存,如代理服务器等;
private:仅能被一个东西缓存,服务器可以,代理服务器不可以
no-cache:不可相信缓存,使用缓存前需先向服务器验证
only-if-cached:只要有缓存就不向服务器请求
到期时间
Max-age:缓存的最大周期(单位:秒)
Max-stale:表示客户端愿意接收过期的资源,但是响应必能超过设置的过期时间
Min-fresh:客户端希望在指定时间获得最新响应
重新验证加载
Must-revalidate:使用缓存前必须验证资源的状态,如果资源过期则不能使用
Proxy-revalidate:和Must-revalidate作用一致,适用于共享缓存,如代理服务器
No-Store:禁止使用缓存
No-transform:禁止对缓存资源进行更改转码等
原文链接:https://www.cnblogs.com/hhyf/p/11149020.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- HTTP 冷知识 | HTTP 请求中,空格应该被编码为 %20 还是 + 2020-06-02
- 安装了https ssl证书,但浏览器显示并非完全安全(此页面内 2020-05-12
- HttpServlet在第一个Servlet程序中的知识点 2020-03-28
- 图解HTTP----读书笔记 2020-02-04
- HTTP 协议的 8 种请求类型介绍 2020-01-19
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash