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请求到服务器的请求消息包括以下格式:请求行、请求头部、空行和请求数据四个部分组成
文章图片
实例
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/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服务器错误
文章图片
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协议安全。
推荐阅读
- https|10句“金玉良言”,助你面试成功!
- http|Cookie、Session和Token的区别与联系
- 趣学Java|干掉Session(这个跨域认证解决方案真的优雅)
- 考研408|计算机网络——HTTP
- 考研408|计算机网络——IP
- 计算机网络|计算机网络——TCP和UDP及TCP的三次握手与四次挥手
- 计算机网络|【图解】HTTP/1.1到HTTP/2.0的演变
- javaWeb|HTTPS 的加密流程(你值得拥有)
- 渗透笔记2|WAF绕过-信息收集之反爬虫延时代理池技术