web基础和http协议

发布于:2024-12-06 ⋅ 阅读:(93) ⋅ 点赞:(0)

web基础和http协议

1 相关名词概念

1.1 web

web:world wide web 全球广域网 万维网

web是一种分布式图形信息系统,需要具备条件:

  1. 强大的网络基础设施
  2. 强大的硬件设备和市场能够接受的价格

web1.0:纯页面模式,单向行为。已淘汰

web2.0:更注重用户的交互,用户即是网站内容的消费者,同时也是网站内容的制造者。

1.2 URL

  • URL:协议+(域名)地址

    • http://
    • https:// 协议(s:加密)

    例:https://www.baidu.com/

  • DNS解析的方式

    • 运营商
    • /etc/hosts:人工配置的域名和ip地址之间的映射关系
    • /etc/resolv.conf:dns服务器的ip地址(bind应用程序,内网解析域名和ip地址之间的关系)
  • 网页:HTML语言编译而成的前端页面,浏览器翻译纯文本格式的文件,便于用户进行浏览。

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

  • 首页:网站在设计时,已经设计好了的,用户打开该站点默认的页面。

  • html:编写网页的超文本的标记语言

    • <title> :定义文档的标题
    • <base> :页面链接的默认地址
    • <meta>: html文档中元数据
    • <script> :客户端的脚本文件
  • 超链接:将网站中的不同页面链接起来,形成一个内部的连接。

  • c/s:client server,app—服务端

  • b/s:browser server,浏览器-----服务器

1.3 静态页面

静态页面特点

  • 文本格式的页面,是一个标准的HTML文件

  • 文本,图像,声音,动画都属于静态页面的内容

  • 没有后台数据库,不能实现交互

  • 访问速度快,更新起来相对比较麻烦,一般用于网站的首页或者是展示型的网站

  • 静态页面的URL是一个固定地址

1.4 动态页面

动态页面特点

  • 网页的URL是不固定的
  • 在动态网站的URL中,一般都有"?"
  • 具有交互性,网页会根据用户的要求和操作进行响应,甚至改变页面的内容
  • 动态页面主要是和数据库进行交互
  • 自动更新,不同时间不同的人看到的页面会发生变化

2 http协议

协议:就是内容信息之间传播的规则和标准

http协议:超文本传输协议,客户端和服务端之间进行数据传输的一种规则。端口号:80

http是应用层的协议,建立在传输层的tcp之上,客户端和服务端之间通过tcp协议建立连接,应用层上使用http协议进行数据传输,通过指定端口来进行通信。

https: 加密的http。加密的超文本传输协议。在数据传输之前要通过证书进行身份验证,验证通过才可以进行数据传输.端口号:443

cookie:浏览器提供的协议功能,cookie的信息不是保存在网站的,而是保存在浏览器本地的一个小文件,主要是保存用户的登录状态和信息,跟踪统计用户访问网站的习惯。

2.1 http建立连接的过程

  1. 客户端和服务端通过tcp协议建立连接,客户端向服务端的80端口发送连接请求

  2. 三次握手的过程

  3. http数据传输:客户端向服务端发送请求(http),服务端进行响应

2.2 请求头和请求体

  • method:客户端的请求方式 get post

    • get:get是客户端向服务端请求的默认方式,请求数据

      • get的请求是可以被缓存的
      • get的请求,请求字段的长度是有限制的
      • get的方式,请求的字段会显示在url中,不太安全
    • post:post是向服务端发送数据,是向服务端添加或者是修改数据

      • post的数据是没有办法进行缓存的
      • post的请求没有长度限制
      • post请求的查询字段在url中是不显示的
  • path:客户端请求的路径

  • scheme:请求的协议(https)

  • accept:客户端请求之后,服务端需要响应客户端,客户端能够接受的数据类型

  • host:显示请求客户端的ip地址

  • proxy-connection:keep-alive 告诉服务端如何对请求连接处理 keepalive

  • keepalive:服务端响应请求,并且传输完数据之后,不要立刻关闭连接,保持连接一段时间(tcp连接),http1.1新增的功能

2.3 响应头和响应体

状态码:指的服务端对客户端请求的响应结果。

  • 1xx:信息提示
  • 2xx:200-206
    • 200:请求成功
  • 3xx:300-305,重定向(页面跳转)
    • 301:永久重定向
    • 302:临时重定向
    • 304:表示访问的是缓存
  • 4xx:400-415,客户端错误
    • 403:客户端没有权限访问服务端的页面
    • 404:客户端请求的页面不存在
  • 5xx:500-505,服务端错误
    • 500 :内部服务器错误
    • 502:网关失效
    • 503:当前服务不可用
    • 504:网关请求超时

如果遇到状态码为500+的问题,从以下三个角度排错:

  • 网络

    • 检查网络连接:确保服务器和客户端之间的网络连接正常。可以使用ping命令检查网络连通性。
    • 检查DNS解析:确保域名能够正确解析到服务器的IP地址。可以使用nslookup或dig命令进行检查。
    • 检查路由器和交换机:确保网络设备没有故障,检查路由表和交换机配置。
    • 检查带宽:确保网络带宽足够,避免因带宽不足导致的服务不可用。
  • 防火墙

    • 检查防火墙规则:确保防火墙没有阻止请求到达服务器。检查入站和出站规则,确保相关端口(如80、443等)是开放的。
    • 检查安全组配置:在云服务提供商(如阿里云等)中,检查安全组配置,确保允许必要的流量通过。
    • 检查防火墙日志:查看防火墙日志,查找是否有异常流量或拒绝连接的记录。
  • 配置文件

    • 检查服务器配置:确保服务器的配置文件(如Nginx等)正确无误。检查监听端口、服务器名称、文档根目录等配置。
    • 检查应用程序配置:确保应用程序的配置文件(如PHP、Python等)正确无误。检查数据库连接、API密钥等配置。
    • 检查日志文件:查看服务器和应用程序的日志文件,查找是否有错误信息或异常记录。日志文件通常位于/var/log目录下。
    • 重启服务:在修改配置文件后,重启相关服务以使更改生效。

网站公告

今日签到

点亮在社区的每一天
去签到