HTTP是什么?
顾名思义HTTP(HyperText Transfer Protocol)是一个协议,基于TCP/IP协议,为客户端与服务器的信息传输设定的标准。客户端与服务器就像来自两个不同国家的人,他们要交流,需要选择一种两个人都能理解的语言,HTTP就是这种语言。
HTTP有什么作用?
HTTP协议是用于从WWW服务器传输超文本(通过计算机处理文本信息的方法)到本地浏览器的传输协议。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快,它可以使浏览器更加高效,使网络传输减少。
状态码
我们有时访问一个网页会出现错误403,或者登陆校园翼讯客户端时会有错误503等,这些状态码都代表什么呢?
- 1xx:信息(如:100表示服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求)
- 2xx:成功(如:200表示请求成功)
- 3xx:重定向(如:301表示所请求的页面已经转移至新的url)
- 4xx:客户端错误(如:400表示服务器未能理解请求)
- 5xx:服务器错误(如:500.13表示Web 服务器太忙)
衍生概念:
URL(Uniform Resource Locator):指我们在浏览器地址栏里输入的网址
URL的组成:
- 协议部分,如 http
- 域名部分,如baidu.com
- 路径:路径通常指一个文件或 web 服务器上的一个位置,如/writer#/notebooks/7354471/notes/11221943/preview
- 端口:默认端口为:80
HTTP的作用机制:
浏览器通过http协议,从远程服务器上拿到网页源代码,解析它们,并将它们渲染成图形可视化的方式展现给用户
客户端与服务器的交互机制:
- 客户端向服务器发送请求Request
请求方法包括:get post head delete put option等
访问谷歌:
-
服务器做出响应Response
HTTP的特点:
- 无连接(限制每次连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接,节省传输时间)
说明:本来无连接的特性是为了节省传输时间,但由于用户在一个页面不止会有一个请求,多次请求,不断地与服务器连接,断开,再连接会增加服务器的处理量,所以有(如上图)Connection:keep-alive使它保持连接,用户关闭窗口时断开连接,这样用户访问一个页面只需要连接一次
无状态 (协议对于事务处理没有记忆能力,缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。)
简单快速(客户向服务器请求服务时,只需传送请求方法和路径)
灵活(HTTP允许传输任意类型的数据对象)