文章目录
web基础和http协议
1 相关名词概念
1.1 web
web:world wide web 全球广域网 万维网
web是一种分布式图形信息系统,需要具备条件:
- 强大的网络基础设施
- 强大的硬件设备和市场能够接受的价格
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建立连接的过程
客户端和服务端通过tcp协议建立连接,客户端向服务端的80端口发送连接请求
三次握手的过程
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目录下。
- 重启服务:在修改配置文件后,重启相关服务以使更改生效。