http协议和httpd的配置

http协议和httpd的配置
来自马哥教育学习笔记

一. URL:Unifrom Resource Locator
URL方案:scheme
服务器地址:ip:port
资源路径:

http://www.magedu.com:80/bbs/index.php,
https://

二. 基本语法:br/>params: 参数
http://www.magedu.com/bbs/hello;gender=f
query:
http://www.magedu.com/bbs/item.php?username=tom&title=abc
frag:
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html-single/Installation_Guide/index.html#ch-Boot-x86
#ch-Boot-x86 就是frag
相对URL
绝对URL

http协议:
http/0.9, http/1.0, http/1.1, http/2.0

http协议:stateless.就是无状态。
    服务器无法持续追踪访问者来源
        cookie, session

三. http事务:
请求:request
响应:response

四. 报文语法格式:
request报文
<method> <request-URL> <version>
<headers>

<entity-body>

response报文
<version> <status> <reason-phrase>
<headers>

<entity-body>

五. method: 请求方法,
标明客户端希望服务器对资源执行的动作
GET、HEAD、POST
version:
HTTP/<major>.<minor>
status:
三位数字,如200,301, 302, 404, 502; 标记请求处理过程中发生的情况;
reason-phrase:
状态码所标记的状态的简要描述;
headers:
每个请求或响应报文可包含任意个首部;每个首部都有首部名称,后面跟一个冒号,而后跟上一个可选空格,接着是一个值;
entity-body:请求时附加的数据或响应时附加的数据;

method(方法):
    GET:从服务器获取一个资源;
    HEAD:只从服务器获取文档的响应首部;
    POST:向服务器发送要处理的数据;
    PUT:将请求的主体部分存储在服务器上;危险方法
    DELETE:请求删除服务器上指定的文档;危险方法
    TRACE:追踪请求到达服务器中间经过的代理服务器;
    OPTIONS:请求服务器返回对指定资源支持使用的请求方法;

        协议查看或分析的工具:
            tcpdump, tshark, wireshark

status(状态码):
    1xx:100-101, 信息提示;
    2xx:200-206, 成功
    3xx:300-305, 重定向
    4xx:400-415, 错误类信息,客户端错误
    5xx:500-505, 错误类信息,服务器端错误

    常用的状态码:
        200: 成功,请求的所有数据通过响应报文的entity-body部分发送;OK
        301: 请求的URL指向的资源已经被删除;但在响应报文中通过首部Location指明了资源现在所处的新位置;Moved Permanently
        302: 与301相似,但在响应报文中通过Location指明资源现在所处临时新位置; Found
        304: 客户端发出了条件式请求,但服务器上的资源未曾发生改变,则通过响应此响应状态码通知客户端;Not Modified
        401: 需要输入账号和密码认证方能访问资源;Unauthorized
        403: 请求被禁止;Forbidden
        404: 服务器无法找到客户端请求的资源;Not Found
        500: 服务器内部错误;Internal Server Error
        502: 代理服务器从后端服务器收到了一条伪响应;Bad Gateway

六. headers:
格式:
Name: Value

Cache-Control:public, max-age=600
Connection:keep-alive
Content-Type:image/png
Date:Tue, 28 Apr 2015 01:43:54 GMT
ETag:"5af34e-ce6-504ea605b2e40"
Last-Modified:Wed, 08 Oct 2014 14:46:09 GMT

Accept:image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:zh-CN,zh;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Host:access.redhat.com
If-Modified-Since:Wed, 08 Oct 2014 14:46:09 GMT
If-None-Match:"5af34e-ce6-504ea605b2e40"
Referer:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html-single/Installation_Guide/index.html
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36

l 首部的分类:

通用首部
请求首部
响应首部
实体首部
扩展首部

l 通用首部:
Date: 报文的创建时间
Connection:连接状态,如keep-alive, close
Via:显示报文经过的中间节点。有代理服务器的话。可以不显示
Cache-Control:控制缓存
Pragma:

l 请求首部:
Accept:通过服务器自己可接受的媒体类型;
Accept-Charset:可以接受的字符集
Accept-Encoding:接受编码格式,如gzip
Accept-Language:接受的语言

Client-IP:
Host: 请求的服务器名称和端口号
Referer:包含当前正在请求的资源的上一级资源;
User-Agent:客户端代理

条件式请求首部:
Expect:
If-Modified-Since:自从指定的时间之后,请求的资源是否发生过修改;
If-Unmodified-Since:
If-None-Match:本地缓存中存储的文档的ETag标签是否与服务器文档的Etag不匹配;
If-Match:

安全请求首部:
Authorization:向服务器发送认证信息,如账号和密码;
Cookie: 客户端向服务器发送cookie
Cookie2:

代理请求首部:
    Proxy-Authorization: 向代理服务器认证

l 响应首部:
信息性:
Age:响应持续时长
Server:服务器程序软件名称和版本

协商首部:某资源有多种表示方法时使用
Accept-Ranges:服务器可接受的请求范围类型
Vary:服务器查看的其它首部列表;

安全响应首部:
Set-Cookie:向客户端设置cookie;
Set-Cookie2:
WWW-Authenticate:来自服务器的对客户端的质询认证表单

l 实体首部:
Allow: 列出对此实体可使用的请求方法
Location:告诉客户端真正的实体位于何处

Content-Encoding:
Content-Language:
Content-Length: 主体的长度
Content-Location: 实体真正所处位置;
Content-Type:主体的对象类型。text/plain等格式

缓存相关:
ETag:实体的扩展标签;
Expires:实体的过期时间;
Last-Modified:最后一次修改的时间

原文地址:http://blog.51cto.com/hyp0535/2320213

时间: 2024-07-30 15:23:05

http协议和httpd的配置的相关文章

linux服务之http协议和httpd的配置(一)

http协议和httpd的配置 URL:Unifrom Resource Locator URL方案:scheme 服务器地址:ip:port 资源路径: http://www.magedu.com:80/bbs/index.php, https:// 基本语法: <scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<fra

linux服务之http协议和httpd的配置(二)

httpd-2.2的常见配置(2) 14.curl命令 curl是基于URL语法在命令行方式下工作的文件传输工具,它支持FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE及LDAP等协议.curl支持HTTPS认证,并且支持HTTP的POST.PUT等方法, FTP上传, kerberos认证,HTTP上传,代理服务器, cookies, 用户名/密码认证, 下载文件断点续传,上载文件断点续传, http代理服务器管道( proxy tunnel

linux服务之http协议和httpd的配置(三)

httpd的基本应用(3) httpd-2.4: 新特性: (1) MPM支持运行为DSO机制:以模块形式按需加载: (2) event MPM生产环境可用: (3) 异步读写机制: (4) 支持每模块及每目录的单独日志级别定义: (5) 每请求相关的专用配置: (6) 增强版的表达式分析式: (7) 毫秒级持久连接时长定义: (8) 基于FQDN的虚拟主机也不再需要NameVirutalHost指令: (9) 新指令,AllowOverrideList: (10) 支持用户自定义变量: (11

[转]配置Apache服务器支持https协议和SSL证书

建立网站时,特别是支付网站和电子商务网站,为了让客户信赖网站,让他们不把我们当做骗子,网站一般会安装SSL,我们访问网站时都是以https开头的,而不是以http开头的.下面是在windows环境下配置Apache服务器支持https协议和SSL证书. 1.配置Apache服务器支持openssl 配置Apache服务器支持https协议和SSL证书,最基本的要求是Apache包含openssl模块.在Windows下面单独安装openssl比较麻烦,最好还是安装那种绑定openssl的apac

如何用过滤器过滤HTTP协议和非HTTP协议编码

在编写web时,最苦恼的事情就是乱码了. 一直没怎么考虑过JSP第一句话中 <%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%> 的ContentType和pageEncoding具体是用做什么的,害自己做了过滤器也老是出现问题. Google下: contentType ------------指定的是JSP页最终 Bro

[Twisted] Protocols协议和Protocol Factories 协议工厂

Protocols 描述了如何异步处理网络事件.Twisted维护了许多协议的实现,如HTTP,Telent,DNS,IMAP.Portocols实现了IProtocol接口, IProtocol包含如下方法: makeConnection:在两个节点中间创建连接.节点通过transport连接. connectionMade:当连接建立时调用. dataReceived:当数据到达时调用. connectionLost:当连接关闭时调用. Protocol Factories Factory用

页面解耦—— 统跳协议和Rewrite引擎

原文: http://pingguohe.net/2015/11/24/Navigator-and-Rewrite.html 解耦神器 —— 统跳协议和Rewrite引擎 Nov 24, 2015 • Gaosboy 题记:天猫App长大了,已经长成了流量以千万计规模的App,当下至少有10个团队在直接维护天猫App.在App长大,团队扩充的过程中解耦是一个永恒的话题,而界面解耦又是App架构的重中之重. 统跳协议是天猫App统一跳转协议,主要负责天猫App界面之间的串联,也就是界面跳转服务.R

JAVA-WEB-Http协议和Tomcat服务器

Http协议和Tomcat服务器 Http协议 1.什么是Http协议 HTTP,超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的 一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为  了提供一种发布和接收HTML页面的方法 2.Http协议的组成 Http协议由Http请求和Http响应组成,当在浏览器中输入网址访问某个网站时, 你的浏览器会将你的请求封装成一个Http请求发送给服务器站点,服务器接收到请     求后会

BLE GAP 协议和 GATT 协议

BLE GAP 协议和 GATT 协议 最近要打算学习 Blufi 协议进行蓝牙配置,其中必然使用 GAP 协议和 GATT 协议,于是进行重新学习一番. BLE 是一个 Bluetooth SIG 组织颁布的协议,对于使用 BLE 我们开发人员,最关注的是 上层的 GAP 协议和 GATT 协议. 1.1 GAP 和 GATT 有什么不同呢? GAP :定义一个 BLE 网络栈的通用拓扑结构. GATT:描述关于如何数据在连接中如何传输的细节. GATT 尤其关注于数据如何被格式化.打包.然后