IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> HTTP协议与网站开发 -> 正文阅读

[网络协议]HTTP协议与网站开发

1. Web服务中的常用术语

- 客户端:用户主机上运行并连接到互联网的应用程序,一般而言是指浏览器;

- 服务:服务主要接受和处理来自互联网的请求。服务一般部署在某台服务器上,监听某个端口,等待用户请求;

- 域名:用于标识一个或多个IP地址;

- IP:互联网协议地址;

- DNS:域名系统服务,主要用于网络域名与IP地址的相互转换;

- ISP :互联网服务提供商;

- TCP/IP:传输控制协议、网际协议,是当前互联网使用的主要通信协议;

1.1 HTTP 协议

HTTP 协议,即超文本传输协议,是一个客户端终端(用户)和服务器端(网站)请求和应答的标准。HTTP 协议定义 Web 客户端如何从 Web 服务器请求 Web 页面,以及服务器如何把 Web 页面传送给客户端。

HTTP 协议有如下特点:

简单快速:客户向服务器请求服务时,只需传送请求方法和路径。由于 HTTP 协议简单,使得 HTTP 服务器的程序规模小,因而通信速度很快;

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

无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间;

无状态:HTTP 协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

1.1.1 HTTP 常见请求

在 HTTP/1.1 协议中共定义了八种方法(也叫 “动作”)来以不同方式操作指定的资源,目前我们比较常见和常用的有以下四个:

GET 请求:向指定的资源发出 “显示 “请求。使用 GET 方法应该只用在读取数据,而不应当被用于产生 “副作用” 的操作中。一般在浏览器中直接敲击 URL 并按回车键是执行的 GET 请求;

POST 请求:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和 / 或已有资源的修改;

PUT 请求:从客户端向服务器传送的数据取代指定的文档的内容;

DELETE 请求:请求服务器删除指定的页面。

这四种请求和数据的增删改查(CRUD) 可以看成是相对应的,一般在设计 URL 接口时,也会默认使用这样特性,让 GET 请求对应查询数据、POST 请求对应数据的新增等等,这样的接口设计出来才会具备良好的 Restful 风格。

1.1.2 HTTP 状态码

HTTP 请求通常会返回一个状态码,常见的 HTTP 状态码有:

2xx:正确类。表示用户请求被正确接收、理解和处理;

  • 200 - 请求成功;

3xx:重定向类。表示没有请求成功,必须采取进一步的动作;

  • 301 - 资源(网页等)被永久转移到其它 URL;
  • 302 - 资源临时移动,资源只是临时被移动,客户端应继续使用原有 URI ;

4xx:客户端错误。表示客户端提交的请求包含语法错误或不能正确执行;

  • 400 - 往往是 Bad Request 错误。是指请求的方法不对;
  • 401 - 用户没有访问权限,需要进行身份认证;
  • 403 - 禁止访问;
  • 404 - 资源不存在,Not Found 错误;

5xx:服务端错误。一般是说明服务器出现了问题;

  • 503 - 服务端错误,一般是服务器内部处理异常。

2. 网站运行原理

在了解上面这些基本术语后,我们介绍下当在浏览器中敲下 www.baidu.com这个URL,到百度返回给我们搜索首页,这个过程中究竟发生了哪些事情?

  • 解析输入 URL 中包含的信息,比如 HTTP 协议和域名 (baidu.com);
  • 客户端先检查本地是否有对应的 IP 地址,若找到则返回响应的 IP 地址。若没找到则请求在 ISP 的 DNS服务器上。如果还没找到,则请求会被发向根域名服务器,直到找到对应的 IP 地址;
  • 浏览器在 DNS 服务器中找到对应域名的 IP 地址,然后结合 URL 中的端口(没有指明端口则使用默认端口,HTTP 协议的默认端口是80,HTTPS 的默认端口是 443) 组成新的请求 URL,并与百度的 Web 服务建立 TCP 连接;
  • 浏览器根据用户操作向百度的 Web 服务器发送 HTTP 请求;
  • Web 服务器接收到该请求后会根据请求的路径查找对应的 Web 资源并返回;
  • 最后客户端浏览器将这些返回的 Web 信息 (包括图片、HTML 静态页面,JS
    等)组织成用户可以查看的网页形式,最后就得到了我们熟悉的那个 百度一下,你就知道 的搜索主页了。
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-08 12:07:15  更:2021-10-08 12:07:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年9日历 -2024/9/29 8:28:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码