http详解
http概念:
超文本传输协议
允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。
http作用:
规范浏览器和服务器之间数据交互的格式
特点:
简单
快捷
灵活
无连接:接收完请求后关闭服务器,但在http1.1版本后可持续连接
无状态:每次发过请求后,下次都要重新发送自己的信息,(服务器端不会保存)
服务器接收到的请求:
请求头:
(请求方式) 请求地址url http版本
头部字段:服务器自己的一些信息
请求数据:
请求方式:
get和post未完待续
get:
请求数据放在了请求头的url后面:以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456.(可以看见密码等请求信息)不安全,因为放在url后面,承载的内容不能过多,最多只能有1024字节(因为浏览器对URL的长度有限制)
不安全,高效
POST方法是把提交的数据放在HTTP包的Body中。
post:有请求实体,用于存放请求数据,安全适合大数据发送
安全,数据量大
三次握手
HTTP是基于传输层的TCP协议,而TCP是一个端到端的面向连接的协议。所谓的端到端可以理解为进程到进程之间的通信。所以HTTP在开始传输之前,首先需要建立TCP连接,而TCP连接的过程需要所谓的“三次握手”。下图所示TCP连接的三次握手。
在TCP三次握手之后,建立了TCP连接,此时HTTP就可以进行传输了。一个重要的概念是面向连接,既HTTP在传输完成之间并不断开TCP连接。在HTTP1.1中(通过Connection头设置)这是默认行为。