http的相关概念
-
互联网:是网络的网络,是所有类型网络的母集
-
因特网:世界上最大的互联网网络。即因特网概念从属于互联网概念。习惯上,大家把连接在因特网上的计算机都成为主机。
-
万维网:数据库
-
URL:万维网使用统一资源定位符。描述了一个资源在服务器上的具体的位置,http软件默认的根的位置在 /var/www/html
-
HTTP:超文本传输协议(通过这个协议可以传输图片,视频,小程序)
apach,nginx,tomcat是用HTTP传输协议
-
HTML:它描述了超文本页面,用各种“标签”定义文字、图片等资源和排版布局,最终由浏览器“渲染”出可视化页面。
HTTP请求访问的完整过程
-
建立连接
-
接收请求
-
处理请求
-
访问资源
-
构建响应报文
-
发送响应报文
-
记录日志
1.建立连接
三次握手
2.接收请求
接收客户端请求报文中对某资源的一次请求的过程
3.处理请求
对应到配置文件处理请求
常用的请求:GET(下载),POST(上传),HEAD(测试信息),PUT(上传),DELETE,TRACE,OPTIONS
4.访问资源
服务器获取请求报文中请求的资源web服务器,即存放了web资源的服务器,负责向请求者提供对方请求的静态资源,或动态运行后生成的资源
静态资源:不需要服务器二次加工处理,直接将文件交给客户端
txt,jpg,视频
动态资源:需要服务器二层加工处理后,将加工后的结果传给客户端
php,java,python
我们的web软件(apache,nginx)不太擅长处理动态资源
5.构建响应报文
方法 | 含义 |
---|---|
GET | 获取资源 |
HEAD | 获取报文首部 |
POST | 传输实体主体(比如传输 用户名密码) |
PUT | 上传文件 |
PATCH | 对资源进行部分修改 |
DELETE | 删除文件 |
OPTIONS | 查询支持的方法(查看服务端可以支持哪些方法) |
CONNECT | 要求在与代理服务器通信时建立隧道(类似加密) |
TRACE | 追踪路径 |
6.发送响应报文
7.记录日志
最后,当事务结束时,Web服务器会在日志文件中添加一个条目,来描述已执行的事务
HTTP工作机制
事务:操作的集合
一次http事务包括:
http请求
http响应
提高HTTP连接性能:
-
并行连接:同时最多下4个资源,一次三次握手
-
持久连接(长连接):一次三次握手,下载多个资源
-
管道化连接:通过共享TCP连接,发起并发的HTTP请求
-
复用的连接:交替传送请求和响应报文(实验阶段
持久连接(长连接)如何断开:
1.到时间了自动断开
2.规定下载的个数,完成后就断开
http的文件夹的位置
主进程:/usr/sbin/httpd
主配置文件: /etc/httpd
主配置文件:/etc/httpd/conf/httpd.conf
日志文件:/bat/log/httpd/access.log 成功的日志 error_log 错误的日志
主站点文件夹:/var/www/html/
后期如遇到大量改动配置文件
http -t 检测你懂配置文件是否有格式,语法,拼写错误
改完配置文件记得重启httpd服务
HTTP的版本
http0.9:只有下载(get)
http1.0:有下载(get)和上传(put),不支持持久连接
http1.1:有下载和上传,支持持久连接
http的状态码
状态码:
1xx:100-101 信息提示
2xx:200-206 成功
3xx:300-307 重定向
4xx:400-415 错误类信息,客户端错误
5xx:500-505 错误类信息,服务器端错误
常用的状态码:
200 OK 请求成功(其后是对GET和POST请求的应答文档) 301 Moved Permanently 请求的永久页面跳转,永久重定向,缓存在你的主机上 302 临时重定向,服务器会再次解析 307 浏览器内部重定向 403 Forbidden 禁止访问该页面 404 Not Found 服务器无法找到被请求的页面 500 Internal Server Error 内部服务器错误 502 Bad Gateway 无效网关 503 Service Unavailable 当前服务不可用 504 Gateway Timeout 网关请求超时
4开头的状态码
400 Bad Request 客户端请求的语法错误,服务器无法理解 401 Unauthorized 请求要求用户的身份认证 402 Payment Required 保留,将来使用 403 Forbidden 服务器理解请求客户端的请求,但是拒绝执行此请求 404 Not Found 服务器无法根据客户端的请求找到资源(网页) 。通过此代码,网站设计人员可设置’您所请求的资源无法找到"的个性页面 405 Method Not Alowed 客户端请求中的方法被禁止 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似, 但请求者应当使用代理进行授权 408 Request Time-out 服务器等待客户端发送的请求时间过长,超时 409 Conflict 服务器完成客户端的PUT请求是可能返回此代码,服务器处理请求时发生了冲突 410 Gone 客户端请求的资源已经不存在。410不同于404, 如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息 412 Precondition Failed 客户端请求信息的先决条件错误 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务Large器暂时无法处理,则会包含-个Retry-After的响应信息 414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务 器无法处理 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式 416 Requested range not satisfiable 客户端请求的范围无效 417 Expectation Failed 服务器无法满足Expect的请求头信息
5开头的状态码
500 Internal Server Error 服务器内部错误 ,无法完成请求 501 Not Implemented 服务器不支持请求的功能,无法完成请求 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求 503 Service Unavailable 由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中 504 Gateway Time-out 充当网关或代理的服务器,未及时从远端服务器获取请求 505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理