HTTP协议基本概念简介

简介: HTTP协议基本概念简介

HTTP协议简介


1 Web服务器


WWW是 World Wide Web (环球信息网)的缩写,也可以简称为 Web,中文名字为“万维网”。


Web服务器(也称WWW服务器)一般指网站服务器,主要功能是提供网上信息浏览服务。


目前最主流的三个Web服务器是Apache、Nginx、IIS。


一些使用C/C++开发的开源的http服务器列表在这里:


http://www.oschina.net/project/tag/106?lang=21&os=0&sort=time


Web服务器使用HTTP(超文本传输协议)与客户机浏览器进行信息交流。


2 HTTP协议


超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议,它详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。


HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。如下图所示:



HTTP协议的特点:


支持C/S架构


简单快速:客户向服务器请求服务时,只需传送请求方法和路径,常用方法:GET、POST


灵活:HTTP允许传输任意类型的数据对象


无连接:限制每次连接只处理一个请求


无状态:即如果后续处理需要前面的信息,它必须重传


如何理解HTTP协议的“无连接、无状态”特点:(推荐一篇博客进行了解,这里不做太多介绍)


http://blog.csdn.net/tennysonsky/article/details/44562435


3 HTTPS协议


HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。


超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。


为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。


在实际的编码中,HTTPS并不需要增加多少额外的工作(操作基本和HTTP一样),就可以实现HTTPS通信。


HTTPS和HTTP的区别主要为以下四点:


https协议需要到ca申请证书,一般免费证书很少,需要交费。


http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。

http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。


http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。


4 地址(URL)


URL全称为Unique Resource Location,用来表示网络资源,可以理解为网络文件路径。


URL的格式如下:


http://host[":"port][abs_path]


http://192.168.31.1/html/index


URL的长度有限制,不同的服务器的限制值不太相同,但是不能无限长。


相关文章
|
14天前
|
算法 网络协议 安全
HTTP/2 协议的缺点是什么?
HTTP/2 协议的缺点是什么?
|
14天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
52 3
|
25天前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
49 13
|
18天前
|
传感器 缓存 网络协议
CoAP 协议与 HTTP 协议的区别
CoAP(Constrained Application Protocol)协议是为资源受限的设备设计的轻量级协议,适用于物联网场景。相比HTTP,CoAP具有低功耗、低带宽占用和简单易实现的特点,支持多播通信和无连接的交互模式。
|
23天前
|
开发者
HTTP 协议请求方法的发展历程
【10月更文挑战第21天】
|
23天前
|
安全
HTTP 协议的请求方法
【10月更文挑战第21天】
|
23天前
|
缓存 安全 前端开发
HTTP 协议的请求方法在实际应用中有哪些注意事项?
【10月更文挑战第29天】HTTP协议的请求方法在实际应用中需要根据具体的业务场景和需求,合理选择和使用,并注意各种方法的特点和限制,以确保网络通信的安全、高效和数据的一致性。
|
25天前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
26天前
|
网络协议 前端开发 API
HTTP 和 TCP 协议的应用场景有哪些不同
【10月更文挑战第25天】HTTP(超文本传输协议)和 TCP(传输控制协议)处于网络协议栈的不同层次,各自具有独特的功能和特点,因此它们的应用场景也存在明显的差异。
|
26天前
|
安全 前端开发 JavaScript
利用HTTP协议进行文件上传和下载的常见方法
【10月更文挑战第25天】可以利用HTTP协议方便地实现文件的上传和下载功能,满足不同应用场景下的需求。在实际应用中,还可以根据具体的业务需求和安全要求,对文件上传和下载的过程进行进一步的优化和安全处理。