[Done] HTTP Protocol

[ HTTP Request Msg ]

[ HTTP Response Msg ]

[ HTTP Request Methods ]

序号	方法	描述
1	GET	请求指定的页面信息,并返回实体主体。
2	HEAD	类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
3	POST	向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
4	PUT	从客户端向服务器传送的数据取代指定的文档的内容。
5	DELETE	请求服务器删除指定的页面。
6	CONNECT	HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
7	OPTIONS	允许客户端查看服务器的性能。
8	TRACE	回显服务器收到的请求,主要用于测试或诊断。

 [ HTTP Response Status Code ]

分类	分类描述
1**	信息,服务器收到请求,需要请求者继续执行操作
2**	成功,操作被成功接收并处理
3**	重定向,需要进一步的操作以完成请求
4**	客户端错误,请求包含语法错误或无法完成请求
5**	服务器错误,服务器在处理请求的过程中发生了错误

[ HTTP Headers ]

Reference: http://www.cnblogs.com/Joans/p/3956490.html

Server: nginx/1.6.2
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.101 ...
Accept: text/html, ...
Accept-Encoding: gzip, deflate, ...
Accept-Language: en-US, en; ...
Accept-Ranges: bytes, none
Connection: keep-alive
Host: e.g. www.baidu.com
Referer: 先前网页的地址,当前请求网页紧随其后,即来路。
Location: 主要用于重定向响应。e.g. /login 
Content-Type: text/html; charset=UTF-8 ...
Content-Length / Transfer-Encoding:chunked :响应体的长度
Content-Encoding: gzip
Content-Language: en,zh
Etag: Range / If-Range / Content-Range: 主要用于断点续传。Reference: http://blog.chinaunix.net/uid-20614434-id-2999833.html

Set-Cookie / Cookie: e.g. UserID=JD;Max-Age=3600;Version=1;DCTDCUSessionID=18AB8178; ...
Cache-Control: no-store, no-cache, must-revalidate, max-age=2592000, ...
Expires: resource expire date (time). 
Last-Modified / If-Modified-Since: 
If-None-Match: 
Date, Age: related with proxy and cache 
WWW-Authenticate / Authorization: 
Pragma: no-cache, etc.

[ HTTPS ]

Reference: http://www.guokr.com/post/114121/

1.浏览器将自己支持的一套加密规则发送给网站。
2.网站从中选出一组加密算法与HASH算法,并将自己的身份信息以证书的形式发回给浏览器。证书里面包含了网站地址,加密公钥,以及证书的颁发机构等信息。
3.获得网站证书之后浏览器要做以下工作:
  a) 验证证书的合法性(颁发证书的机构是否合法,证书中包含的网站地址是否与正在访问的地址一致等),如果证书受信任,则浏览器栏里面会显示一个小锁头,否则会给出证书不受信的提示。
  b) 如果证书受信任,或者是用户接受了不受信的证书,浏览器会生成一串随机数的密码,并用证书中提供的公钥加密。
  c) 使用约定好的HASH计算握手消息,并使用生成的随机数对消息进行加密,最后将之前生成的所有信息发送给网站。
4.网站接收浏览器发来的数据之后要做以下的操作:
  a) 使用自己的私钥将信息解密取出密码,使用密码解密浏览器发来的握手消息,并验证HASH是否与浏览器发来的一致。
  b) 使用密码加密一段握手消息,发送给浏览器。
5.浏览器解密并计算握手消息的HASH,如果与服务端发来的HASH一致,此时握手过程结束,之后所有的通信数据将由之前浏览器生成的随机密码并利用对称加密算法进行加密。

 

posted @ 2016-09-19 22:27  Eric.YAO  阅读(64)  评论(0)    收藏  举报