http协议

一、http协议基础+发展历史

HTTP协议(HyperText Transfer Protocol)全称超文本传输协议,是因特网上最广泛的一种网络传输协议,基于TCP/IP协议传输数据。

1.网络模型介绍

网络协议分层(五层模型)
在这里插入图片描述

物理层:定义物理设备如何传输数据
数据链路层:通信实体间建立数据链路联系
网络层:为数据在结点之间的传输创建逻辑链路
传输层:可靠的端对端(end-to-end)的服务,传输层向高层屏蔽了下层的数据通信细节
应用层:为软件提供很多服务,构建于tcp之上,屏蔽了网络传输的相关细节

2.http协议的发展历史

http/0.9 只有get 没有header等信息,服务器发送完毕,就关闭tcp连接
http/1.0 增加命令,增加status code、header,多字符集支持等
http/1.1 持久连接,pipeline,host和其他一些命令
http2 所有数据以二进制传输、同一个连接里面发送多个请求不在需要按照顺序来、头信息压缩以及推送等提高效率的功能

3.http三次握手

user和服务器之间建立tcp connection,http request在tcp connection中传输
建立连接
syn建立了第一个标志位
在这里插入图片描述

3.URI、URL、URN

URI统一资源标志符,用来标识互联性网上的信息资源,包含URL和urn,例如http://bitpoetry.io/posts/hello.html#intro // 构造一个URI
URL统一资源定位器,路由定位
http://bitpoetry.io/posts/hello.html
urn永久统一资源定位符,资源移动后还能访问
bitpoetry.io/posts/hello.html#intro

4.http报文

在这里插入图片描述
curl展示请求体和响应体

curl -v www.baidu.com

http方法:
用来定义对于资源的操作,常用的get、post等
http code:
定义服务器处理结果,各个区间的code有各自的语义,好的http协议通过code判断结果

5.创建简单的web服务

在这里插入图片描述
在这里插入图片描述

二、http各种特性

1.http客户端

network请求资源

2.cors跨域请求限制及其解决

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
jsonp
在这里插入图片描述

3.缓存头cache-control的含义和使用

在请求中使用
在这里插入图片描述
在响应中使用
在这里插入图片描述

4.cookie

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。
通过“set-cookie”进行设置cookie,不能跨域设置。常用cookie保存session

5.http长链接

同一个connection id 就是同一个tcp连接

"Connection"'keep-alive'

6.数据协商

分类:请求 返回
accept accept-encoding accept-language user-agent
content-type content-encoding content-language

7.redirect

HTTP重定向:服务器无法处理浏览器发送过来的请求(request),服务器告诉浏览器跳转到可以处理请求的url上。(浏览器会自动访问该URL地址,以至于用户无法分辨是否重定向了。)
重定向的返回码3XX说明。Location响应首部包含了内容的新地址或是优选地址的URL。

8.CSP内容安全策略

限制资源的获取、报告资源越权获取

"Content-Security-Policy":"default-src http: https:"

可以避免xfs等攻击

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值