美文网首页
HTTP协议-HTTP\1定义

HTTP协议-HTTP\1定义

作者: Wu杰语 | 来源:发表于2019-09-20 19:09 被阅读0次

序言

今天这篇小文,我们从HTTP协议本身和浏览器发送一个HTTP请求两个角度来学习一下HTTP\1协议。

HTTP是什么

HTTP的全拼是Hyper text transfer protocol 。按照协议去理解:

  • protocol:首先这是一个协议,是个约定,确定计算机交流的通信规范以及各种控制和错误处理方式。
  • transfer:这是一个传输协议,其基于TCP或者UDP,将信息从一个地方传送到另外一个地方。并且传送过程中允许代理。
  • hyper text:超文本,传送包括文本,音频,视频等。
http定义

一个HTTP请求定义如下:

HTTP-message = start-line *( header-field CRLF ) CRLF [ message-body ]
  • start-line = request-line / status-line
          • request-line = method SP request-target SP HTTP-version CRLF
          • status-line = HTTP-version SP status-code SP reason-phrase CRLF
  • header-field = field-name ":" OWS field-value OWS
          • OWS = *( SP / HTAB )
          • field-name = token
          • field-value = *( field-content / obs-fold )
  • message-body = *OCTET

如上是基于ANBF的HTTP定义
例如说下面的实例图可以对照定义看一下:


image.png
http方法

http1.1规定了八种方法

  • GET 获取读取资源
  • HEAD 获取资源的源信息
  • POST向资源提交数据,写入上传数据
  • PUT向资源提交数据,返回无body
  • DELETE删除
  • CONNECT 建立特殊连接隧道
  • OPTIONS 列出对资源实行的方法
  • TRACE 列出请求响应的传输路径
HTTP 状态码
状态码 含义
1** 信息,服务器收到请求,需要请求者继续执行操作
2** 成功,操作被成功接收并处理
3** 重定向,需要进一步的操作以完成请求
4** 客户端错误,请求包含语法错误或无法完成请求
5** 服务器错误,服务器在处理请求的过程中发生了错误

这里特别说明一下重定向,这个功能特别有用。

  • 例如现在网站都基本要求用https访问,而用户输入http,服务器可以返回301,并指向https的URL。
  • 负载均衡。用户向负载均衡服务器发送请求,负载均衡服务器计算出一个请求服务器地址,然后给用户返回301和新的地址,用户接着访问新的地址。这种方式不太常用。
HTTP URL与DNS

protocol :// hostname[:port] / path / [;parameters][?query]#fragmen
URL定义如上,细节就不再解释了。关键是下面的DNS系统。

当用户填写URL时,会填写hotsname,hostname如果是ip,则不方便,就发展处DNS系统。DNS系统是一个高性能、高可用的系统,可给用户查询ip地址和端口,过程如下:

  • 输入URL后,浏览器先访问本地缓存,找到就下一步。
  • 查询根域名,根域名服务器给出顶级域名服务器地址
  • 查询顶级域名服务器,给出权威域名服务器地址。
  • 权威域名服务器给出具体的地址。

在这个机制下,可以使用域名服务器作为首层负载均衡,可以注册多个地址,DNS
服务器根据一定的算法分配一个应用服务器访问。同时,可以为了安全考虑,DNS注册不同的地方的应用服务器,设计一个异地多活系统。

小结

今天讲的是HTTP协议的主要部分,URL、HTTP定义、HTTP方法、HTTP状态码,可以看到这个层面知识点不少。但是在实际的工程使用中,怎样使HTTP达到高性能,达到工程商用的标准,下一讲我们继续看HTTP\1扩展出来的只是。

相关文章

  • HTTP协议-HTTP\1定义

    序言 今天这篇小文,我们从HTTP协议本身和浏览器发送一个HTTP请求两个角度来学习一下HTTP\1协议。 HTT...

  • 面试题

    其他知识点: http协议面试: http定义: 什么是Http无状态协议,怎么解决Http协议无状态协议1.无状...

  • HTTP协议入门教程,一文就够了!

    1,摘要 本文讲解了HTTP协议的定义,请求/响应的消息体结构定义,HTTP状态码等内容。 2,HTTP协议介绍 ...

  • http

    1.http协议的连接过程2.http协议头3.http状态定义4.http1.0、1.1、2.0区别5.http...

  • HTTP与HTTPS

    HTTP HTTP全称为超文本传输协议 HyperText Transfer Protocol。 HTTP协议定义...

  • HTTP与HTTPS

    HTTP HTTP全称为超文本传输协议 HyperText Transfer Protocol。HTTP协议定义了...

  • HTTP协议

    1.HTTP协议概述 HTTP协议用于定义客户端与web服务器通迅的格式。 HTTP是hypertext tran...

  • 网络面试-0x05 什么是http(s)以及它们的区别?

    一、HTTP 1、HTTP(Hyper Text Transfer Protocol:超文本传输协议) 定义:是一...

  • 网络面试-0x05 什么是http(s)以及它们的区别?

    一、HTTP 1、HTTP(Hyper Text Transfer Protocol:超文本传输协议) 定义:是一...

  • HTTP解读

    1. HTTP是什么 1.1 HTTP定义 http是超文本传输协议,基于TCP/IP网络传输,是一种应用层协议,...

网友评论

      本文标题:HTTP协议-HTTP\1定义

      本文链接:https://www.haomeiwen.com/subject/izcvectx.html