TCP 三次握手详情
客户端 -------------------------> 服务端
1 syn
<--------------------
2 syn = syn + 1;ack
---------------------->
3 ack = ack + 1
DNS 服务
本地机器访问一个域名的时候,先查看本地的host文件,windows的host文件一般在 C:\Windows\System32\drivers\etc 目录下,linux系统的host文件一般在 /etc 目录下。如果在本地host文件中没有查到域名的信息,就向远程DNS服务商发起请求。一个比较好的验证方法,利用ping命令。
URL & URI
url:统一资源定位符
uri:统一资源标识符
绝对URI
http://user:[email protected]:80/xxx/index.html?uid=1#ch1
和mysql的驱动很类似:
jdbc:mysql://127.0.0.1:3306/shengqian?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
HTTP 方法
get:请求访问已被URI标识的资源
post:用来传输实体的主体
put:传输文件
head:只返回get方法的头部
delete:删除指定文件
options:询问支持的方法
trace:让web服务器端将之前的请求通信返回给客户端的方法,可以查询请求的加工(在代理中转的地方)
connect:在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信
http 首部
- 首部字段
- 请求首部字段
- Accept:用户代理可处理的媒体类型
- Accept-Charset:优先的字符集
- Accept-Encoding:优先的内容编码
- Accept-Language:优先的语言
- Authrozation:Web认证信息
- Expect:期待服务器的特定行为
- From:用户的电子邮箱地址
- Host:请求资源所在服务器
- If-Match:比较实体标记(ETag)
- If-Modified-Since:比较资源的更新时间
- if-None-Match:比较实体标记(与 If-Match 相反)
- If-Range:资源未更新时发送实体Byte的范围请求
- If-Unmodified-Since:比较资源的更新时间
- Max-Forwards:最大传输逐跳数
- Proxy-Authorization:代理服务器要求客户端的认证信息
- Range:实体的字节范围请求
- Referer:对请求中URI的原始获取方
- TE:传输编码的优先级
- User-Agent:HTTP客户端程序的信息
- 通用首部字段
-
Cache-Control:控制缓存的行为:参数可选,用逗号分隔
* 缓存请求字段
- no-cache:强制向源服务器再次验证
- no-store:不缓存请求或响应的任何内容
- max-age=[秒]:响应的最大Age值
- max-stable():接收已经过期的响应
- min-fresh=[]:期望在指定时间内的响应仍有效
- no-transform:代理不可更改媒体类型
- only-if-cached:从缓存获取资源
- cache-extension:新指令标记(token)
* 缓存响应字段
- public:可向任一方提供响应的缓存
- pricate:仅向特定用户返回响应
- no-cache:缓存前必须先确认其有效性
- no-store:不缓存请求或响应的任何内容
- no-transform:代理不可更改媒体类型
- must-revalidate:可缓存但必须再向源服务器进行确认
- proxy-revalidate:要求中间缓存服务器对缓存的响应有效性再进行确认
- max-age = []:响应的最大Age值
- s-maxage = []:公共缓存服务器响应的最大Age值
- cache-extension:新指令标记(token)
- Connection:逐跳首部、连接的管理
- Date:创建报文的日期
- Pragma:报文指令
- Trailer:报文末端的首部一览
- Transfer-Encoding:指定报文主体的传输编码方式
- Upgrade:升级为其他协议
- Via:代理服务器的相关信息
- Warning:错误通知
- 实体首部字段
- Allow:资源可支持的HTTP方法
- Content-Encoding:实体主体适用的编码方式
- Content-Language:实体主体的自然语言
- Content-Length:实体主体的大小
- Content-Location:替代对应资源的URI
- Content-MD5:实体主体的报文摘要
- Content-Range:实体主体的位置范围
- Content-Type:实体主体的媒体类型
- Expires:实体主体过期的日期时间
- Last-Modified:资源的最后修改日期时间
- 响应首部字段
- Accept-Ranges:是否接受字节范围的请求
- Age:推算资源创建经过时间
- Etag:资源的匹配信息
- Location:令客户端重定向至指定URI
- Proxy-Authenticate:代理服务器对客户端的认证信息
- Retry-After:对再次发起请求的时机要求
- Server:HTTP服务器的安装信息
- Vary:代理服务器存的管理信息
- WWW-Authenticate:服务器对客户端的认证信息