http笔记
http:超文本传输协议HyperText Transfer Protocol,协议首部有源数据--以插件(内部或外部)方式查询数据
超链接,在文档间转换--根据什么跳转?
web:仅在文档间跳转--与http什么区别?
http/0.9:仅纯文本(超链接)-》ASCII
html:超文本标记语言HyperText Mark Language
client:客户端IE,Firefox,Chrome,Opera,Safari
server:Apache-对应web服务器->httpd;IIS(.net);nginx;lighttpd;thttpd
应用程序服务器:IIS,tomcat(spache,JSP,open source),Websphere(IBM,JSP,commodity),Weblogic(Oracle,JSP,commodity),JBoss(RedHat)
uri:统一资源标示符Uniform Resource Identifier --在全局范围内,唯一标示的路径http:www.baidu.com/question/1.html
url:统一资源定位符Uniform Resource Location --完整的http地址,eg:/question/1.html
web资源/web对象:访问一个文档的一部分,很可能来自不同机器,即不同的主机的内容可以在一个页面显示
http方法:获取资源的方式--
GET最安全访问?
1.0后,POST,PUT远程获取服务器资源
DELETE远程删除服务器资源
HEAD只返回首部不返回主题
TRACE调用一个远程请求来拦截攻击者 OPTIONS第一作用:获取服务器支持的HTTP请求方法;第二作用:用来检查服务器的性能
CONNECTION通过tcp连接监听其他端口来获取信息
MIME:Multipurpose Internet Mail Extension,多用途互联网邮件扩展,
能够讲非文本数据在传输前重新编码为文本格式,接收方也能够反向还原原来的格式,还能够调用相应程序打开此文件
SMTP:Simple Mail Transmission Protocol 简单邮件传输协议--只能纯文本
动态网页:服务器端存储的文档非HTML格式,而是编程语言开发的脚本,脚本接受参数之后在服务器运行一次,运行完成后会生成HTML格式的临时文档,把生成的文档发给客户端(两个相同用户可能访问一个网站结果不同)
包含静态内容和动态内容
缓存机制IP{Source IP;Destination IP}
TCP{Source Port;Destination Port}
HTTP报文:请求报文和响应报文
请求报文语法:<method><request-URL><version> <header>
<entity-body>报文主体
相应报文语法:
<version><status>[状态代码1xx:纯信息,2xx‘成功’类的信息;3xx重定向类的信息(301永久重定向,302临时重定向,304没有发生任何改变);4xx客户端错误类信息;5xx服务器错误信息]<reason-phrase> <header> <entity-body>
HTML静态页面,直接转发文件即可,引用多个web对象,即多个url
flash也是一种语言。
Java,applet ,jre展现动态效果
eg:web:index.php访问执行过程:
web服务器/http服务器->protocol->php(运行index.php)-》生成HTML文档-》转发给web服务器
主要操作:1.建立连接-接收或拒绝客户端连接请求
2.接受请求-通过网络读取HTTP请求报文
3.处理请求-解析请求报文并做出相应的动作
4.访问资源-访问请求报文中相关的资源
5.构建响应-使用正确的首部生成HTTP响应报文
6.发送响应-向客户端发送生成的响应报文
7.记录日志-当已经完成的HTTP事务记录进行日志文件 01:07:17,于2月22号听
http:tcp协议,三次握手,四次断开
web服务器:多进程/多线程:增强并发能力,但很多的则造成服务器压力
在持续管理事务中,使用事件驱动和通知
TCP与UDP:前者面向连接
后者是面向无连接
C/S client agent(browser,spider蜘蛛,扒东西);server
B/S client->request->Server;Server->request-client
代理:Web代理服务器龚作宇web客户端和web服务器之间,它负责接受来自于客户端的http请求,并将其转发至对应的服务;而后接受来自于服务端的响应,并讲响应豹纹回送至客户端。
httpd:web server,Open source,2.x版本的差异性很大
特性:实现创建进程;按需维持适当的进程;模块块设计,核心比较小,各种功能都模块添加(包括php),支持运行配置,支持单独编译模块;支持多种方式的虚拟主机配置;支持http协议(mod_ssl);支持用户认证;支持基于IP或主机名的ACL;支持每目录的访问控制;支持URL重写,
虚拟主机:基于IP、端口、域名的虚拟主机
RedHat(httpd):rpm包,源码编译
httpd:SELinux(事先让其处于permissive,disabled)
httpd命令:
/user/sbin/httpd(MPM:prefork)
httpd:root,root(master process)
httpd:apche,apache(worker process)
/etc/rc.d/init.d/httpd
Port:(80/tcp),(ssl:443/tcp)
/etc/httpd:工作根目录,相当于程序安装目录
/etc/httpd/conf:配置文件目录
主配置文件:httpd.conf
/etc/httpd/conf.d/*.conf
/etc/httpd/modules:模块目录
/etc/httpd/logs-->/var/log/httpd:日志目录
日志文件有两类:访问日志access_log,错误日志:err_log
/var/www/
html
cgi-bin
cgi:Common Gateway Interface
Client-->httpd(index.cgi)-->Spawn Process(index.cgi)-->httpd-->Client
par1,python,java,(Servlet,JSP),php
fastcgi
程序:指令和数据
数据:数据库服务 CPU-bound:cpu密集型
LAMP:linux apache mysql php 01:17:00