Web http学习笔记(1)

谈到http协议,总会不知所措,然而在我们访问网站获取到图片与声音等信息时便是通过http协议进行获取的

HTTP 就是机器之间彼此沟通的一个协议,或者说一个消息格式。HTTP 遵循一个简单的模型:从客户端发出请求到服务器并等待响应。因此它也被认为是一种“请求–响应协议”。请求和响应都是文本信息,或者说是字符串,信息写法遵循着一个规则,能保证其他机器能够理解上面的内容

发展历史:
1. 超文本传输协议,是上世纪80年代由蒂姆.伯纳斯.李,仅返回html页面
2. 在1991年,第一个文档 HTTP/0.9发布
3. 1992年,HTTP/1.0 发布,并支持传输不同的文件类型,比如 CSS 文件,视
频,脚本和图片
4. 1995年,HTTP/1.1 介绍了连接复用和其他的一些特性
5. 1999年又对 HTTP/1.1 做了一些改进

在开放互联网上HTTP 2.0将只用于https://网址,而 http://网址将继续使用HTTP/1,目的是在开放互联网上增加使用加密技术,以提供强有力的保护去遏制主动攻击

关于http无状态的理解:
HTTP协议下,服务器不需要在各次请求之间保留状态信息。结果就是如果一次请求出了问题,系统不必做任何清理,但在实际的web应用程序中需要不同的技术为交互存储状态(可以想象若是每次添加购物车经过跳转后购物车爱物全部荡然无存,毫无剁手而言)

服务器如何识别会话
cookie 和服务器上的会话数据,用来标识当前的会话。通过这
种方法,当你再次访问同一个网站的时候,服务器就会通过 cookie 和里面的信息来认出你的会话。服务器上的某个地方。有时候,存在内存里,其他时候,可能会存在某个持久化存储介质上,比如数据库或者键 / 值存储

http是无状态的,web应用程序是有状态的:
主要的技术为:
1. 会话( session )
服务器在发送响应数据给客户端的时候带一个唯一的令牌 (英文叫 token,
就是一串数)。随后不论何时客户端向服务器发起请求的时候都把这个令牌附加在后面,让服务器能够辨识这个客户端。在 web 开发领域我们把这个来回传递的令牌叫做会话标识符( session identifier )。比如登录QQ空间时,会自动的显示用户的好友信息动态的界面,这让大部分人误以为http协议是有状态的是通过http协议保存的,然而实际上是通过这个令牌进行标识的
2. Cookies
cookie 就是在一个请求/响应周期内,服务器发送给客户端(通常就是浏览器),并存储在客户端的一段数据,cookie是缓存在客户端,而session是在服务器端,比如在我们首次登录csdn博客时需要填写登录账号与密码,而这些信息会保存在本地的浏览器缓存中,但会话数据保存在服务器上,那么服务器又是如何识别会话呢,客户端的cookie信息与服务器端的会话信息进行对比识别
3. AJAX
异步js和XML的简称,局部页面的刷新 。这些请求的响应会通过一些回调来处理。你可以这样理解 回调 ,就是你把一些逻辑存放在某个函数里,当某个条件被触发之后再回来执行你前面存放的逻辑,比如我们如果听音乐点击下一首时不需要刷新整个页面,而只是更改了与歌曲有关的信息与数据,调用的还是以前的逻辑
AJAX 请求就像是普通请求:发送到服务器的请求依然跟普通请求一样有着一个 HTTP 请求该有的所有组成部分,并且服务器处理 AJAX 请求的方法跟处理普通请求也是一样的。唯一不同就是,不是通过浏览器刷新来处理响应,而通常由客户端的一些 javascript 代码来处理。


https小结:
https(TTPS 发送的请求和响应在发送前都会被加密。这意味着如果一个恶意的黑客监听 HTTP 通信,他得到的信息都是加密的和无用的。HTTPS 通过一个叫做 TLS 的加密协议来加密消息。在 TLS 开发完成前,早期 HTTPS 使用 SSL ( Secure Sockets Layer )。这些加密协议在加密数据之前,需要先使用
证书来与远程服务器进行通信来交换安全密钥)

Get post区别:
(1)GET 请求经常用于取得一个资源,而且大部分超链接都是 GET 请求。
(2) GET 请求的响应可以是任何东西,但是如果响应是一个 HTML 并且里面引用了其他资源,你的浏览器会自动对这些资源发起请求,而一个纯粹的 HTTP 工具则不会。
使用
(3)GET 请求的时候在大小和安全性上有一些限制。
Post:
POST 请求允许我们向服务器发送更大或者敏感的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值