本文介绍: 即 Hypertext Preprocessor超文本预处理器),它是当今 Internet 上最为火热的脚本语言,其语法借鉴了 C、Java、PERL 等语言,但只需要很少的编程知识你就能使用 PHP 建立一个真正交互的 Web 站点。是一种面向对象跨平台动态计算机程序设计语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能添加,越来越多被用于独立的大型项目开发。fraghtml资源片段,譬如html文档过大的时候,frag定位html的一部分

一、http相关概念

 http概述

 

二、http相关技术

     3.1 web开发语言:

  3.1.1.html概述

3.1.2 css:

      定义如何显示(装扮) HTML 元素比如字体大小颜色属性等。样式通常保存外部的 .css 文件中,用于存放一些HTML文件的公共属性,从而通过编辑一个简单的 CSS 文档,可以同时改变站点中所有页面布局外观

3.1.3  javascript

     实现网页动画效果,但实属于静态资源

   3.2 动态网页语言:

  • PHP

即 Hypertext Preprocessor超文本预处理器),它是当今 Internet 上最为火热的脚本语言,其语法借鉴了 C、Java、PERL 等语言,但只需要很少的编程知识你就能使用 PHP 建立一个真正交互的 Web 站点

  • JSP

即 Java Server Pages(Java 服务器页面),它是由 Sun Microsystem 公司于 1999 年 6 月推出的新技术,是基于 Java Servlet 以及整个 Java 体系的 Web 开发技术

是一种面向对象跨平台的动态类计算机程序设计语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能添加,越来越多被用于独立的大型项目开发

   3.3 URI:

   URI:统一资源标识分为URL URN

 三、http协议版本

  1. HTTP/0.9:已过时。只接受 GET 一种请求方法没有在通讯中指定版本号,且不支持请求头。
  2. HTTP/1.0:引入了POST命令和HEAD命令 每个TCP连接只能发送一个请求发送数据完毕,连接关闭,如果还要请求其他资源,就必须再新建一个连接 。这是第一个在通讯中指定版本号的 HTTP 协议版本,至今仍被广泛采用,特别是在代理服务器中。
  3. HTTP/1.1:引入持久连接,即TCP连接默认关闭可以多个请求复用,能很好地配合代理服务器工作。还支持管道方式机制,即在同一个TCP连接里面客户端可以同时发送多个请求,以便降低线路负载提高传输速度

四、http请求访问过程

  4.1.过程

  1. 建立连接

  2. 接收请求

  3. 处理请求

  4. 访问资源

  5. 构建响应报文

  6. 发送响应报文

  7. 记录日志

  4.2 请求报文

 4.2.1 方法

HTTP 方法 描述
GET    服务器资源获取简单请求
PUT 服务提交数据,以修改数据
DELETE 删除服务器上的某些资源
POST   用于发送包含用户提交数据的请求
HEAD   请求页面首部获取资源的元信息

4.2.2 URL:

<scheme&gt;://<user&gt;:<password&gt;@<host&gt;:<port&gt;/<path&gt;;<params>?<query>#<frag>

4.3 响应报文

   4.3.1状态码:

  状态分类
状态码首位 定义范围 分类
1xx 100-101     信息提示
2xx 200-206     成功
3xx 300-305     重定向
4xx 400-415 客户错误
5xx 500-505 服务器错误
  常用状态码:
200 一切正常
301 永久重定向,将缓存记录浏览器中
302 临时重定向没有缓存,每次都要重定向
401 用户名密码错误
403 禁止访问(客户端IP地址拒绝)
404 请求的文件不存在
414 请求URL头部过长
500 服务器内部错误
502 无效网关
503 当前服务不可用
504 网关请求超时

五、常见http服务器程序

六、apache介绍和特点:

1.apache 功能:

2.apache特性

3.MPM multiprocessing module 工作模式

      3.1  prefork进程I/O模型每个进程响应一个请求,CentOS 7 httpd默认模型一个主进程生成回收n个子进程创建接字,不响应请求多个进程工作 work进程,每个子进程处理一个请求;系统初始时,预先生成多个空闲进程等待请求

  •      优点:稳定
  •      缺点:慢,占用资源,不适用于高并发场景

       3.2  worker :是一种多进程和多线程混合的模型,有一个控制进程,启动多个子进程,每个子进程里面包含固定线程使用线程程来处理请求,当线程不够使用时候会再启动一个新的子进程,然后在进程里面启动线程处理请求,由于其使用线程处理请求,因此可以承受更高的并发

    3.3 event事件驱动模型worker模型的变种),CentOS8 默认模型 有专门的监控线程来管理这些keep-alive类型的线程,当有真实请求时,将请求传递给服务线程,执行完毕后,又允许释放。这样增强了高并发场景下的请求处理能力

  • 优点:单线程响应多请求,占据更少的内存,高并发下表现更优秀,会有一个专门的线程来管理keep-alive类型的线程,当有真实请求过来的时候,将请求传递给服务线程,执行完毕后,又允许它释放
  • 缺点:没有线安全控制

七、相关配置文件

7.1 配置文件

   当一台服务器项目过多时,可以把配置不同的子配置文件文件

7.2 站点网页文档根目录

     /var/www/html

7.3 模块文件路径

八、web相关工具

  8.1 wget:

    8.1.1 格式

wget [OPTION]... [URL]...

    8.1.2 常用选项

-q               静默模式
-c               断点续传
-P /path         保存指定目录
-O filename 保   存为指定文件名,filename 为 - 时,发送至标准输出
--limit-rate=    指定传输速率单位K,M等

  8.2 curl:

     curl是基于URL语法命令行方式工作文件传输工具,它支持FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE及LDAP等协议。

   8.2.1 格式

curl [options] [URL...]

   8.2.2 常用选项

-A/--user-agent <string> 设置用户代理发送给服务器
-e/--referer <URL> 来源网址
--cacert <file> CA证书 (SSL)
-k/--insecure   允许忽略证书进行 SSL 连接
--compressed 要求返回压缩格式
-H/--header "key:value自定义首部字段传递给服务器
-i 显示页面内容,包括报文首部信息
-I/--head显示响应报文首部信息
-D/--dump-header <file>将urlheader信息存放在指定文件中
--basic 使用HTTP基本认证
-u/--user <user[:password]>设置服务器的用户密码
-L   如果有3xx响应码,重新发请求到新位置
-O 使用URL中默认的文件名保存文件到本地
-o <file> 将网络文件保存为指定的文件中
--limit-rate <rate> 设置传输速度
-0/--http1.0 数字0,使用HTTP 1.0
-v/--verbose 更详细
-C 选项可对文件使用断点续传功能
-c/--cookie-jar <file name> 将urlcookie存放在指定文件中
-x/--proxy <proxyhost[:port]> 指定代理服务器地址
-X/--request <command> 向服务器发送指定请求方法
-U/--proxy-user <user:password> 代理服务器用户密码
-T 选项可将指定的本地文件上传到FTP服务器上
--data/-d 方式指定使用POST方式传递数据
-s --silent   Silent mode
-b name=data 从服务器响应set-cookie得到值,返回给服务器
-w <format> 显示相应的指定的报文信息,如:%{http_code},%{remote_ip}等
-m, --max-time <time> 允许最大传输时间
-n:总请求数
-c:模拟并发数
-k:以持久连接模式测试

8.3 压力测试工具

   ab命令格式

ab [OPTIONS] URL

选项

-n:总请求数
-c:模拟的并发数
-k:以持久连接模式测试

九、Cookiesession

9.1 Cookie

    Cookie 又称为”小甜饼”。类型为”小型文本文件”,指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。由网景公司的前雇员卢·蒙特利在1993年3月发明

    因为HTTP协议是无状态的,即服务器不知道用户一次做了什么,这严重阻碍了交互式Web应用程序实现。在典型的网上购物场景中,用户浏览了几个页面,买了一盒饼干和两瓶饮料。最后结帐时,由于HTTP的无状态性,不通过额外的手段,服务器并不知道用户到底买了什么,所以Cookie就是用来绕开HTTP的无状态性的”额外手段”之一。服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态

    在上面的购物场景中,当用户选购了第一项商品,服务器在向用户发送网页的同时,还发送了一段Cookie,记录着那项商品的信息。当用户访问另一个页面,浏览器会把Cookie发送给服务器,于是服务器知道他之前选购了什么。用户继续选购饮料,服务器就在原来那段Cookie里追加新的商品信息。结帐时,服务器读取发送来的Cookie就行了。

    Cookie基于HTTP协议,也叫Web Cookie或浏览器Cookie,是服务器发送到用户浏览器并保存在客户端本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。Cookie使基于无状态的HTTP协议记录稳定的状态信息成为可能

9.2 session

   session 将数据信息保存在服务器端,可以是内存,文件,数据库等多种形式,cookie 将数据保存在客户端的内存或文件中

   session中有众多数据,只将sessionID这一项可以通过cookie发送至客户端进行保留,客户端下次访问时,在请求报文中的cookie自动携带sessionID,从而和服务器上的的session进行关联

十、通信接字socket):

10.1 http协议中socket作用 

10.2 套接字调用相关接口

socket() 创建一个套接字
bind() 绑定IP和端口
listen() 监听
accept() 接收请求
connect() 请求连接建立
write()  发送
read() 接收
close() 关闭连接

原文地址:https://blog.csdn.net/2301_78106979/article/details/132418776

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_30270.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注