HTTP

1.输入一个网址:

(1)DNS将域名解析为IP地址(浏览器缓存->操作系统缓存->路由器缓存->ISP缓存->递归查询)
(2)封装HTTP包
(3)封装TCP报文,三次握手建立连接
(4)发送请求消息给服务器
(5)服务器回复响应
(6)服务器四次挥手断开连接
(7)客户端收到响应后解析报文,解析HTML,渲染。

2.HTTPS:

(1)首先建立SSL层连接,客户端将SSL版本号和加密组件发给服务器,服务器根据SSL版本号和加密组件进行匹配,同时将CA证书和公钥发送给客户端。
(2)客户端对证书进行验证(操作系统和浏览器会内置这些证书颁发机构的根证书,如果经过检查网站使用的证书是可信任的CA办法的,就认为是可信的,反之给出不可信的提示),验证通过后生成用于对称加密的客户端密钥,并用公钥对客户端密钥进行非对称加密。
(3)客户端将加密后的客户端密钥发给服务器。
(4)服务器收到后用私钥进行非对称解密,得到客户端密钥。并用客户端密钥进行对称加密,生成密文并发送。
(5)客户端收到密文,使用客户端密钥进行解密,渲染网页。

3.HTTP和HTTPS区别:

(1)安全性:HTTPS是安全超文本协议,在HTTP的基础上加入了SSL层
(2)申请证书:HTTPS需要申请CA证书,HTTP不需要
(3)传输协议:HTTP是超文本传输协议,明文传输;HTTPS是具有安全性的SSL加密传输协议
(4)HTTP连接简单,无状态,端口80;HTTPS端口443

4.HTTP 1.0/1.1

(1)长连接:1.1默认为长连接,1.0需要通过keep-alive参数告知服务器建立一个长连接
(2)新增24个状态码:409表示请求的资源与资源的当前状态发生冲突;410表示服务器上的某个资源被永久删除
(3)带宽和网络连接的优化:支持断点续传,允许只请求某个资源的部分,返回码206
(4)host头处理:多个虚拟机共享一个IP地址,支持host头域,不再以IP为请求方标志,请求消息不带host,会返回400 bad request.
(5)缓存处理:添加更多缓存控制策略。

5.HTTP请求、响应格式:

请求:
请求行 http请求的种类 请求资源的路径 http协议版本
http header
body
http请求的种类:GET/POST/DELETE/PUT

响应:
状态行:协议版本 状态码 message
request header
body

6.GET和POST区别:

(1)GET用于获取、查询资源信息,POST用于更新资源信息
(2)GET提交的数据放在URL后,?分割URL和传输数据,参数之间以&连接。POST把提交的数据放在body中
(3)GET提交的数据大小有限制(因为URL有长度限制),POST没有限制
(4)GET提交数据有安全问题,用户名和密码会出现在URL早上,在历史记录可以获得。

7.错误码:

1XX:通知
2XX: 成功
3XX 重定向
4XX:客户端错误
5XX 服务端错误

200(“OK”)
400(“Bad Request”)客户端方面的问题。
301(“Moved Permanently”)
304(“Not Modified”)
403(“Forbidden”)
404(“Not Found”) 和410(“Gone”)
409(“Conflict”)
500(“Internal Server Error”)这是一个通用的服务器错误响应。对于大多数web框架,如果在执行请求处理代码时遇到了异常,它们就发送此响应代码。

8.cookie和session

(1)写入session列表,服务器对当前应用中的session是以map形式管理的,即session列表。key是一个32位的随机串,value是session对象的引用。当用户第一次发出请求时,服务器会为该用户创建一个key-val键值对存放到session列表中。
(2)服务器生成并发送cookie。将32随机串包装成cookie放到响应报头中。
(3)客户端接收并保存cookie,发送请求的时候携带cookie
(4)服务器从session列表中查找,找到该session。

9.token:

如果客户端频繁向服务器发出请求数据,服务端频繁地去数据库查询用户名和密码进行对比。token应运而生
token是服务器生成的一串字符串,以作客户端进行请求的一个令牌。当客户端第一次访问服务端时,服务端会根据传过来的唯一标识userid,运用一些算法,并加上密钥生成一个token,然后通过base64编码之后将token返回给客户端,客户端会保存起来。下次请求时,客户端只需要带上token,服务器收到请求后,会用相同的算法和密钥去验证token。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值