http基础
常用浏览器
Firefox IE Chrome Opera Safari
TCP三次握手(建立连接)
TCP四次挥手(断开连接)
URI
http://user:pass@www.example.jp:80/dir/index.html?uid=1#ch1 协议 登录信息 服务器地址 端口号 文件路径 查询字符串 片段标识符 协议: 获取访问资源时要指定协议类型 登陆信息: 身份认证 服务器地址: 可以是DNS解析的域名也可以是IPv4地址 端口号: 指定服务器提供Web服务的端口 文件路径: 指定服务器上的文件路径来定位特定资源 查询字符串: 针对已指定的文件路径内的资源,使用查询字符串传入任意参数,获取特定资源 片段标识符: 可以标记处已获取资源中的子资源
Method
1 GET 请求访问已被URI识别的资源 2 POST 传输实体的主体 3 PUT 上传文件 4 HEAD 获得报文的首部 5 DELETE 按请求URI删除指定的资源 6 OPTIONS 查询服务器端支持的HTTP方法种类 7 TRACE 让Web服务器将之前的请求通信环回给客户端 8 CONNECT 在与代理服务器通信时建立隧道
持久连接
keep-alive字段
只要任意一端没有明确提出断开连接,则保持TCP连接状态
为传送大量数据提供服务,减少TCP连接重复建立和断开
状态码
1XX 信息性状态码 接收的请求正在处理
2XX 成功状态码 请求正常处理完毕
3XX 重定向状态码 需要进行附加操作以完成请求
4XX 客户端错误状态码 服务器无法处理请求
5XX 服务器错误状态码 服务器处理请求出错
经常遇到的状态码
200 OK # 表示从客户端发来的请求在服务器端被正常处理了 204 No Content # 表示请求已成功处理,但在返回的响应报文中不含实体的主体部分 206 Partial Content # 表示客户端进行了范围请求,而服务器成功执行了这部分的GET请求 301 Moved Permanently # 永久性重定向 302 Found # 临时性重定向 303 See Other # 表示请求对应的资源存在着另一个URI 304 Not Modified # 表示服务器没有改变的资源 307 Temporary Redirect # 临时重定向 400 Bad Request # 表示请求报文中存在语法错误 401 Unauthorized # 表示发送的请求需要有通过HTTP认证的认证信息 403 Forbidden # 表明对请求资源的访问被服务器拒绝了 404 Not Found # 表明服务器上无法找到请求的资源 500 Internal Server Error # 表明服务器本身发生错误 503 Service Unavailable # 表明服务器处于超负载或正在进行停机维护,现在无法处理请求
代理
代理是一种有转发功能的应用程序,它扮演了位于服务器和客户端“中间人”的角色,接收由客户端发送的请求并转发给服务器,同时也接收服务器返回的响应并转发给客户端
网关
网关是转发其它服务器通信数据的服务器,接收从客户端发送来的请求时,它就像自己拥有资源的源服务器一样对请求进行处理。有时客户端可能都不会察觉,自己的通信目标是一个网关
隧道
隧道是在相隔甚远的客户端和服务器两者之间进行中转,并保持双发通信连接的应用程序
缓存
缓存服务器是代理服务器的一种,当代理转发服务器返回的响应时,代理服务器会保存一份资源的副本,可避免多次从源服务器转发资源
HTTP首部字段
通用首部字段(请求和响应附带) # Cache-Control 控制缓存的行为 # Connection 逐跳首部、连接的管理 # Date 创建报文的日期时间 # Pragma 报文指令 # Trailer 报文末端的首部一览 # Transfer-Encoding 指定报文主体的传输编码方式 # Upgrade 升级为其它协议 # Via 代理服务器的相关信息 # Warning 错误通知 请求首部字段 # Accept 用户代理可处理的媒体类型 # Accept-Charset 优先的字符集 # Accept-Encoding 优先的内容编码 # Accept-Language 优先的语言 # Authorization Web认证信息 # Expect 期待服务器的特定行为 # From 用户的电子邮件地址 # Host 请求资源所在服务器地址 # If-Match 比较实体标记(Etag) # If-Modified-Since 比较资源的更新时间 # If-None-Match 比较实体标记(与If-Match相反) # If-Range 资源未更新时发送实体Byte的范围请求 # If-Unmodified-Since 与If-Modified-Since相反 # Max-Forwards 最大传输逐跳数 # Proxy-Authorization 代理服务器要求客户端的认证信息 # Range 实体的字节范围请求 # Referer 对请求中URI的原始获取方 # TE 传输编码的优先级 # User-Agent HTTP客户端身份 响应首部字段 # Accept-Ranges 是否接受字节范围请求 # Age 推算资源创建经过时间 # Etag 资源的匹配信息 # Location 令客户端重定向至指定URI # Proxy-Authenticate 代理服务器对客户端的认证信息 # Retry-After 对再次发起请求的时机要求 # Server HTTP服务器的安装信息 # Vary 代理服务器缓存的管理信息 # WWW-Authenticate 服务器对客户端的认证信息 实体首部字段 # Allow 资源可支持的HTTP方法 # Content-Encoding 实体主体使用的编码方式 # Content-Language 实体主体的自然语言 # Content-Length 实体主体的大小(单位:字节) # Content-Location 替代对应资源的URI # Content-MD5 实体主体的报文摘要 # Content-Range 实体主体位置范围 # Content-Type 实体主体的媒体类型 # Expires 实体主体过期的日期时间 # Last-Modified 资源的最后修改日期时间