HTTP 基础知识

目录

 

        1.HTTP和HTTPS

2.HTTP请求过程

3.请求

4.get、post请求方法

5.get、post请求方法的区别

6.Cookie 头信息

7.Content-Type 头信息

8.Content-Type 和 POST 提交数据方式的关系

9.响应

10.常见响应状态码

11.HTTP 的无状态特点

12.Session 

13.Cookies

14.登录 Session 控制

         15.HTTP协议特点小结


1.HTTP和HTTPS

HTTP 协议是用于从网络传输超文本数据到本地浏览器的传送协议,它能保证高效而准确地传送超文本文档。

HTTPS 协议是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP 下加入 SSL 层,简称为 HTTPS。HTTPS 的安全基础是 SSL,因此通过它传输的内容都是经过 SSL 加密的。

2.HTTP请求过程

浏览器向网站所在的服务器发送了一个请求,网站服务器接收到这个请求后进行处理和解析,然后返回对应的响应,接着传回给浏览器。响应里包含了页面的源代码等内容,浏览器再对其进行解析,便将网页呈现了出来。

3.请求

由四部分组成: 请求方法method,网址url,请求头header,请求体body

4.get、post请求方法

get请求:请求页面,并返回页面内容。

post请求:大多用于提交表单、上传文件,数据包含在请求体。

5.get、post请求方法的区别

get请求的参数放在url中,可以在url直接看到数据。post请求的参数放在请求体body中。

get请求提交的数据最多为1024字节,post对数据大小没限制。

6.Cookie 头信息

是网站为了辨别用户进行会话跟踪而存储在用户本地的数据。它的主要功能是维持当前访问会话。例如,我们输入用户名和密码成功登录某个网站后,服务器会用会话保存登录状态信息,后面我们每次刷新或请求该站点的其他页面时,会发现都是登录状态,这就是Cookies的功劳。Cookies里有信息标识了我们所对应的服务器的会话,每次浏览器在请求该站点的页面时,都会在请求头中加上Cookies并将其发送给服务器,服务器通过 Cookies 识别出是我们自己,并且查出当前状态是登录状态,所以返回结果就是登录之后才能看到的网页内容。

7.Content-Type 头信息

在请求中 (如POST 或 PUT),客户端告诉服务器实际发送的数据类型。例如,text/html 代表 HTML 格式,image/gif 代表 GIF 图片,application/json 代表 JSON 类型。

在响应中,Content-Type标头告诉客户端实际返回的内容的内容类型。

8.Content-Type 和 POST 提交数据方式的关系

application/x-www-form-urlencoded使用表单提交数据
multipart/form-data使用表单上传文件
application/json序列化JSON数据
text/xmlXML数据

9.响应

由三部分组成:响应状态码 status code,响应头 header,响应体 body

10.常见响应状态码

2XXSuccess(成功状态码)
3XXRedirection(重定向状态码)
4XXClient Error(客户端错误状态码)
5XXServer Error(服务器错误状态码)

11.HTTP 的无状态特点

HTTP 协议对事务处理是没有记忆能力的,服务器不会记录前后状态的变化,也就是缺少状态记录。这意味着如果后续需要处理前面的信息,则必须重传,这也导致需要额外传递一些前面的重复请求,才能获取后续响应。

为了保持 HTTP 连接状态,出现了 Session 和 Cookies 两个技术。

12.Session 

Session 在服务端,也就是网站的服务器,用来保存用户的 Session 信息;

在Web中,Session 用来存储特定用户Session所需的属性及配置信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户Session中一直存在下去。当用户请求来自应用程序的Web页时,如果该用户还没有Session,则Web服务器将自动创建一个Session对象。当Session过期或被放弃后,服务器将终止该 Session。

13.Cookies

Cookies在客户端,也可以理解为浏览器端,是指某些网站为了辨别用户身份、进行 Session 跟踪而存储在用户本地终端上的数据。

有了Cookies,浏览器在下次访问网页时会自动附带上它发送给服务器,服务器通过识别 Cookies 并鉴定出是哪个用户,然后再判断用户是否是登录状态,进而返回对应的响应。

14.登录 Session 控制

登录 Session 控制,需要 Cookies 和 Session 配合,一个处于客户端,一个处于服务端,共同协作来完成。具体:

在成功登录某个网站时,服务器会告诉客户端设置哪些Cookies信息,在后续访问页面时客户端会把Cookies发送给服务器,服务器再找到对应的Session加以判断。如果Session中的某些设置登录状态的变量是有效的,那就证明用户处于登录状态,此时返回登录之后才可以查看的网页内容,浏览器再进行解析便可以看到了。

反之,如果传给服务器的 Cookies 是无效的,或者 Session 已经过期了,我们将不能继续访问页面,此时可能会收到错误的响应或者跳转到登录页面重新登录。

15.HTTP协议特点小结

1:灵活且易扩展,他的头部字段很多都是可定制且可扩展

2:应用广泛。各个领域都有涉及。"跨平台,跨语言"

3:无状态。没有记忆功能,少功能即少占用资源。另外无状态更容易搭建集群,通过负载均衡将请求转发到任意一台服务器。缺点是无法支持需要连续步骤的"事务"操作。我们知道TCP协议有11种状态,不同状态代表通信过程中不同的含义。同样操作系统中的进程也有执行,就绪,活动阻塞等多种状态。但是HTTP全程都是"懵逼"无状态。比如小华请求服务器获取视频X,服务器觉得可行就发给小华。小华还想获取视频Y,这时服务器不会记录之前的状态,也就不知道这两个请求是否是同一个,所以小华还得告诉服务器自己的身份。

4:明文。优点是能让开发人员通过wireshark工具更直观的调试。缺点即裸奔互联网,没隐私可言。

5:可靠传输。HTTP为应用层协议,基于TCP/IP,而TCP为“可靠”传输协议,因此HTTP能在请求应答中"可靠"传输数据。

6:应用层协议。应用层协议很多,其中常用的邮件协议SMTP,上传下载文件ftp,默认端口22/23,SSH远程登录(XSHELL)。这些应用层协议都太专一,而HTTP通过各种头部字段,实体数据的组合,并综合缓存代理等功能,不得不说是网络中的冠希哥。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值