HTTP入门

HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准。通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器上指定端口(默认端口为80)。我们称这个客户端为用户代理程序(user agent)。应答的服务器上存储着一些资源,比如HTML文件和图像。我们称这个应答服务器为源服务器(origin server)
通常,由HTTP客户端发起一个请求,创建一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端的请求。一旦收到请求,服务器会向客户端返回一个状态,比如"HTTP/1.1 200 OK",以及返回的内容,如请求的文件、错误消息、或者其它信息。
HTTP请求
HTTP入门
文章图片
http请求
上图就是一个简单的HTTP请求的内容
HTTP请求的格式

1 请求的动词 路径 协议/版本 2 key1: value1 2 key2: value2 2 key3: value3 2 ... 2 Content-Type: value 2 Host: www.baidu.com 2 User-Agent: curl/7.57.0 3 (回车) 4 要上传的数据

开头的1234表示请求的第几部分,最少三部分
动词有GET(获取) POST(上传) PUT(整体更新) PATH(局部更新) DELETE(删除) HEAD(获取资源元数据) OPTIONS (获取信息)
路径包括查询参数,不包括锚点,如果没有写路径,默认的路径为 /
Content-Type 制定了第四部分的格式
User-Agent 表示发起请求的方式
HOST 代表域名
更多的请求参数可以查看weiki百科
HTTP响应
HTTP入门
文章图片
HTTP响应 【HTTP入门】HTTP响应的格式
1 协议/版本号 状态码 状态解释 2 key1: value1 2 key2: value2 2 Content-Length: 2443 2 Content-Type: text/html 2 ... 3 (回车) 4 要下载的内容

关于响应以下的几点需要解释一下
状态码代表与服务器之间的状态,比较常见的状态码有:
  • 200 表示成功
  • 301 资源永久性转移
  • 302 要求客户端执行临时重定向
  • 403 服务器接到请求,拒绝执行
  • 404 找不到资源
  • 500 通用的错误信息
  • 502 服务器不在线
    其他代码可参考HTTP状态码
使用chrome查看请求与响应
打开 chrome ,打开开发者工具,找到netWork,如下图
HTTP入门
文章图片
network对应位置
在地址栏输入,你想访问的地址,在回车之前先清屏,方便查看.
然后找到你请求的网址,点击打开,查看preview下的数据.里面有response和request信息

HTTP入门
文章图片
点击view source
点击view resource,就可以查看response和request了.
使用curl命令发起请求
curl 是一种发送请求的命令行工具
curl -s -v http://www.baidu.com 默认以GET的方式发起一次http请求,-s代表不显示进度条,-v表示显示一个完整的通信过程,最后边接的就是访问的url
curl -X POST -d "requestData" -s -v http://www.baidu.com发起一次POST请求,-X后接请求类型,-d后接一个请求数据.

    推荐阅读