2020-07-02 HTTP协议、状态码和跨域

2020-07-02 HTTP协议、状态码和跨域

HTTP与HTTPS

HTTP协议:全称Hyper Text Transfer Protocol,翻译过来就是超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法

HTTP协议

通过请求>>>响应的方式,在客户端和服务器之间进行通信
缺点是不够安全
HTTP协议的信息传输是以明文的方式直接传输,不做任何加密,很容易被黑客截取并篡改

HTTPS协议:一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性

基于HTTP协议,通过SSL或TLS提供加密处理数据、验证对方身份以及数据完整性保护

GET与POST

  • 从缓存的角度:GET请求会被浏览器缓存下来,而POST不会
  • 从编码的角度:GET只能进行URL编码,只接受ASCII字符,而POST没有限制
  • 从参数的角度:GET一般放在URL中,因此不安全,POST放在请求体中,更适合传输敏感信息
  • 从幂等性角度:GET是幂等的,而POST不是(幂等表示执行相同的操作,结果也是相同的)
  • 从TCP角度:GET会把请求报文一次性发出去,而POST会分为两个TCP数据包,首先发header部分,如果服务器响应100,然后发body部分

HTTP的状态码
状态码分为五类:

  • 1xx:表示目前是协议处理的中间状态,还需要后续操作
  • 2xx:表示成功状态
  • 3xx:重定向状态,资源位置发生变动,需要重新请求
  • 4xx:请求报文有误
  • 5xx:服务器端发生错误

几个常见的具体状态码:
200 OK——表示从客户端发来的请求在服务器端被正常处理了

400 Bad Request——表示请求报文存在语法错误,当错误发生时,需修改请求的内容后再次发送请求,另外,浏览器回想200 OK一样对待该状态码

401 Unauthorized——表示需要一个认证对话框来询问用户信息

403 Forbidden——表示对请求资源的访问被服务器拒绝了,或是没有权限访问

404 Not Found——表示服务器上无法找到请求的资源

500 Internal Server Error——表示服务器在执行请求时发生了错误,也可能是web应用存在的bug或某些临时的故障

502 Bad Gateway——表明扮演网关或代理角色的服务器,从上游服务器中接收到的响应是无效的,通常不是客户端能修复的,而是需要途径的web服务器或者代理服务器对其进行修复

HTTP处理表单数据的提交
在http中,有两种主要的表单提交的方式,提现在两种不同的Content-Type取值:

  • application/x-www-form-urlencoded:数据会被编码成以&分隔的键值对,字符以URL编码方式编码
  • multipart/form-data:数据被分成多个部分,每两个部分之间通过分隔符来分隔,最大的特点每个表单元素都是独立的资源表述
跨域

cookie
本质上就是浏览器里存储的一个很小的文本文件,内部以键值对的方式存储信息,缺点容量小、性能差、不安全

URL组成
URL

浏览器遵循同源政

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值