浅谈HTTP协议

http协议

本文用于学习记录,如有错漏,望大佬不吝指正。

一、 何为Http协议
Http 协议是一个基于TCP/IP 通信协议来传输数据的超文本传输协议,用于从万维网传输超文本(即HTML文件,图片文件,查询结果等)到本地浏览器。目前使用的是http/1.0 ,http/1.1 版 的规范化正在进行中

二、Http 协议的特性

  1. http为无状态协议,即服务端 不保留与用户交易之间的任何状态。(这样对于http的响应速度有了极大的提高)

  2. 简单快速 :客户端向服务器请求时,只需要传送请求方法和路径。常用的请求方法有 get post head等。

  3. 无连接 每次连接只处理一个请求,处理完成接受到应答后,断开连接。

    目前的http 1.1 默认支持keep-alive 即在建立连接后的一段时间内保持这个TCP连接 之后的

    请求可以通过这个连接发送请求 ,这样的改变接受的建立连接和关闭连接之间的延时。

  4. 灵活: 可传输任意形式的数据,通过content-type 标记。

三、请求/响应

​ http 请求分为三个部分 状态行 请求头 消息主体

img

get 和 post 请求方式的区别

get 主要目的是为了获取 request-uri 所标识的资源,所以我们可以反复get 而其对服务端不会造成任何影响,这种没有副作用的现象被叫做“幂等”。get的信息直接放在URL的querystring中传输,这样安全性得不到保证,而且其长度也受地址栏长度的限制。

post 目的用于提交 需要在 request-uri 所标识的资源后添加新的数据,这样如果我们反复post相当于反复添加新的数据,会产生很大的副作用,即“不幂等”,其意味着post不能多次执行。post传递数据时 数据隐藏在请求正文中 用户不可见 大小无限制 相对安全

但 由于http本就是明文协议 其实 get和 post本质上都不是、安全的 普遍的做法是通过SSL对http 加密来解决安全性,即HTTPS.

http响应也分三个部分 状态行 响应头 响应正文

​ 其中状态行中会包含相应的状态码,来描述状态

	* 1xx   指示信息 表示消息已接受 正在处理
	* 2xx   成功    请求接收成功
	* 3xx   重定向   要完成请求需要下一步操作
	* 4xx   客户端错误   存在语法错误或请求无法实现       如 404 请求资源不存在
	* 5xx   服务端错误                   	500 服务端发生不可预知的错误 无法完成请求
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值