HTTP协议_笔记
来源:互联网 发布:铁路12306软件下载 编辑:程序博客网 时间:2024/05/14 17:59
参考文章:
http://www.cnblogs.com/EricaMIN1987_IT/p/3837436.html
一般端口号80
HTTP URL格式如下:
http : // host [ : port ] / [ abs_path ] / [;parameters] [?query] #fragment
http默认端口号是80
符号作用十六进制 +URL中+号代表空格%2B/分隔目录和子目录%2F?分隔实际的URL和参数%3F%指定特殊字符%25#代表书签%23&URL中指定的参数间的分隔符%26=URL中指定参数的值%3DHTTP请求:请求行 + 报头 + 正文
请求行格式:method URI http-version CRLF (注意中间以空格分开)
请求方法:
GET 请求获取Request-URI所标识的资源
POST 在Request-URI所标识的资源后附加新的数据,通常用于发送邮件、新闻或用户交互表格,唯一需要在请求中发送正文,需要在content-length指定长度
HEAD 类似于GET,只返回指定文档的首部信息,不包含实际文档内容,通常用来测试超文本链接的正确性、可访问性和最近修改
PUT 请求服务器创建一个资源,并用Request-URI作为其标识
DELETE 请求服务器删除Request-URI所标识的资源
TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断
CONNECT 保留将来使用
OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求
例如:
POST /reg.jsp HTTP/ (CRLF)Accept:image/gif,image/x-xbit,... (CRLF) //首部 = 字段名 冒号 空格 字段值 ,字段名不区分大小写...HOST:www.guet.edu.cn (CRLF)Content-Length:22 (CRLF)Connection:Keep-Alive (CRLF)Cache-Control:no-cache (CRLF)(CRLF) //通过一个空行把首部和正文分隔开user=jeffrey&pwd=1234 //此行以下为提交的数据
HTTP响应:状态行 + 报头 + 正文
状态行格式: http-version status-code reason-phrase(状态码的文本描述) CRLF
状态代码:
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求
常见状态码:
HTTP消息报头包括普通报头、请求报头、响应报头、实体报头
1、普通报头
2、请求报头
1) Accept 用于指定客户端接收哪些类型的信息
2) Accept-Encoding 类似于Accept,用于指定可接受的内容编码
3)Authorization 证明客户端有权查看某个资源
4)Host 指定被请求资源的Internet主机和端口号,发送请求时,该报头域是必须的
5)User-Agent 标识客户程序类型 例如:User-Agent: Mozilla/1.1n (Windows; I; 16bit)
3、响应报头
允许服务器传递不能放在状态行中的附加响应信息
1) Location 重定向接收者到新位置,常用于更换域名的时候
2)Server 包含服务器用来处理请求的软件信息
4、实体报头
1) Content-Encoding 媒体类型。指定正文内容的编码格式。
2) Content-Language 指定描述资源所用的自然语言
3) Content-Type 报文类型,类型后跟"/",然后是子类型,例如 image/gif
4) Last-Modified 资源的最后修改时间
5) Expires
curl常用
参考文章:curl命令使用 http://www.cnblogs.com/wangkangluo1/archive/2012/04/17/2453975.html
-o :抓取页面内容到文件:
curl -o home.html http://www.baidu.com-f :显示错误
curl -f http://www.google.com
-x :指定http访问所使用的proxy服务器及其端口
curl -x 123.45.67.89:1080 http://www.google.com
-D :保存cookie信息到指定文件中
curl -D cookie00.txt http://www.google.comGET模式不需要填option
-d/--data :POST模式
curl -d "user=123&password=456" http://www.testXXX.com/login.cgi
- HTTP协议_笔记
- modbus协议_笔记
- HTTP协议详解_转载
- HTTP协议深入学习_协议主体
- 【网络协议】HTTP协议笔记
- 【网络协议】HTTP协议笔记
- 【网络协议】HTTP协议笔记
- HTTP协议学习笔记
- 《HTTP协议详解》笔记
- HTTP/1.1协议笔记
- http协议学习笔记
- Http协议学习笔记
- http协议学习笔记
- HTTP协议学习笔记
- HTTP RFC 协议 笔记
- HTTP协议笔记
- Http协议笔记
- 学习笔记,HTTP协议
- POJ 1218 THE DRUNK JAILER
- poj 3181 Dollar Dayz(完全背包)
- 我们并不是搬代码的工具
- 21. Spring Boot过滤器、监听器【从零开始学Spring Boot】
- include动作标签和iframe包含的页面数据传入的问题
- HTTP协议_笔记
- EasyDarwin开源流媒体云平台VS调试断点提示“还没有为该文档加载任何符号”的解决办法
- nodejs与mysql的结合
- 22. Spring Boot 拦截器HandlerInterceptor【从零开始学Spring Boot】
- C# 多线程之--任务并行库(1)
- 关于软键盘的遮挡布局问题几点处理
- linux 安装rpm包时遇到error:Failed dependencies解法方法
- 还是太年轻!DWR进一步学习
- java 判断含有中文的字符串的长度