http与https

HTTP—超文本传输协议

80端口
超文本传输协议,基于传输层的TCP协议进行通信,通用无状态的应用层协议。

HTTP是一个客户端终端(用户)和服务器端(网站)之间,请求和应答之间的一个标准TCP连接。

HTTP是以明文方式传输的。

HTTPS—安全的超文本传输协议

443端口

HTTPS是以安全为目标的HTTP通道,即是在HTTP的基础之上加入了SSL层,因此加密的详细内容就需要SSL。

HTTPS是由位于TCP/IP协议与各应用层之间的SSL协议加密的协议。

HTTPS协议需要CA认证,申请证书。

客户端与服务端传输数据之前,会通过基于X.509证书进行双方的身份验证。

HTTP与HTTPS区别

1、https协议需要到ca申请证书,一般免费证书很少,需要交费

2、http是超文本传输协议,信息是明文传输的;https则是具有安全性的ssl加密传输协议

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443

4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全

HTTP的请求方式

请求方式作用
get发送一个请求来取得服务器上的某一资源。
post向 url 指定的资源提交数据或附加新的数据。
putput 方法跟 post 方法很像,也是向服务器提交数据,但是 put 方法指向了资源在服务器上的位置,而 post 方法没有。
head只请求页面的首部。
delete删除服务器上的某资源。
optionsoptions 方法用于获取当前 url 所支持的方法。如果请求成功,会有一个 allow 的头包含类似 get、post 这样的信息。
tracetrace 方法被用于激发一个远程的,应用层的请求消息回路。
connnect把请求连接转换到透明的 tcp/ip 通道。

HTTP的状态码

状态码状态
200状态码200表示服务器响应成功,也就是服务器找到了客户端请求的内容,并且将内容返回给客户端。
301状态码301代表临时跳转。例如:URL地址A可以向URL地址B上跳转,但这并不是永久性的,在经过一段时间后,URL地址A还可能向URL地址C上跳转。
302状态码302和状态码301相似,不同的是状态码302往往代表的是永久性的重定向,值得注意的是,这种重定向跳转,从严格意义来讲不是服务器跳转,而是客户端跳转的。这个“跳”的动作是服务器是通过回传状态码302来下达给客户端的,让客户端完成跳转。
304服务器通过返回状态码304可以告诉客户端请求资源成功,但是这个资源不是由服务器提供返回给客户端的,而是客户端本地浏览器缓存中就有的这个资源,因为可以从缓存中获取这个资源,从而节省传输的开销。
403状态码403代表请求的服务器资源权限不够,也就是说,没有权限去访问服务器的资源,或者请求的IP地址被封掉了。
404状态码404代表服务器上没有该资源,或者说服务器找不到客户端请求的资源,是最常见的请求错误码。
500状态码500代表程序错误,也就是说请求的网页程序本身报错了。在服务器端的网页程序出错。由于现在的浏览器都会对状态码500做一定的处理,所以在一般情况下会返回一个定制的错误页面。

HTTP请求过程

简述:

1、域名解析:使用DNS协议进行域名解析
2、建立连接:发起TCP三次握手
3、发起http请求:建立TCP连接成功后,浏览器发起http请求
4、响应http请求:服务端响应http请求,浏览器得到返回response
5、解析response:浏览器解析response,并请求其它的资源(如js、css等)
6、浏览器渲染展示页面:浏览器根据内核对页面进行渲染展示
7、断开连接:TCP四次挥手

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值