HTTP

HTTP协议

在这里插入图片描述
TCP协议对应于传输层,而HTTP协议对应于应用层。Http协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求。Http会通过TCP建立起一个到服务器的连接通道,当本次请求需要的数据完毕后,Http会立即将TCP连接断开。
HTTP是在网络上传输HTML的协议,用于浏览器和服务器的通信。

三次握手

第一次:建立连接时,客户端发送SYN包到服务器,等待服务器确认;
第二次:服务器收到SYN包,确认ack = j+1,产生一个一个SYN包,将SYN+ACK包发送给客户端;
第三步:客户端收到SYN+ACK包,确认无误后,kehuduan与服务端即可进行数据传输。

四次挥手

第一次:客户端发送一个FIN保温,用来关闭客户到服务器的数据传送;
第二次:服务器收到保温,发回一个ACK保温,确认序号为收到的序号加1;
第三次:服务器关闭客户端的连接,发送一个FIN给客户端;
第四次:客户端发挥ACK报文确认,并将确认序号设置为收到序号加1。

为什么连接是三次握手断开是四次

当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,“你发的FIN报文我收到了”。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。

HTTP和HTTPS区别

HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。
http是无状态的,端口为80;为了保证这些隐私数据能加密传输,于是网景公司设计了SSL,协议用于对HTTP协议传输的数据进行加密,从而诞生了HTTPS,端口号为443。

HTTPS缺点

HTTPS协议三次握手阶段较为费时,效率不如HTTP;

HTTP状态码

100 Continue 继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体参数信息;
200 OK 正常返回信息;
201 Created 请求成功并且服务器创建了新的资源;
202 Accepted 服务器已接受请求,但尚未处理;
301 Moved Permanently 请求的网页已永久移动到新位置;
302 Found 临时性重定向;
303 See Other 临时性重定向,且总是使用 GET 请求新的 URL;
304 Not Modified 自从上次请求后,请求的网页未修改过;
400 Bad Request 服务器无法理解请求的格式;
401 Unauthorized 请求未授权。
403 Forbidden 禁止访问。
404 Not Found 找不到如何与 URI 相匹配的资源;
500 Internal Server Error 最常见的服务器端错误(编码有问题);
503 Service Unavailable 服务器端暂时无法处理请求(可能是过载或维护)。

GET方法与POST方法区别

get方法可以被缓存,post方法不可被缓存;
get方法可以保留在浏览器历史记录中,并被保存为书签,post方法不可以;
get方法有长度限制,post方法没有;
由于get方法数据可见,因此安全性非常低,不应当在处理敏感数据时使用,且只应当用于取回数据,而post方法安全性较高。

##HTTP其他请求方法
HEAD 与 GET 相同,但只返回 HTTP 报头,不返回文档主体。
PUT 上传指定的 URI 表示。
DELETE 删除指定资源。
OPTIONS 返回服务器支持的 HTTP 方法。
CONNECT 把请求连接转换到透明的 TCP/IP 通道。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值