简介
HTTP协议,即超文本传输协议,规定了浏览器和万维网服务器之间的通信规则,是通过因特网传送万维网文档的数据传送协议。
HTTP协议通常是承载于TCP协议之上,有时也承载在TLS或者SSL协议层之上,这时就成了我们常说的HTTPS。
它是一个应用层协议,由请求和响应组成,是一个标准的客户端服务器模型,也是一个无状态的协议,默认端口为80,而HTTPS默认端口443,主要应用于浏览网页。
特点
1.简单快速,客户向服务器请求服务时,只需要发送请求方法和路径,通信速度很快。
2.灵活,HTTP允许传输任意类型的数据对象,正在传输的类型由Content-Type标记。
3.HTTP1.1使用的是持续连接:不必为每个web对象创建一个新的连接,一个链接可以发送多个对象,采用这种方式可以节省传输时间。
4.无状态:无状态是指协议对于事务处理没有记忆功能,后续处理如果需要前面的信息必须重传,这样导致每次连接传送的数据量增大。
5.支持CS,BS模式
工作流程
一次HTTP操作称为一个事务,工作过程可分为四步:
1.首先客户机于服务器建立连接。
2.建立连接后,客户机发送一个请求给服务器。
3.服务器接到请求后,给予相应的响应信息。
4.客户端接收服务器返回的信息通过浏览器显示出来,然后客户机于服务器断开连接。
HTTP状态码
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已经被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或者请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求
请求的方法
在HTTP1.0定义有三种请求方法:GET、POST、HEAD
在HTTP1.1新增了DELETE、PUT、OPTIONS、TRACE、CONNECT
工作原理
1.客户端连接到Web服务器,
2.发送HTTP请求
3.服务器接受请求并返回HTTP响应
4.释放连接TCP连接
5.客户端浏览器解析HTML内容
GET与POST的区别
1、GET提交数据放在URL之后用?拼接,参数之间用&连接。POST方法将提交的数据放在HTTP包的body中。
2、GET提交数据大小有限制,POST没有。
3、GET方式需要使用Request.QuerryString来取变量值,POST使用Request.Form获取变量的值。
4、GET方式提交数据会带来安全问题。
*内容借鉴自https://www.cnblogs.com/qdhxhz/p/8468913.html