Web基础与HTTP协议

目录

1.Web基础

[1.1 域名概述](#1.1 域名概述)

2.网页

[2.1 网页概述](#2.1 网页概述)

[2.2 网页脚本标签](#2.2 网页脚本标签)

[2.3 常用标签](#2.3 常用标签)

[2.4 静态网页与动态网页](#2.4 静态网页与动态网页)

3.HTTP协议

[3.1 HTTP协议概述](#3.1 HTTP协议概述)

[3.2 HTTP方法](#3.2 HTTP方法)

[3.3 GET和POST比较](#3.3 GET和POST比较)

[3.4 HTTP状态码](#3.4 HTTP状态码)

[3.5 HTTP请求流程分析](#3.5 HTTP请求流程分析)


1.Web基础

1.1 域名概述

域名空间结构

域名注册

2.网页

2.1 网页概述

网页

纯文本格式文件
编写语言为HTML
在用户的浏览器中被"翻译"成网页形式显示出来

网站

由一个一个页面构成的,是多个网页的结合体

主页

打开网站后出现的第一个网页称为网站主页(或首页)

域名

浏览网页时输入的网页

HTTP(端口:80) HTTPS(加密|端口:443)

用来传输网页的通信协议

URL

是一种万维网地址系统,就是一条完整的地址,包括HTTP议/HTTPD协议,加上后面域名.

HTML

用来编写网页的超文本标记语言

超链接

是将网站中不同网页链接起来的功能

发布

将制作好的网页上传到服务器供用户访问的过程

HTML文档的结构

1.html网页
2.头部部分
3.标题
4.主体
5.内容

HTML网页

头部部分
标题部分
主体部分
网页内容,包括文本、图像等

2.2 网页脚本标签

2.3 常用标签

头标签中常用标签:
内容标签中常用标签:

2.4静态网页与动态网页

静态网页

在网站设计中,纯粹HTML格式的网页通常被称为"静态网页",静态网页是标准的HTML文件,它的文件扩展名是.htm、.html。

静态网页也可以出现各种动态的效果,如.GIF格式的动画、FLASH、滚动字幕等,这些"动态效果"只是视觉上的.

动态网页

动态网页,是指跟静态网页相对的一种网页编程技术。

动态网页的页面代码虽然没有发生变化,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。

动态网页URL的后缀不是.htm、.html、.shtml、.xml等静态网页的常见网页制作格式,而是以.aspx、.asp、.jsp、.php、.perl、.cgi等形式为后缀。

在动态网页网址中有一个标志性的符号------"?"。

动态网页是基本的html语法规范与Java、PHP、C#等高级程序设计语言、数据库编程等多种技术的融合,以期实现对网站内容和风格的高效、动态和交互式的管理。

凡是结合了HTML以外的高级程序设计语言和数据库技术进行的网页编程技术生成的网页都是动态网页。

动态网页语言

早期的动态网页主要采用通用网关接口 CGI(Common Gateway Interface)技术,虽然 CGI 技术已经发展成熟而且功能强大, 但由于编程困难、效率低下、修改复杂,所以有逐渐被新技术取代的趋势。

目前常用的动态网页编程语言如下:

3.HTTP协议

3.1 HTTP协议概述

HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上服务器信息、实体元信息以及可能的实体内容。

HTTP已经演化出了很多版本,它们中的大部分都是向下兼容的。

3.2 HTTP方法

HTTP支持几种不同的请求命令,这些命令被称为 HTTP 方法(HTTP method)。每条 HTTP 请求报文都包含一个方法, 告诉服务器要执行什么动作,包括:获取一个页面,运行一个网关程序,删除一个文件等。最常用的获取资源的方法是 GET、POST、PUT。

GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。

与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。

POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容。几乎目前所有的提交操作都是用POST请求的。

DELETE请求顾名思义,就是用来删除某一个资源的,该请求就像数据库的delete操作

3.3 GET和POST比较

GET 方法:

从指定的服务器上获得数据
GET请求能被缓存
GET请求会保存在浏览器的浏览纪录里
GET请求有长度的限制
主要用于获取数据
查询的字符串会显示在URL后缀中,不安全,比如 http://www.test.com/a.php?Id=123

POST 方法:

提交数据给指定服务器处理
POST请求不能被缓存
POST请求不会保存在浏览器的浏览纪录里
POST请求没有长度限制
查询的字符串不会显示在URL中,比较安全

3.4 HTTP状态码

HTTP 状态码(HTTP Status Code)是用以表示网页服务器 HTTP 响应状态的 3 位数字代码,当浏览器请求某一 URL 时,服务器根据处理情况返回相应的处理状态。
通常正常的状态码为2xx,3xx(如200),如果出现异常会返回4xx,5xx(如404)。

|-----------|-------------|-----------|
| 状态码首位 | 已定义范围 | 分类 |
| 1xx | 100-101 | 信息提示 |
| 2xx | 200-206 | 成功 |
| 3xx | 300-305 | 重定向 |
| 4xx | 400-415 | 客户端错误 |
| 5xx | 500-505 | 服务器错误 |

HTTP常见状态码:

3.5 HTTP请求流程分析

用户在浏览器输入URL访问时,发起HTTP请求报文,请求中包括请求行、请求头、请求体,服务器收到请求后返回响应报文,包括状态行、响应头、响应体。

请求报文

请求行: 请求行由请求方法、URL 以及协议版本三部分组成。

请求头: 请求头为请求报文添加了一些附加信息,由"名/值"对组成,每行一对,名和值之间使用冒号分隔。

空行: 请求头部的最后会有一个空行,表示请求头部结束,接下来为请求体,这一行非常重要,必不可少。

请求体: 请求体是请求提交的参数,GET 方法已经在 URL 中指明了参数,所以提交时没有数据。POST 方法提交的参数在请求体中。

常用的请求头:

响应报文:

状态行: 状态行由协议版本,状态码,状态码描述三部分组成。
响应头: 响应头与请求头部类似,为响应报文添加了一些附加信息。
空行: 响应头部的最后会有一个空行,表示响应头部结束。
响应体: 服务器返回的相应 HTML 数据,浏览器对其解析后显示页面。

常见响应头:

相关推荐
hakesashou1 小时前
Python中常用的函数介绍
java·网络·python
C++忠实粉丝1 小时前
计算机网络socket编程(4)_TCP socket API 详解
网络·数据结构·c++·网络协议·tcp/ip·计算机网络·算法
九州ip动态1 小时前
做网络推广及游戏注册为什么要换IP
网络·tcp/ip·游戏
Estar.Lee1 小时前
时间操作[取当前北京时间]免费API接口教程
android·网络·后端·网络协议·tcp/ip
蝶开三月1 小时前
php:使用socket函数创建WebSocket服务
网络·websocket·网络协议·php·socket
G丶AEOM2 小时前
SSL/TLS,SSL,TLS分别是什么
网络·网络协议·网络安全
儒道易行2 小时前
【DVWA】RCE远程命令执行实战
网络·安全·网络安全
Koi慢热3 小时前
路由基础(全)
linux·网络·网络协议·安全
hzyyyyyyyu4 小时前
内网安全隧道搭建-ngrok-frp-nps-sapp
服务器·网络·安全