HTTP和TCP的关系(六)
HTTP和TCP的关系
- TCP是传输层协议,而HTTP是应用层协议
- HTTP是要基于TCP连接基础上的
简单的说
- TCP就是单纯建立连接,不涉及任何我们需要请求的实际数据,简单的传输。
- HTTP是用来收发数据,即实际应用上来的。
从传输层,先说下TCP连接,我们要和服务端连接TCP连接,需要通过三次连接,包括:请求,确认,建立连接。即传说中的“三次握手协议”。
简单就是:请求,确认,连接。
从实际上的数据应用来说HTTP
在前面客户端和应用服务器建立TCP连接之后,就需要用HTTP协议来传送数据了,HTTP协议简单来说,还是请求,确认,连接。
- 总体就是主机A发送一个HTTP请求给主机B,主机B收到了这个HTTP请求,然后返回给主机A以HTTP响应,然后主机A的中间件或者说浏览器把这些数据渲染成为了网页,展示在用户面前。
主机A与主机B之间具体过程:
1、发送一个HTTP请求给主机A,这个请求包括请求头和请求内容:
request header:
- 请求的方法是POST/GET,请求的URL,http协议版本;
- 请求的数据,和编码方式;3.是否有cookie和cooies,是否缓存等。
post和get请求方式的区别是:
get把请求内容放在URL后面,但是URL长度有限制。
而post是以表单的形势,适合要输入密码之类的,因为不在URL中显示,所以比较安全。
request body:
get请求的请求体为空,post请求的请求体中携带着客户端发送给服务器的数据
2、主机B收到了HTTP请求,然后根据请求头,返回HTTP响应。
response header:
- cookies或者sessions;
- 状态码;
- 内容大小等;
response body:
- 即响应的内容,包括,JS什么的文本内容。
3、主机A收到了以后,就由浏览器完成一系列的渲染,包括执行JS脚本等。
总结
TCP是底层通讯协议,定义的是数据传输和连接方式的规范;
HTTP是应用层协议,定义的是传输数据的内容的规范;
HTTP协议中的数据是利用TCP协议传输的,所以支持HTTP也就一定支持TCP ;
HTTP支持的是www服务,而TCP/IP是协议, 是Internet国际互联网络的基础,是网络中使用的基本的通信协议。
TCP/IP实际上是一组协议,它包括上百个各种功能的协议,如:远程登录、文件传输和电子邮件等,而TCP协议和IP协议是保证数据完整传输的两个基本的重要协议。通常说TCP/IP是Internet协议族,而不单单是TCP和IP。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_50775835/article/details/116902075
参看链接:https://blog.csdn.net/lipviolet/article/details/104525539/
在所有的矛盾中,要优先解决主要矛盾,其他矛盾也就迎刃而解。
不要做个笨蛋,为失去的郁郁寡欢,聪明的人,已经找到了解决问题的办法,或正在寻找。