http协议常见知识汇总

http过程

客户端要从服务器得到数据,首先要建立连接,然后才进行数据传输

建立连接使用的是TCP协议,过程是“三次握手”。

由于一次连接中,同一个客户端可能有多个应用程序同时向服务器请求数据,所以在建立连接的时候,他们的通路就要加以区别。一般提供五个信息就可以解决这个问题:连接使用的协议(http的话就是TCP协议),本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。这五个信息打包叫做socket(套接字)

HTTP与TCP的区别和联系详细介绍

建立好连接之后,http就可以开始进行数据传输。

首先,客户端要告诉服务器请求什么数据,然后服务器再回复。前者叫做请求,后者叫做响应。如果只是从服务器获取数据,会发送get请求;如果涉及到对服务器的内容进行修改,会发送post请求

深入理解HTTP协议(零壹技术栈)


请求响应报文

请求报文

在这里插入图片描述

请求报文分为三部分:请求行,消息报头和请求正文。

请求行:

请求方法:客户端告诉服务器我想要干嘛。有9个动作:
在这里插入图片描述
request-URL:请求地址,也就是服务器中资源的地址,比如/book/story/three body
http version:http还是https

消息报头(请求头):

封装了请求的详细信息。请求头大全

常见的比如:

User-Agent(用户代理,UA):封装了浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。可以让服务器端提供相应的数据,比如电脑浏览器和手机浏览器得到的数据不应该是一样的。

Cookie:当客户端向服务器请求过一次之后,服务器会给客户端回一个cookie。下次请求时,客户端可以将cookie一起传过去,可以剩一些服务器的判断。比如淘宝中,登录过一次之后,下次再打开淘宝可以自动登录。这时如果清空cookie,下次打开浏览器又需要重新登录。

connection:如果是keep-alive,这次的http请求结束之后,tcp连接不会马上断;如果是close,这次请求之后,tcp就结束了。

请求正文:

并不是每一个请求方法都会有请求正文,比如get就没有。post因为要涉及到更改服务器数据,所以需要把数据放到请求正文,再传给服务器。

响应报文

在这里插入图片描述
和请求一样的就不解释了。

状态码:有三位,比如404。
第一个数字定义了响应的类别,有五种:
1xx:指示信息。表示请求已接收,继续处理
2xx:成功。表示请求已被成功接收、理解、接受
3xx:重定向。要完成请求必须进行更进一步的操作
4xx:客户端错误。请求有语法错误或请求无法实现
5xx:服务器端错误。服务器未能实现合法的请求
状态码大全

消息报头(响应头):响应头大全


常见的一些名词

超文本:就是传输的内容超出了文本。包括声音、图像等等。

无状态:就是不负责状态的储存。比如,淘宝购物车需要登录才能进行操作,但是当用户完成登录请求之后,对购物车的请求是不包含登录信息的。无状态的好处是信息传播很快,量很大;但又因为无状态,诞生了cookie和session。

无连接:请求一次,连接一次,请求完就断开。早期的http是这样,现在就都用keep-live了。

https:更安全的http。HTTP + 加密 + 认证 + 完整性保护 = HTTPS(HTTP Secure )

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值