####本次随笔主要是在写爬虫时遇到一些有关http的知识,故借阅一本《图解HTTP》来对http进行初步的了解
>序:HTTP虽然叫做超文本"传输"协议,其实为超文本"转移"协议
1. TCP/IP协议簇是整个互联网相关的各种协议簇的总称。
2. URI和URL:URI是统一资源标识符,URL是统一资源定位符
一:简单的http协议:
发送协议的请求 是 GET
>GET /index.htm HTTP/1.1
>Host: hackr.jp
其返回的是这个文件的资源,get是用来请求访问已被URL识别的资源
POST:用来传输实体的主体,post的目的是为了传输实体的主体,并不是为了获取响应的主题内容
请求
请求 POST /submit.cgi HTTP/1.1
Host: www.hackr.jp
Content-Length: 1560(1560字节的数据)
响应 返回 submit.cgi 接收数据的处理结果
PUT:是用来传递文件的,就像FTP协议的文件上传一样
请求 PUT /example.html HTTP/1.1
Host: www.hackr.jp
Content-Type: text/html
Content-Length: 1560(1560 字节的数据)
响应 1 响应返回状态码 204 No Content(比如 :该 html 已存在于服务器上) 响应1 其实就死响应成功但是不返回数据
DELETE 与 PUT相反,用来删除文件。按照URI指定资源进行删除
请求 DELETE /example.html HTTP/1.1
Host: www.hackr.jp
响应 响应返回状态码 204 No Content(比如 :该 html 已从该服务器上删除)
HEAD:获得报文首部
HEAD 方法和 GET 方法一样,只是不返回报文主体部分。用于确认
URI 的有效性及资源更新的日期时间等。
和 GET 一样,但不返回报文主体
使用 HEAD 方法的请求·响应的例子
请求 HEAD /index.html HTTP/1.1
Host: www.hackr.jp
响应 返回index.html有关的响应首部
使用 OPTIONS 方法的请求·响应的例子
请求 OPTIONS * HTTP/1.1
Host: www.hackr.jp
响应 HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
(返回服务器支持的方法)
CONNECT:要求用隧道协议连接代理
CONNECT 方法要求在与代理服务器通信时建立隧道,实现用隧道协
议进行 TCP 通信。主要使用 SSL(Secure Sockets Layer,安全套接
层)和 TLS(Transport Layer Security,传输层安全)协议把通信内容
加 密后经网络隧道传输。
CONNECT 方法的格式如下所示。
CONNECT 代理服务器名:端口号 HTTP版本
响应的例子:
请求 CONNECT proxy.hackr.jp:8080 HTTP/1.1
Host: proxy.hackr.jp
响应 HTTP/1.1 200 OK(之后进入网络隧道)
使用cookie的状态管理:
原因:http是无状态协议,不会在服务器端存储太多信息,而又要使web页面和服务器端多次交互时让服务端记住用户登录web的状态,这时就引入了一个cookie 用来记住登录状态。
没有cookie
存有cookie的请求
####本次随笔主要是在写爬虫时遇到一些有关http的知识,故借阅一本《图解HTTP》来对http进行初步的了解
>序:HTTP虽然叫做超文本"传输"协议,其实为超文本"转移"协议
1. TCP/IP协议簇是整个互联网相关的各种协议簇的总称。
2. URI和URL:URI是统一资源标识符,URL是统一资源定位符
一:简单的http协议:
发送协议的请求 是 GET
>GET /index.htm HTTP/1.1
>Host: hackr.jp
其返回的是这个文件的资源,get是用来请求访问已被URL识别的资源
POST:用来传输实体的主体,post的目的是为了传输实体的主体,并不是为了获取响应的主题内容
请求
请求 POST /submit.cgi HTTP/1.1
Host: www.hackr.jp
Content-Length: 1560(1560字节的数据)
响应 返回 submit.cgi 接收数据的处理结果
PUT:是用来传递文件的,就像FTP协议的文件上传一样
请求 PUT /example.html HTTP/1.1
Host: www.hackr.jp
Content-Type: text/html
Content-Length: 1560(1560 字节的数据)
响应 1 响应返回状态码 204 No Content(比如 :该 html 已存在于服务器上) 响应1 其实就死响应成功但是不返回数据
DELETE 与 PUT相反,用来删除文件。按照URI指定资源进行删除
请求 DELETE /example.html HTTP/1.1
Host: www.hackr.jp
响应 响应返回状态码 204 No Content(比如 :该 html 已从该服务器上删除)