http协议

1.超文本传输协议http是基于TCP/IP协议之上的应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。

2.http是无状态的协议(即不保存状态),HTTP协议自身不具备保存之前发送过的请求或响应的功能,也就是说同一个客户端的这次请求和上次请求是没有对应关系的;

3.http协议是用于从www(万维网)服务器传输超文本到本地浏览器的传送协议;

4.http协议通常承载于TCP协议之上,安全超文本传输协议https协议即为http协议承载于TLS或安全套接字层SSL协议层之上,http协议假定其下层协议(如:TCP/IP协议)提供可靠的传输,http效率更高,https安全性更高;

5.默认http协议使用端口号为80,https使用端口443;

6.HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求;

7.HTTP是无连接:无连接的含义是限制每次连接只处理一个请求;

8.工作流程(HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接)

(1)客户端和服务端建立连接:http客户端(通常是浏览器)与服务器指定端口(一般为80)建立一个TCP套接字连接;

(2)客户端发送一个请求给服务端,请求由请求行、请求头部、空行和请求数据4部分组成;

实例:

GET /hello.txt HTTP/1.1
User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3
Host: www.example.com
Accept-Language: en, mi

(3)服务端接收请求,并返回http响应,响应由状态行、消息报头、空行和响应数据4部分组成;

 实例:

 注:1.常见的http状态码

  • 200 - 请求成功
  • 301 - 资源(网页等)被永久转移到其它URL
  • 404 - 请求的资源(网页等)不存在
  • 500 - 内部服务器错误

  2.http content-type:一般是指网页中存在的 Content-Type,用于定义网络文件的类型和网页的编码,Content-Type 标头告诉客户端实际返回的内容的内容类型;

(4)客户端接收响应信息,将返回信息通过浏览器窗口显示在用户的显示屏上;

(5)客户端和服务端断开连接;

  例如:在浏览器地址栏键入URL,按下回车之后会经历以下流程:

  • 浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址;

  • 解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立TCP连接;

  • 浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为 TCP 三次握手的第三个报文的数据发送给服务器;

  • 服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器;

  • 释放 TCP连接;

  • 浏览器将该 html 文本并显示内容;

9.http协议通信流程(其中CGI程序使网页具有交互功能)

 10.http协议的九种请求类型

11.超文本协议http的统一资源定位符(URL,Uniform Resource Locator),包含从因特网获取信息的五个基本元素

(1)协议

(2)服务器

(3)网络端口号,默认不展示

(4)URI,对应资源路径

(5)查询

12. http效率更高,https安全性更高

原文地址:https://www.cnblogs.com/jasmine0112/p/12447795.html