1.Web基础与HTTP协议

文章目录

  • Web基础与HTTP协议
    • Web基础
      • 域名的概念
      • 网页的概念
      • HTML概述
      • Web概述
    • HTTP协议
      • HTTP协议版本
      • HTTP 方法
      • HTTP状态码
      • 请求报文
      • 响应报文

Web基础与HTTP协议

Web基础

域名的概念

  • IP地址不易记忆

  • 早期使用Hosts文件解析域名

    • 主机名称重复
    • 主机维护困难
  • DNS (Domain Name System域名系统)

    • 分布式
    • 层次性
  • 域名

    • 浏览网页时输入的网址
  • HTTP/HTTPS

    • 用来传输网页的通信协议
  • URL

    • 是一种万维网寻址系统

网页的概念

  • 网页

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

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

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

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

    • 超链接是将网站中不同网页链接起来的功能
  • 发布

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

HTML概述

  • HTML文档的结构
    • HTML网页
    • 头部部分
    • 标题部分
    • 主体部分
    • 网页内容,包括文本、图像等
<html>
    <head>
        <titel>第一个页面titel>
    head>
    
    <body>
        <h1>
            hello world
        h1>
    body>
    
html>
  • 网页基本标签
    • 标题标签
    • 行控制相关标签
    • 范围标签
    • 图像标签
    • 超链接标签
    • 特殊符号

Web概述

  • Web (World Wide Web)即全球广域网,也称为万维网
  • 一种分布式图形信息系统
  • 建立在Internet上的一种网络服务

静态网页

  • 静态网页是标准的HTML文件

  • 扩展名是 .htm \ .html

    • 文本、图像、声音、Flash动画、 客户端脚本和ActiveX控件及Java小程序等
  • 是网站建设的基础,早期网站一般都由静态网页制作

  • 没有后台数据库、不含程序和不可交互的网页

  • 相对更新起来比较麻烦,适用于一般更新较少的展示型网站

静态网页特点

  • 每个静态网页都有一个固定的URL,且URL以 .htm 、.html 、.shtmI等常

    见形式为后缀, 而不含有“?”

  • 网页内容一经发布到网站服务器.上,无论是否有用户访问,每个静态网页都是保存在网站服务器上的

  • 静态网页的内容相对稳定,容易被搜索引擎检索

  • 静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难

  • 静态网页的交互性较差,在功能方面有较大的限制

  • 页面浏览速度迅速,过程无需连接数据库,开启页面速度快于动态页面

动态网页

  • 网页URL不固定,能通过后台与用户交互
  • 在动态网页网址中有一个标志性的符号一“?”
  • 常用的语言有PHP、JSP、Python、 Ruby等

动态网页的特点

  • 交互性

    • 网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后Web发展的大势所趋
  • 自动更新

    • 无须手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量
  • 因时因人而变

    • 当不同的时间,不同的人访问同一网址时会产生不同的页面

HTTP协议

HTTP协议是互联网.上应用最为广泛的一种网络协议,设计这个协议的目的是为了发布和接收Web服务器上的HTML页面

HTTP协议版本

http/1.0:纯文本传输,http响应后会立即关闭TCP连接,支持http头部信息(http协议版本号,状态码等)

http/1.1:支持长连接(连接保持,持久连接)和管道机制(在一个TCP连接实现多个http请求和响应)

http/2.0:二进制传输,支持长连接和完全多路复用(在一个TCP连接中同时发送多个请求,且不用按照顺序一一对应);支持网页头部压缩,服务端主动推送

http/3.0:基于UDP协议

HTTP 方法

HTTP支持几种不同的请求命令,这些命令被称为HTTP 方法(HTTP method)。

每条HTTP请求报文都包含一个方法,告诉服务器要执行什么动作,包括:获取一个页面,运行一个网关程序,删除一个文件等。 最常用的获取资源的方法是GET、 POST、 PUT。

HTTP方法 描述
GET 对服务器资源获取的简单请求,可以理解为读取或者下载数据
PUT 向服务器提交数据,以修改数据
DELETE 删除服务器上的某些资源
POST 用于发送包含用户提交数据的请求
HEAD 请求页面的首部,获取资源的元信息
CONNECT 建立特殊的连接隧道
OPTIONS 列出可对资源实行的方法
TRACE 追踪请求 - 响应的传输路径
  1. GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库 的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的

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

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

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

GET和POST 比较

  • GET方法:从指定的服务器上获得数据

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

    • POST请求不能被缓存
    • POST请求不会保存在浏览器的浏览纪录里
    • POsr请求没有长度限制
    • 查询的字符串不会显示在URL中,比较安全

HTTP状态码

当使用浏览器访问某一个URL, 会根据处理情况返回相应的处理状态

状态码首位 已定义范围 分类
1XX 100-101 信息提示,表示目前是协议处理的中间状态,还需要后续的操作
2XX 200-206 成功,报文已经收到并被正确处理
3XX 300-305 重定向,资源位置发生变动,需要客户端重新发送请求
4XX 400-415 客户端错误,请求报文有误,服务器无法处理
5XX 500-505 服务器错误,服务器在处理请求时内部发生了错误
常用状态码 解释
301 永久重定向
302 临时重定向
400 Bad Request 请求错误,客户端发送的请求有语法错误
401 Unauthorized 未授权,账号密码验证有误
403 Forbidden 禁止访问,客户端IP/主机名被拉黑
404 Not Found 资源不存在,请求的URL错误,服务器相对应的路径没有该网页文件
500 Internal Server Error 服务器内部错误,服务端里的应用程序有问题
502 Bad Gateway 错误网关,代理服务器接收到了来自上游服务器的无效响应
503 Service Unavailable 服务不可用,服务器过载或正在维护
504 Gateway Timeout 网关超时,代理服务器无法在规定的时间内收到来自上游服务器的响应
508 Loop Detected 检测到循环,服务器端程序存在死循环

请求报文

  • 请求行:请求行由请求方法、URL以及协议版本三部分组成。
  • 请求头:请求头为请求报文添加了一些附加信息,由“名/值"对组成,每行一对,名和值之间使用冒号分隔。
  • 空行:请求头部的最后会有一个空行,表示请求头部结束,接下来为请求体,这一行非常重要,必不可少。
  • 请求体:请求体是请求提交的参数,GET方法已经在URL中指明了参数,所以提交时没有数据。POST方法提交的参数在请求体中。
请求头 描述
Host 接受请求的服务器地址,可以是IP:端口号,也可以是域名
User- Agent 发送请求的应用程序名称
Connection 指定与连接相关的属性,如Connect ion:Keep-Alive
Accept - Charset 通知服务端可以发送的编码格式
Accept - Encoding 通知服务端可以发送的数据压缩格式
Accept - Language 通知服务端可以发送的语言

响应报文

  • 状态行:状态行由协议版本,状态码,状态码描述三部分组成。
  • 响应头:响应头与请求头部类似,为响应报文添加了一些附加信息。
  • 空行:响应头部的最后会有一个空行,表示响应头部结束。
  • 响应体:服务器返回的相应HTML数据,浏览器对其解析后显示页面。
响应头 描述
Server 服务器应用程序软件的名称和版本
Content -Type 响应正文的类型( 是图片还是二进制字符串)
Content -Lenqth 响应正文长度
Content -Charset 响应正文使用的编码
Content -Encoding 响应正文使用的数据压缩格式
Content - Language 响应正文使用的语言

你可能感兴趣的:(6.Web服务和HTTP,Nginx,前端,http,网络协议)