http是什么?(适合新人)

最近有人私信我说,我写的博客有些肤浅,没有深究,在此我统一回复一下,这些博客大多都是概念性东西,是用通俗的例子让你理解这个技术或者知识到底是怎么一样原理。
所以我在后面都加着适合新人,我们都是从新人走过来的,知道初学者的那种迷茫,只会代码,不懂原理和含义,就比如,注解,你不去学习理解,初学者根本就不知道那是个什么东西,为什么要使用注解。
如果是资深大牛,那就不要看了,还是那句话,适合新人。
————————————————————————————————————

1,什么是http?

首先,他是一种传输的协议,也可以说是种传输的规则;

官方的回答:

http是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。

2,http的特点

  1. 超文本传输;

超文本(Hypertext)是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本。
支持:html,json,text,流等信息,都是通过二进制进行传输;

  1. 无状态;

就是说每次HTTP请求都是独立的,任何两个请求之间没有什么必然的联系,http没有提供事务管理。
但是在实际应用当中并不是完全这样的,引入了Cookie和Session机制来关联请求。

  1. 底层基于Socket的TCP协议;

    关于tcp我有令外一篇文章,不懂得可以去看看;
    java网络编程Tcp与UDP(适合新人)

  2. 多次http请求;

在客户端请求网页时多数情况下并不是一次请求就能成功的,服务端首先是响应HTML页面,然后浏览器收到响应之后发现HTML页面还引用了其他的资源,例如,CSS,JS文件,图片等等,还会自动发送HTTP请求这些需要的资源。现在的HTTP版本支持管道机制,可以同时请求和响应多个请求,大大提高了效率。

3,流程图

在这里插入图片描述

4,http格式分类

  1. 请求(HttpServletRequest)
    请求行:
    在这里插入图片描述
    请求头
    在这里插入图片描述
    请求体(只能在post请求)

  2. 响应(HttpServletResponse)
    相应行响应头响应体

既然学习Http那么肯定就要学习Https:
添加链接描述

发布了21 篇原创文章 · 获赞 24 · 访问量 9010

猜你喜欢

转载自blog.csdn.net/qq_41566219/article/details/104019000