计算机相关知识|HTTP HTTPS

HTTP 简介 HTTP协议(超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准,是用于从万维网服务器传输超文本到本地浏览器的传输协议
它是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等
HTTP 工作原理 1)HTTP协议工作在客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送请求。WEB服务器根据接收到的请求后,向客户端发送响应数据。
2)HTTP默认端口号为80,但是也可以改为8080等其他端口
3)HTTP是无连接的:意思就是限定每次连接只处理一个请求。服务器处理完客户端的请求,并接收到客户端的应答后就断开连接。采用这种方式可以节省传输时间。
4)HTTP是独立的:只要客户端和服务端知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。
5)HTTP是无状态的:HTTP协议是无状态的协议。无状态是指对于事务处理没有记忆能力。缺少状态意味着如果后续如果再处理前面的信息必须重传,这样可能会导致每次连接传送的数据量增大。如果服务器不需要先前的信息时它的应答就比较快
HTTP 传输 1)一个HTTP客户端就是一个应用程序(web浏览器或其它客户端),通过连接服务器达到向服务器发送一个或多个HTTP请求的目的。
2)一个HTTP服务器同样也是一个应用程序(通常是一个Web服务,如Apache)通过接收客户端的请求并向客户端发送HTTP响应数据
3)HTTP使用统一资源标识符(URL)来传输数据和建立连接,一旦建立连接后数据消息就通过类似邮件的形式进行发送
客户端请求消息 客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行、请求头部、空行和请求数据四个部分组成
计算机相关知识|HTTP HTTPS
文章图片

实例

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

服务器响应消息 HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。
计算机相关知识|HTTP HTTPS
文章图片

HTTP/1.1 200 OK Date: Mon, 27 Jul 2009 12:28:53 GMT Server: Apache Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT ETag: "34aa387-d-1568eb00" Accept-Ranges: bytes Content-Length: 51 Vary: Accept-Encoding Content-Type: text/plain

HTTP 请求方法 【计算机相关知识|HTTP HTTPS】1)HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD 方法。
2)HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。
常用的HTTP响应头信息
Allow服务器支持哪些请求方法(如GET、POST等) Content-Encoding文档的编码(Encode)方法 Content-Length表示内容长度 Content-Type表示后面的文档属于什么MIME类型。Servlet默认为 text/plain Date当前的GMT时间 Server服务器名字。Servlet一般不设置这个值,而是由Web服务器自己设置。

HTTP状态码 当用户访问一个网页时,用户的浏览器会向网页所在的服务器发送请求。当浏览器接收并显示网页前此网页所在的服务器会返回一个HTTP状态码用以响应浏览器的请求
常见的状态码
200请求成功 301资源被永久转移到其他UTL 404请求资源不存在 500服务器错误

计算机相关知识|HTTP HTTPS
文章图片

HTTPS简介 超文本传输安全协议(HTTPS)是一种网络安全传输协议。在计算机网络上,HTTPS经由超文本传输协议(HTTP)进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网络服务器的身份认证,保护交换数据的隐私与完整性。
HTTPS 工作原理 HTTPS在传输数据之前需要客户端(浏览器)和(服务端)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL中使用了非对称加密,对称加密以及HASH算法。
HTTPS协议和HTTP协议的区别:
  • http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
  • http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。
  • http的连接很简单,是无状态的
  • HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议, 要比http协议安全。

    推荐阅读