• Web基础与http协议


    HTML相关知识

    1.HTML是什么

    HTML叫做超文本标记语言,是一种规范,也是一种标准,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容。 HTML命令可以说明文字,图形、动画、声音、表格、链接等。

    HTML文件可以使用任何能够生成txt文件的文本编辑器来编辑,生成超文本标记语言文件,只用修改文件名后缀为“.html”或“.htm”即可。
     

    2.HTML格式

     HTML文件最外层由< html> < /html>表示,说明该文件是用HTML语言描述的。在它里面是并列的头标签(< head>)和内容标签(< body>)。

    1. <html>
    2. <head>网页的头部信息head>
    3. <body>网页内容body>

    3.什么是网页

    纯文本格式的文件

    语言:HTML

    翻译器:浏览器来翻译HTML语言

    4.什么是网站

    网站是由多个网页组成,网页的结合体。打开网站之后的结合体就是网站的首页

    5.域名

    域名需要注册,访问网站时输入的网址就是我们说的域名

    6.HTML里面的URL

    万维网的寻址系统(唯一标识)

    7.HTML里面的URI

    www.bilibili.com/ 后面的内容

    为网站的分支内容

    8.超链接

    靠超链接把网站内不容内容组织起来(URI组织起来)

    Web相关知识

    1.web是什么

    world wide web  全球广域网,也就是万维网

    2.Web的种类

    web 1.0(看)

    看,也就是看网页

    web 2.0 (看,交互)

    用户不仅仅可以看,还可以是网页内容的制造者,网站和用户可以双向交流

    静态网页和动态网页

    1.什么是静态网页

    静态页面只是:文本文件,可以修改,一般已 .html .htm保存的文本文件。网站的基础。静态页面和后台数据库没有任何交互

    不包含请求程序

    更新起来比较复杂,一般适用于更新比较少的展示型页面

    2。什么是动态网页

    1.url不是固定的

    2.动态页面的URL当中一般有个?

    3.动态页面:PHP,jsp,python,node.js

    4.动态页面可以自动更新

    5.访问的时间不同,访问的页面内容会发送变化

    http协议

    1.分类

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

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

        http 0.9已淘汰  

        http 1.0   相较以前版本可以支持POST、HEAD方法,支持HTML文件以外的其他类型,但不支持持久连接


       http 1.1   支持持久连接,即在一个TCP连接里面完成多个http请求和响应,但是每个请求和响应是按照顺序一一对应的


      http 2.0   支持完全多路复用,即不光可以在在一个TCP连接里面完成多个http请求和响应,而且请求和响应不用按照顺序一一对应。 ( 也支持压缩,服务端主动推送)


        http 3.0   基于UDP协议 ,最新版本还在初步推广中

    2.介绍

    1.http是一种超文本传输协议,基于tcp协议的应用层传输协议。简单来说就是客户端和服务端之间进行数据传输的一种规则(请求和响应)。

    2.http是应用层上的协议。建立连接是三次握手,端口是四次挥手,建立连接之后,客户端与服务端之间的请求和接受,响应都是通过socket接口来调用tcp协议实现

    3.http:是一种无状态协议,http协议不会对发送的请求和响应进行任何处理。http协议能够处理大量的事务,提高效率。

    http本身无状态,会话保持和缓存的问题。

    3.http工作流程

    客户端:服务端通信过程

    请求---响应的模型

    建立连接: tcp/ip协议与服务器建立连接(三次握手),客户端向服务器的80端口发送连接请求。

    发送请求:一旦连接就建立之后,客户端向服务器发送http请求。

    http请求:由一个请求行和多个头部字段组成。

    请求方式: get post

    服务端处理请求:根据请求和内容进行处理。服务端会读取请求头部的字段,解析参数,处理数据等等

    服务端返回响应:形成一个http响应,响应由一个响应行,包含多个字段。响应内容包含一个重要内容状态码。用于表示服务端对于请求的处理结果。

    HTTP状态码

    状态码首位范围含义
    1xx100-101信息提示
    2xx200-206成功
    3xx300-305重定向
    4xx400-415客户端错误
    5xx500-505服务器错误

    常用状态码的具体含义:

    状态码含义
    200一切正常
    301永久重定向
    302临时重定向
    401用户名或者密码错误
    403禁止访问(客户端IP地址被拒绝)
    404请求文件不存在
    414请求URL头部过长
    500服务器内部错误。比如脚本错误,变成语言语法错误
    502无效网关
    503当前服务不可用,web服务器不能处理HTTP请求,可能是临时超载或者是服务器进行停机维护。
    504网关请求超时。程序执行时间过长导致响应超时,例如程序需要执行20秒,而nginx最大响应等待时间为10秒,这样就会出现超时。

    返回值500解决方法

    1.检查防火墙

    2.检测进程也就是服务器状态

    3.检查端口

    4.检查配置文件。端口号被占用

    传输数据:一旦服务器生成了http响应,会通过之前建立的连接将响应返回给客户端。

    响应当中包含了请求的资源(网页内容)以及其他内容的需要传输的数据(一般是自定义)

    关闭连接:响应发送完成,服务端就会进入连接关闭, http 1.1 time_wait 。 双方还在建立连接,双方之间不再有数据传输。

    一旦有新的请求,连接可以继续使用。160秒 会话保持或者长连接。

    http1.1会一次性获取页面全部资源,然后发起四次挥手。只是不再传输数据。连接没有断开。

    http的请求方式:get,post

    get向服务器发起请求的数据,依照http协议来进行,get就是请求

    请求行

    请求体:

    Accept表示客户端可以接受的数据类型

    Accept-Encoding:客户端可以接受的编码格式,以及数据是否需要压缩

    Accept-Language:客户端可以接受的语言类型

    Cache-Control:数据在本地缓存的时间

    Connection :连接的处理方式,一般都是会话保持

    Host:表示请求的ip和端口号,也可以请求的主机名。

    User-Agent:客户端请求使用的浏览器的信息

    响应头

    响应体

    post

    向服务器发送数据,按照http协议进行,服务器添加数据,post的请求方式会修改服务器上的数据

    get和post的区别

    get的请求可以被缓存,get的请求可以保持在浏览器的cookie中

    get请求长度有限制

    get就是获取数据

    post的请求不能被缓存,也不会保存至浏览器cookie中

    post请求没有长度限制

    请求字符串不会i显示,比较安全

  • 相关阅读:
    【C语言】常见的数据排序算法
    算法学习笔记 4-1 二分算法(Binary-Search):致敬经典,超越经典 与 LeetCode真题(Java)
    java强应用,软引用,弱引用,虚引用的区别
    向日葵远程分辨率过低解决办法
    从零到一,教你搭建「以文搜图」搜索服务(一)
    1.查找存在于数组x但不存在于数组y的元素np.setdiff1d()2.查找两个数组交集以外(不同时存在于两个数组中)的元素np.setxor1d()
    写年度总结报告的注意事项
    关于minizip-ng无法解压unix下压缩的带有文件夹的zip文件
    kafka 使用thrift序列化对象
    【强训22】编程题——找出字符串中第一个只出现一次的字符&小易的升级之路
  • 原文地址:https://blog.csdn.net/qq_51506982/article/details/133749101